From 0544362d7659093b7f0b4f89ee8f68023fd269c3 Mon Sep 17 00:00:00 2001 From: Deploy Date: Mon, 31 Aug 2026 02:03:41 +0000 Subject: [PATCH 1/5] Preregister AV-EXP-001 real repository shadow benchmark --- .../av-exp-001/preregistration-v1/README.md | 30 ++++ .../candidate-evaluation.md | 43 ++++++ .../preregistration-v1/catalog.json | 31 ++++ .../preregistration-v1/environment.json | 34 +++++ .../preregistration-v1/manifest.json | 24 ++++ .../preregistration-v1/native-selector.json | 18 +++ .../preregistration-v1/patches/AVS-001.patch | 13 ++ .../preregistration-v1/patches/AVS-002.patch | 13 ++ .../preregistration-v1/patches/AVS-003.patch | 13 ++ .../preregistration-v1/patches/AVS-004.patch | 13 ++ .../preregistration-v1/patches/AVS-005.patch | 13 ++ .../preregistration-v1/patches/AVS-006.patch | 12 ++ .../preregistration-v1/patches/AVS-007.patch | 12 ++ .../preregistration-v1/patches/AVS-008.patch | 13 ++ .../preregistration-v1/patches/AVS-009.patch | 26 ++++ .../preregistration-v1/patches/AVS-010.patch | 13 ++ .../av-exp-001/preregistration-v1/policy.json | 50 +++++++ .../preregistration-v1/preregistration.json | 114 +++++++++++++++ .../preregistration-v1/scenarios.json | 133 ++++++++++++++++++ 19 files changed, 618 insertions(+) create mode 100644 benchmark/av-exp-001/preregistration-v1/README.md create mode 100644 benchmark/av-exp-001/preregistration-v1/candidate-evaluation.md create mode 100644 benchmark/av-exp-001/preregistration-v1/catalog.json create mode 100644 benchmark/av-exp-001/preregistration-v1/environment.json create mode 100644 benchmark/av-exp-001/preregistration-v1/manifest.json create mode 100644 benchmark/av-exp-001/preregistration-v1/native-selector.json create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-001.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-002.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-003.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-004.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-005.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-006.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-007.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-008.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-009.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/patches/AVS-010.patch create mode 100644 benchmark/av-exp-001/preregistration-v1/policy.json create mode 100644 benchmark/av-exp-001/preregistration-v1/preregistration.json create mode 100644 benchmark/av-exp-001/preregistration-v1/scenarios.json diff --git a/benchmark/av-exp-001/preregistration-v1/README.md b/benchmark/av-exp-001/preregistration-v1/README.md new file mode 100644 index 0000000..684dc64 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/README.md @@ -0,0 +1,30 @@ +# AV-EXP-001 preregistration v1 + +Experiment: **Minimum Defensible Verification — Real Repository Shadow +Calibration** + +Status at publication: `PREREGISTERED`; no comparative scenario result had +been observed. + +This directory freezes the first real-repository Affected Verification +calibration before the change corpus is executed. The target is Zustand at +exact revision `b57db4f86ef179285da216eeb291266da82c361c`. The target remains +read-only upstream and is materialized only in a disposable local clone. + +The full catalog is authoritative for every scenario. Affected Verification +and the native Vitest selector only predict plans. Neither selector accepts or +rejects a scenario, and no real CI or branch protection is changed. + +Files in this directory are immutable experiment inputs: + +- `preregistration.json`: question, arms, metrics, oracle, analysis, and stops; +- `candidate-evaluation.md`: objective selection and rejection record; +- `environment.json`: target, toolchain, host class, and frozen file hashes; +- `catalog.json`: content-addressed full verification universe; +- `native-selector.json`: exact Vitest related-selection contract; +- `policy.json`: Affected Verification evidence and escalation policy; +- `scenarios.json`: scenario identities and materialization metadata; +- `patches/`: compact public-safe patches against the pinned target. + +Any harness defect discovered after publication requires a new versioned +preregistration directory. Results may not rewrite this directory. diff --git a/benchmark/av-exp-001/preregistration-v1/candidate-evaluation.md b/benchmark/av-exp-001/preregistration-v1/candidate-evaluation.md new file mode 100644 index 0000000..7fa3bc4 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/candidate-evaluation.md @@ -0,0 +1,43 @@ +# Candidate evaluation + +Evaluation occurred from public source and workflow metadata before any +comparative change-corpus execution. + +## Required criteria + +The target had to be public, permissively licensed, exactly pinnable, +lockfile/toolchain identified, credential- and paid-service-free for the local +catalog, locally bounded, explicitly enumerable, large enough for test-file +selection, inspectable for source-to-test relationships, and equipped with a +native affected-test mechanism. + +## Selected: pmndrs/zustand + +- URL: `https://github.com/pmndrs/zustand.git` +- revision: `b57db4f86ef179285da216eeb291266da82c361c` +- license: MIT +- toolchain: Node LTS workflow, pnpm `11.3.0`, `pnpm-lock.yaml`, Vitest `4.1.10` +- primary CI catalog: format, TypeScript, ESLint, Vitest specs, and build +- collection: 13 Vitest files and 224 test cases without executing tests +- native arm: Vitest `related` using the frozen changed paths + +Zustand was selected because its primary CI workflow gives a clear, bounded +five-class verification catalog and its native selector operates on the same +test framework. This criterion does not encode or anticipate a favorable +reduction result. + +## Rejected alternate: reduxjs/redux + +Inspected revision `71606661ac515bdd64c199a6bb508401c7cf736f`. MIT source, +Yarn `4.4.1`, Vitest, and 12 runtime test files were suitable, but the +authoritative workflow also spans multiple Node and TypeScript-version +matrices plus package artifact checks. That makes a defensible first local +catalog boundary less compact than Zustand's. + +## Rejected alternate: immerjs/immer + +Inspected revision `061c2425e1c9dff89e4e4189d42af1b7839dfe0a`. MIT source, +Yarn lockfile, and Vitest were suitable, but the full test entrypoint couples +source tests, built-artifact tests, and Flow, while a separate workflow runs a +performance suite. The toolchain and catalog boundary are therefore less +direct for the first bounded calibration. diff --git a/benchmark/av-exp-001/preregistration-v1/catalog.json b/benchmark/av-exp-001/preregistration-v1/catalog.json new file mode 100644 index 0000000..6d4fc27 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/catalog.json @@ -0,0 +1,31 @@ +{ + "schema": "opsle.affected-verification.verification-catalog.v1", + "target_commit": "b57db4f86ef179285da216eeb291266da82c361c", + "complete": true, + "source": { + "workflow": ".github/workflows/test.yml", + "package_manifest": "package.json", + "test_collection": "pnpm exec vitest list --json=", + "collection_count": 224 + }, + "checks": [ + {"id":"test:tests/basic.test.tsx","type":"unit-test","target":"tests/basic.test.tsx","invocation":"pnpm exec vitest run tests/basic.test.tsx","test_executions":22,"scope":["src/index.ts","src/traditional.ts"],"tags":["test"]}, + {"id":"test:tests/devtools.test.tsx","type":"unit-test","target":"tests/devtools.test.tsx","invocation":"pnpm exec vitest run tests/devtools.test.tsx","test_executions":64,"scope":["src/middleware.ts","src/vanilla.ts"],"tags":["test"]}, + {"id":"test:tests/immer.test.tsx","type":"unit-test","target":"tests/immer.test.tsx","invocation":"pnpm exec vitest run tests/immer.test.tsx","test_executions":5,"scope":["src/index.ts","src/middleware/immer.ts","src/vanilla.ts"],"tags":["test"]}, + {"id":"test:tests/middlewareTypes.test.tsx","type":"unit-test","target":"tests/middlewareTypes.test.tsx","invocation":"pnpm exec vitest run tests/middlewareTypes.test.tsx","test_executions":26,"scope":["src/index.ts","src/middleware.ts","src/middleware/immer.ts","src/vanilla.ts"],"tags":["test"]}, + {"id":"test:tests/persistAsync.test.tsx","type":"unit-test","target":"tests/persistAsync.test.tsx","invocation":"pnpm exec vitest run tests/persistAsync.test.tsx","test_executions":26,"scope":["src/index.ts","src/middleware.ts","src/vanilla.ts"],"tags":["test"]}, + {"id":"test:tests/persistSync.test.tsx","type":"unit-test","target":"tests/persistSync.test.tsx","invocation":"pnpm exec vitest run tests/persistSync.test.tsx","test_executions":22,"scope":["src/index.ts","src/middleware.ts"],"tags":["test"]}, + {"id":"test:tests/shallow.test.tsx","type":"unit-test","target":"tests/shallow.test.tsx","invocation":"pnpm exec vitest run tests/shallow.test.tsx","test_executions":6,"scope":["src/index.ts","src/shallow.ts","src/traditional.ts"],"tags":["test"]}, + {"id":"test:tests/ssr.test.tsx","type":"unit-test","target":"tests/ssr.test.tsx","invocation":"pnpm exec vitest run tests/ssr.test.tsx","test_executions":2,"scope":["src/index.ts"],"tags":["test"]}, + {"id":"test:tests/subscribe.test.tsx","type":"unit-test","target":"tests/subscribe.test.tsx","invocation":"pnpm exec vitest run tests/subscribe.test.tsx","test_executions":12,"scope":["src/index.ts","src/middleware.ts"],"tags":["test"]}, + {"id":"test:tests/types.test.tsx","type":"unit-test","target":"tests/types.test.tsx","invocation":"pnpm exec vitest run tests/types.test.tsx","test_executions":7,"scope":["src/index.ts","src/middleware.ts"],"tags":["test"]}, + {"id":"test:tests/vanilla/basic.test.ts","type":"unit-test","target":"tests/vanilla/basic.test.ts","invocation":"pnpm exec vitest run tests/vanilla/basic.test.ts","test_executions":10,"scope":["src/vanilla.ts"],"tags":["test"]}, + {"id":"test:tests/vanilla/shallow.test.tsx","type":"unit-test","target":"tests/vanilla/shallow.test.tsx","invocation":"pnpm exec vitest run tests/vanilla/shallow.test.tsx","test_executions":13,"scope":["src/shallow.ts"],"tags":["test"]}, + {"id":"test:tests/vanilla/subscribe.test.tsx","type":"unit-test","target":"tests/vanilla/subscribe.test.tsx","invocation":"pnpm exec vitest run tests/vanilla/subscribe.test.tsx","test_executions":9,"scope":["src/middleware.ts","src/vanilla.ts"],"tags":["test"]}, + {"id":"check:format","type":"other","target":"repository","invocation":"pnpm run test:format","test_executions":0,"scope":["*"],"tags":["format","non-test-required"]}, + {"id":"check:typecheck","type":"typecheck","target":"repository","invocation":"pnpm run test:types","test_executions":0,"scope":["*"],"tags":["typecheck","non-test-required"]}, + {"id":"check:lint","type":"lint","target":"repository","invocation":"pnpm run test:lint","test_executions":0,"scope":["*"],"tags":["lint","non-test-required"]}, + {"id":"check:build","type":"build","target":"repository","invocation":"pnpm run build","test_executions":0,"scope":["*"],"tags":["build","non-test-required"]} + ], + "identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914" +} diff --git a/benchmark/av-exp-001/preregistration-v1/environment.json b/benchmark/av-exp-001/preregistration-v1/environment.json new file mode 100644 index 0000000..e33482f --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/environment.json @@ -0,0 +1,34 @@ +{ + "schema": "opsle.affected-verification.benchmark-environment.v1", + "target": { + "url": "https://github.com/pmndrs/zustand.git", + "commit": "b57db4f86ef179285da216eeb291266da82c361c", + "license": "MIT" + }, + "host": { + "os": "Linux", + "kernel": "6.8.0-136-generic", + "architecture": "x86_64", + "logical_cpus": 8, + "memory_kib": 32865100 + }, + "toolchain": { + "node": "24.20.0", + "pnpm": "11.3.0", + "vitest": "4.1.10", + "typescript": "6.0.3", + "eslint": "9.39.4", + "prettier": "3.9.6", + "rollup": "4.62.4" + }, + "frozen_target_files": { + "pnpm-lock.yaml": "sha256:8df91da3f67633114f74632e132ee8e6cb37efb207f14cf4bbeba0ab0d60746f", + "package.json": "sha256:66c10be1445b353f73151396fa4c13f43731d501fe8d849abac92731cb668f44", + "vitest.config.mts": "sha256:153ba151198995019e3628dcc086cd9a11809ecdc387dfcd8d46b98a88fc10eb", + "tsconfig.json": "sha256:5ff1459b4039f46e2948b8f7a750c760fc5ee9348f8d7a604bec77d979ac1179", + "eslint.config.mjs": "sha256:968e0a6153994e03ea856566953598839b7382b579e551e22d33796bfea31d7f", + "rollup.config.mjs": "sha256:c9895310561f3d9933ff9b780cb54bc5098ee1a9522dfc2ca08861c8ec429faf" + }, + "install": "corepack pnpm install --frozen-lockfile", + "timing_semantics": "Wall-clock duration is OBSERVED telemetry and is excluded from semantic result identities." +} diff --git a/benchmark/av-exp-001/preregistration-v1/manifest.json b/benchmark/av-exp-001/preregistration-v1/manifest.json new file mode 100644 index 0000000..6e23ba4 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/manifest.json @@ -0,0 +1,24 @@ +{ + "schema": "opsle.affected-verification.preregistration-manifest.v1", + "files": { + "README.md": "sha256:aa8eec040b0560ec0abae7f6189412729aea8cd6824e4144a6d9e806b4538185", + "candidate-evaluation.md": "sha256:a084ad3e067b93609946a64214be37a3d4f26cc10cb702acb453c6dba4003810", + "catalog.json": "sha256:89e77df1b4cbb6a3b3bbb448e74fe1f7fa148114dab20573ca83ecb1dff1927d", + "environment.json": "sha256:2d3de796bfac7214c571a345d983559f53956139f8916058badbc0f10a80b6ed", + "native-selector.json": "sha256:1f0ee9c04d1f8c078944484c4ce2ee832ddd2182bab1b5706d680b2551f91d6a", + "patches/AVS-001.patch": "sha256:8abdffcc1f1248e99db416778bf173edb49937314c36c187ecf766e0e8293628", + "patches/AVS-002.patch": "sha256:9c396e49500eef387292d080284b0f90ddee40ef3fa1e2384ce60008283e2101", + "patches/AVS-003.patch": "sha256:4d84a752d7e9f3db0500ece7e40d048d263f6fa0b12a8da67f8d87a0f1d24d4c", + "patches/AVS-004.patch": "sha256:7bdd67aab346fcf84697539d542bc7986e62b92abbe611f450ea05e438ef891d", + "patches/AVS-005.patch": "sha256:06f678c60583d04137fcd8a205e637832cb4f4fa25d250ae7aa146a21aedb382", + "patches/AVS-006.patch": "sha256:5749030cf1e3ed2d329897a30eab6d50ca9ef260d973b1458f01041cdbf8aa45", + "patches/AVS-007.patch": "sha256:93c1e2d1517eb1e220a1feddca02b5343a4e0a036612cc16ce834f8d5f1e856e", + "patches/AVS-008.patch": "sha256:86b67e0e8b7cb0815cbbf4419a028ba4d5c30b92176ac46ac23d6c62d6e4fb66", + "patches/AVS-009.patch": "sha256:063e1a57a509c40d1aebf35b1e054b48b9505257045f898c02018dd1b6df3662", + "patches/AVS-010.patch": "sha256:8dee6a157976f26f8a572bfa848b43ea22c7fb3b22cd8c941ea75f1bcdcbe669", + "policy.json": "sha256:513997a307f99cb6eefad0f9bae61af57091cd7da07cbefaffc58d553b6d4b38", + "preregistration.json": "sha256:66d21d0c2ecd4023e60bcae9139b36566e59acaa41647a46e585f31c3c903524", + "scenarios.json": "sha256:685095a9f1b423cd5bb2520e3e83c70e06fc72c364b899cf300dec3abc22603b" + }, + "identity": "sha256:ee75092088e1338419bc6e9b4c290de373072ca85df0776bc626929ea21d5811" +} diff --git a/benchmark/av-exp-001/preregistration-v1/native-selector.json b/benchmark/av-exp-001/preregistration-v1/native-selector.json new file mode 100644 index 0000000..304aecc --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/native-selector.json @@ -0,0 +1,18 @@ +{ + "schema": "opsle.affected-verification.native-selector.v1", + "id": "zustand-vitest-related-v1", + "tool": "Vitest", + "version": "4.1.10", + "command_template": "pnpm exec vitest related --run --reporter=json --outputFile=", + "selection_unit": "frozen Vitest test file", + "inputs": "All scenario changed paths, exactly as frozen; no path is withheld.", + "output_normalization": "Test-file paths emitted by Vitest are mapped to frozen catalog check IDs.", + "empty_selection": "An empty native test-file set is preserved as empty, not rewritten.", + "failure_behavior": "Nonzero selector execution, unknown output paths, or version drift invalidate the arm result.", + "limitations": [ + "Vitest related selection uses static import relationships and documents limitations around dynamic imports.", + "The native arm selects tests only and makes no claim about format, typecheck, lint, or build checks.", + "The benchmark does not deliberately alter Vitest configuration to improve or worsen its result." + ], + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6" +} diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-001.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-001.patch new file mode 100644 index 0000000..f0f1c42 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-001.patch @@ -0,0 +1,13 @@ +diff --git a/src/middleware/ssrSafe.ts b/src/middleware/ssrSafe.ts +index e324965..7c7467e 100644 +--- a/src/middleware/ssrSafe.ts ++++ b/src/middleware/ssrSafe.ts +@@ -12,7 +12,7 @@ export function ssrSafe< + Mcs extends [StoreMutatorIdentifier, unknown][] = [], + >( + config: StateCreator, +- isSSR: boolean = typeof window === 'undefined', ++ isSSR: boolean = typeof globalThis.window === 'undefined', + ): StateCreator { + return (set, get, api) => { + if (!isSSR) { diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-002.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-002.patch new file mode 100644 index 0000000..5f13265 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-002.patch @@ -0,0 +1,13 @@ +diff --git a/src/vanilla/shallow.ts b/src/vanilla/shallow.ts +index e5b4bf6..fe0839e 100644 +--- a/src/vanilla/shallow.ts ++++ b/src/vanilla/shallow.ts +@@ -47,7 +47,7 @@ const compareIterables = ( + + export function shallow(valueA: T, valueB: T): boolean { + if (Object.is(valueA, valueB)) { +- return true ++ return false + } + if ( + typeof valueA !== 'object' || diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-003.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-003.patch new file mode 100644 index 0000000..268de65 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-003.patch @@ -0,0 +1,13 @@ +diff --git a/src/vanilla.ts b/src/vanilla.ts +index d16a6a3..685ec87 100644 +--- a/src/vanilla.ts ++++ b/src/vanilla.ts +@@ -72,7 +72,7 @@ const createStoreImpl: CreateStoreImpl = (createState) => { + (replace ?? (typeof nextState !== 'object' || nextState === null)) + ? (nextState as TState) + : Object.assign({}, state, nextState) +- listeners.forEach((listener) => listener(state, previousState)) ++ listeners.forEach((listener) => listener(state, state)) + } + } + diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-004.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-004.patch new file mode 100644 index 0000000..d1cf1a5 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-004.patch @@ -0,0 +1,13 @@ +diff --git a/src/middleware/persist.ts b/src/middleware/persist.ts +index c62b2d4..ca73125 100644 +--- a/src/middleware/persist.ts ++++ b/src/middleware/persist.ts +@@ -371,7 +371,7 @@ const persistImpl: PersistImpl = (config, baseOptions) => (set, get, api) => { + hydrate() + } + +- return stateFromStorage || configResult ++ return configResult + } + + type Persist = < diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-005.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-005.patch new file mode 100644 index 0000000..453616c --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-005.patch @@ -0,0 +1,13 @@ +diff --git a/tests/vanilla/basic.test.ts b/tests/vanilla/basic.test.ts +index 09e2d14..4146154 100644 +--- a/tests/vanilla/basic.test.ts ++++ b/tests/vanilla/basic.test.ts +@@ -47,7 +47,7 @@ it('uses the store', async () => { + })) + store.getState().inc() + +- expect(store.getState().count).toBe(1) ++ expect(store.getState().count).toBe(2) + }) + + it('can get the store', async () => { diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-006.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-006.patch new file mode 100644 index 0000000..51e9202 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-006.patch @@ -0,0 +1,12 @@ +diff --git a/vitest.config.mts b/vitest.config.mts +index bb1c6ad..c34af90 100644 +--- a/vitest.config.mts ++++ b/vitest.config.mts +@@ -10,6 +10,7 @@ export default defineConfig({ + name: 'zustand', + // Keeping globals to true triggers React Testing Library's auto cleanup + // https://vitest.dev/guide/migration.html ++ slowTestThreshold: 5000, + globals: true, + environment: 'jsdom', + dir: 'tests', diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-007.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-007.patch new file mode 100644 index 0000000..346cebb --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-007.patch @@ -0,0 +1,12 @@ +diff --git a/package.json b/package.json +index 076f99a..d047ad7 100644 +--- a/package.json ++++ b/package.json +@@ -1,6 +1,6 @@ + { + "name": "zustand", +- "description": "🐻 Bear necessities for state management in React", ++ "description": "🐻 Bear necessities for state management in React applications", + "private": true, + "type": "commonjs", + "version": "5.0.15", diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-008.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-008.patch new file mode 100644 index 0000000..695f914 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-008.patch @@ -0,0 +1,13 @@ +diff --git a/src/vanilla.ts b/src/vanilla.ts +index d16a6a3..f2ce584 100644 +--- a/src/vanilla.ts ++++ b/src/vanilla.ts +@@ -8,7 +8,7 @@ type SetStateInternal = { + + export interface StoreApi { + setState: SetStateInternal +- getState: () => T ++ getState: () => Promise + getInitialState: () => T + subscribe: (listener: (state: T, prevState: T) => void) => () => void + } diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-009.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-009.patch new file mode 100644 index 0000000..749d65a --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-009.patch @@ -0,0 +1,26 @@ +diff --git a/src/middleware/subscribeWithSelector.ts b/src/middleware/subscribeWithSelector.ts +index e109d1c..6779f2f 100644 +--- a/src/middleware/subscribeWithSelector.ts ++++ b/src/middleware/subscribeWithSelector.ts +@@ -54,7 +54,7 @@ const subscribeWithSelectorImpl: SubscribeWithSelectorImpl = + let currentSlice = selector(api.getState()) + listener = (state) => { + const nextSlice = selector(state) +- if (!equalityFn(currentSlice, nextSlice)) { ++ if (equalityFn(currentSlice, nextSlice)) { + const previousSlice = currentSlice + optListener((currentSlice = nextSlice), previousSlice) + } +diff --git a/src/vanilla/shallow.ts b/src/vanilla/shallow.ts +index e5b4bf6..b89289a 100644 +--- a/src/vanilla/shallow.ts ++++ b/src/vanilla/shallow.ts +@@ -39,7 +39,7 @@ const compareIterables = ( + nextA = iteratorA.next() + nextB = iteratorB.next() + } +- return !!nextA.done && !!nextB.done ++ return !!nextA.done || !!nextB.done + } + + export function shallow(valueA: T, valueB: T): boolean { diff --git a/benchmark/av-exp-001/preregistration-v1/patches/AVS-010.patch b/benchmark/av-exp-001/preregistration-v1/patches/AVS-010.patch new file mode 100644 index 0000000..048a54c --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/patches/AVS-010.patch @@ -0,0 +1,13 @@ +diff --git a/src/middleware/ssrSafe.ts b/src/middleware/ssrSafe.ts +index e324965..f73b2bd 100644 +--- a/src/middleware/ssrSafe.ts ++++ b/src/middleware/ssrSafe.ts +@@ -21,7 +21,7 @@ export function ssrSafe< + return config(set, get, api) + } + const ssrSet = () => { +- throw new Error('Cannot set state of Zustand store in SSR') ++ throw new Error('State cannot be set on a Zustand store during SSR') + } + api.setState = ssrSet + return config(ssrSet as never, get, api) diff --git a/benchmark/av-exp-001/preregistration-v1/policy.json b/benchmark/av-exp-001/preregistration-v1/policy.json new file mode 100644 index 0000000..4878fb8 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/policy.json @@ -0,0 +1,50 @@ +{ + "schema": "opsle.affected-verification.benchmark-policy.v1", + "id": "av-exp-001-zustand-policy-v1", + "planner_schema": "opsle.affected-verification.plan.v1", + "trust_stage": "SHADOW", + "core_evidence": { + "git_diff": "Exact changed paths and patch identity from the frozen scenario.", + "source_graph": "Deterministic TypeScript static import graph rooted in src and public entrypoints; unresolved or dynamic imports make evidence incomplete.", + "catalog": "catalog.json", + "complete_only_when": "Target SHA, catalog, patch, adapter version, and all changed-path mappings validate without an unresolved edge." + }, + "native_evidence": { + "use": "AV_WITH_NATIVE_EVIDENCE only", + "role": "Each native-selected test check is normalized as an additional impacted verification component; it does not replace core evidence or policy.", + "missing_behavior": "Missing or invalid native evidence marks impact evidence incomplete and denies targeted skipping." + }, + "policy_rules": [ + { + "id": "always-non-test-catalog", + "match": "every valid change", + "effect": "require format, typecheck, lint, and build tags" + }, + { + "id": "verification-metadata-full", + "paths": [ + "package.json", + "pnpm-lock.yaml", + "pnpm-workspace.yaml", + "vitest.config.mts", + "tsconfig.json", + "eslint.config.mjs", + "rollup.config.mjs", + ".github/workflows/**" + ], + "effect": "FULL" + }, + { + "id": "public-contract-broaden", + "paths": ["src/index.ts", "src/vanilla.ts", "src/react.ts", "src/types.d.ts"], + "effect": "require typecheck and build tags" + }, + { + "id": "unknown-impact-full", + "condition": "incomplete dependency evidence, unknown changed path, missing required native evidence, or unresolved import", + "effect": "FULL when the catalog is complete; otherwise INSUFFICIENT_EVIDENCE" + } + ], + "skip_rule": "A test check may be skipped only when its scope does not intersect the complete affected closure, no native evidence selects it in the native-evidence arm, and no policy rule requires it. Every skip records evidence and policy references.", + "identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" +} diff --git a/benchmark/av-exp-001/preregistration-v1/preregistration.json b/benchmark/av-exp-001/preregistration-v1/preregistration.json new file mode 100644 index 0000000..7a31ed0 --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/preregistration.json @@ -0,0 +1,114 @@ +{ + "schema": "opsle.affected-verification.preregistration.v1", + "experiment_id": "AV-EXP-001", + "title": "Minimum Defensible Verification — Real Repository Shadow Calibration", + "revision": 1, + "stage": "CALIBRATION_SHADOW", + "question": "On the pinned real public repository and frozen corpus, can Affected Verification reduce proposed verification workload while selecting every check that the frozen full-verification oracle demonstrates was relevant?", + "target": { + "url": "https://github.com/pmndrs/zustand.git", + "commit": "b57db4f86ef179285da216eeb291266da82c361c", + "license": "MIT" + }, + "artifacts": { + "environment": "environment.json", + "catalog": "catalog.json", + "native_selector": "native-selector.json", + "policy": "policy.json", + "scenarios": "scenarios.json" + }, + "arms": [ + { + "id": "FULL", + "definition": "Execute every frozen catalog check. This arm is authoritative." + }, + { + "id": "NATIVE", + "definition": "Use Vitest 4.1.10 related selection for frozen changed paths. It predicts test checks only." + }, + { + "id": "AV_CORE", + "definition": "Use Git change identity, deterministic static source graph, frozen catalog, and frozen policy without native selection output." + }, + { + "id": "AV_WITH_NATIVE_EVIDENCE", + "definition": "Use AV_CORE evidence plus normalized native-selected tests as one additional evidence source; native evidence never replaces policy or the full oracle." + } + ], + "baseline": { + "repetitions": 3, + "requirement": "Every frozen check must pass in every clean repetition with stable test-file and test-execution counts.", + "stop": "Stop before comparative scenarios if the baseline materially fails, flakes, drifts, or cannot complete within the practical host bound." + }, + "relevance_oracle": { + "scope": "Relevant within this frozen verification catalog.", + "procedure": [ + "Confirm the check passes on every qualifying clean baseline repetition.", + "Materialize the exact scenario patch and validate its identity.", + "Execute the complete frozen catalog regardless of predicted plans.", + "A check is relevant when its normalized outcome changes from clean PASS to scenario FAIL.", + "Preserve raw command output and normalized identity-bound outcomes." + ], + "limit": "The oracle identifies known catalog checks that expose a scenario effect; it does not prove complete software correctness or production-bug representativeness." + }, + "primary_metric": { + "id": "selection_miss", + "definition": "A frozen relevant check failed under FULL and was omitted by the selector arm.", + "rule": "Report every miss individually. Any Affected Verification miss prevents movement beyond SHADOW and requires root-cause analysis." + }, + "metrics": { + "safety": [ + "scenarios with relevant failures", + "relevant checks", + "selected relevant checks", + "missed relevant checks", + "relevant-check recall", + "scenario-level miss rate", + "escalations", + "insufficient-evidence cases" + ], + "workload": [ + "test executions available, selected, and skipped", + "test files available, selected, and skipped", + "non-test checks selected and skipped by type" + ], + "runtime": "Wall-clock durations are OBSERVED only, excluded from semantic identities, and do not by subtraction establish causal time saved.", + "native_comparison": "Report where either selector is narrower, where AV broadens native output, and where either misses a relevant check." + }, + "failure_taxonomy": [ + "SELECTION_MISS", + "NO_SELECTION_MISS", + "BASELINE_FAILURE", + "BASELINE_FLAKE", + "HARNESS_DEFECT", + "TARGET_IDENTITY_MISMATCH", + "PATCH_IDENTITY_MISMATCH", + "CATALOG_DRIFT", + "NATIVE_VERSION_DRIFT", + "MALFORMED_EVIDENCE", + "INCOMPLETE_EVIDENCE_ESCALATION", + "FULL_RUN_INCOMPLETE", + "RESULT_TAMPERING", + "INTERRUPTED_RUN" + ], + "analysis_rules": [ + "Correctness and misses are reported before workload.", + "No missing observation is interpreted as zero.", + "Unlike workload units are not combined.", + "Synthetic faults test selection correctness but do not estimate production-bug frequency.", + "Zero observed misses means only that no miss was observed in this frozen corpus.", + "No post-outcome policy, catalog, scenario, oracle, or metric change is permitted in revision 1.", + "A genuine harness defect requires a preserved revision-1 record and a versioned amended preregistration." + ], + "stop_conditions": [ + "target, lockfile, tool, catalog, scenario, or patch identity drift", + "materially failing or flaky clean baseline", + "incomplete FULL execution for an analyzed scenario", + "a harness defect that can affect selection, relevance, or result identity", + "inability to preserve raw full-run evidence", + "attempt to let an affected arm replace or bypass FULL" + ], + "trust_decision_rule": "Remain OBSERVE/SHADOW. This first calibration cannot authorize TRUSTED_BOUNDED even with zero observed misses.", + "providers": "No model or external provider subject is used or permitted.", + "identity": "sha256:d25cbcda7f920716ff291d18f20eca2af010ebab62a09e849cdc4ea70ad5ff80" +} diff --git a/benchmark/av-exp-001/preregistration-v1/scenarios.json b/benchmark/av-exp-001/preregistration-v1/scenarios.json new file mode 100644 index 0000000..af8627d --- /dev/null +++ b/benchmark/av-exp-001/preregistration-v1/scenarios.json @@ -0,0 +1,133 @@ +{ + "schema": "opsle.affected-verification.scenario-manifest.v1", + "target_base_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "scenarios": [ + { + "id": "AVS-001", + "title": "isolated implementation refactor shape", + "classification": "SYNTHETIC_BENIGN_CHANGE_SHAPE", + "category": "isolated implementation change", + "patch": "patches/AVS-001.patch", + "patch_sha256": "sha256:8abdffcc1f1248e99db416778bf173edb49937314c36c187ecf766e0e8293628", + "changed_paths": ["src/middleware/ssrSafe.ts"], + "changed_regions": ["default isSSR parameter expression"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-002", + "title": "direct shallow-comparison fault", + "classification": "SYNTHETIC_FAULT", + "category": "direct dependent test failure", + "patch": "patches/AVS-002.patch", + "patch_sha256": "sha256:9c396e49500eef387292d080284b0f90ddee40ef3fa1e2384ce60008283e2101", + "changed_paths": ["src/vanilla/shallow.ts"], + "changed_regions": ["identity comparison branch"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-003", + "title": "shared store notification fault", + "classification": "SYNTHETIC_FAULT", + "category": "reverse-dependent and transitive change", + "patch": "patches/AVS-003.patch", + "patch_sha256": "sha256:4d84a752d7e9f3db0500ece7e40d048d263f6fa0b12a8da67f8d87a0f1d24d4c", + "changed_paths": ["src/vanilla.ts"], + "changed_regions": ["setState listener notification"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-004", + "title": "persist hydration return fault", + "classification": "SYNTHETIC_FAULT", + "category": "multiple affected checks", + "patch": "patches/AVS-004.patch", + "patch_sha256": "sha256:7bdd67aab346fcf84697539d542bc7986e62b92abbe611f450ea05e438ef891d", + "changed_paths": ["src/middleware/persist.ts"], + "changed_regions": ["persist implementation return value"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-005", + "title": "test-only expectation fault", + "classification": "SYNTHETIC_FAULT", + "category": "test-only change", + "patch": "patches/AVS-005.patch", + "patch_sha256": "sha256:06f678c60583d04137fcd8a205e637832cb4f4fa25d250ae7aa146a21aedb382", + "changed_paths": ["tests/vanilla/basic.test.ts"], + "changed_regions": ["uses the store expectation"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-006", + "title": "verification configuration change", + "classification": "SYNTHETIC_BENIGN_CHANGE_SHAPE", + "category": "configuration change", + "patch": "patches/AVS-006.patch", + "patch_sha256": "sha256:5749030cf1e3ed2d329897a30eab6d50ca9ef260d973b1458f01041cdbf8aa45", + "changed_paths": ["vitest.config.mts"], + "changed_regions": ["test slow threshold"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-007", + "title": "package metadata change", + "classification": "SYNTHETIC_BENIGN_CHANGE_SHAPE", + "category": "dependency or build metadata change", + "patch": "patches/AVS-007.patch", + "patch_sha256": "sha256:93c1e2d1517eb1e220a1feddca02b5343a4e0a036612cc16ce834f8d5f1e856e", + "changed_paths": ["package.json"], + "changed_regions": ["package description"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-008", + "title": "public store contract fault", + "classification": "SYNTHETIC_FAULT", + "category": "interface and public contract change", + "patch": "patches/AVS-008.patch", + "patch_sha256": "sha256:86b67e0e8b7cb0815cbbf4419a028ba4d5c30b92176ac46ac23d6c62d6e4fb66", + "changed_paths": ["src/vanilla.ts"], + "changed_regions": ["StoreApi getState return type"], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-009", + "title": "two-boundary compound fault", + "classification": "SYNTHETIC_FAULT", + "category": "broad shared-boundary and multi-file change", + "patch": "patches/AVS-009.patch", + "patch_sha256": "sha256:063e1a57a509c40d1aebf35b1e054b48b9505257045f898c02018dd1b6df3662", + "changed_paths": [ + "src/middleware/subscribeWithSelector.ts", + "src/vanilla/shallow.ts" + ], + "changed_regions": [ + "selector equality branch", + "iterable equality branch" + ], + "evidence_mode": "NORMAL", + "setup": "clean pinned target with frozen dependencies" + }, + { + "id": "AVS-010", + "title": "deliberately incomplete impact evidence", + "classification": "SYNTHETIC_BENIGN_CHANGE_SHAPE", + "category": "uncertainty and escalation", + "patch": "patches/AVS-010.patch", + "patch_sha256": "sha256:8dee6a157976f26f8a572bfa848b43ea22c7fb3b22cd8c941ea75f1bcdcbe669", + "changed_paths": ["src/middleware/ssrSafe.ts"], + "changed_regions": ["SSR mutation error message"], + "evidence_mode": "INCOMPLETE_DEPENDENCY_EVIDENCE", + "setup": "clean pinned target with frozen dependencies; AV adapter deliberately marks dependency evidence incomplete while native receives the complete changed path" + } + ], + "identity": "sha256:08e7af1ebad68cbe618efa771ceddd0fe65a9ee4ca069ff385436c5fdac9a0ce" +} From f708d61046a2de3073487ec9e347a44d12498310 Mon Sep 17 00:00:00 2001 From: Deploy Date: Mon, 31 Aug 2026 02:13:05 +0000 Subject: [PATCH 2/5] Add AV-EXP-001 shadow harness and preserve baseline defect --- .../amendments/001-worktree-install.md | 34 + .../baseline/baseline-1.json | 164 +++++ .../baseline/baseline-2.json | 164 +++++ .../baseline/baseline-3.json | 164 +++++ .../baseline-1-build.execution.json | 15 + .../baseline-1/baseline-1-build.stderr.log | 0 .../baseline-1/baseline-1-build.stdout.log | 16 + .../baseline-1-format.execution.json | 15 + .../baseline-1/baseline-1-format.stderr.log | 0 .../baseline-1/baseline-1-format.stdout.log | 16 + .../baseline-1/baseline-1-lint.execution.json | 15 + .../raw/baseline-1/baseline-1-lint.stderr.log | 0 .../raw/baseline-1/baseline-1-lint.stdout.log | 16 + .../baseline-1-tests.execution.json | 18 + .../baseline-1/baseline-1-tests.stderr.log | 0 .../baseline-1/baseline-1-tests.stdout.log | 16 + .../baseline-1-typecheck.execution.json | 15 + .../baseline-1-typecheck.stderr.log | 0 .../baseline-1-typecheck.stdout.log | 16 + .../baseline-2-build.execution.json | 15 + .../baseline-2/baseline-2-build.stderr.log | 0 .../baseline-2/baseline-2-build.stdout.log | 16 + .../baseline-2-format.execution.json | 15 + .../baseline-2/baseline-2-format.stderr.log | 0 .../baseline-2/baseline-2-format.stdout.log | 16 + .../baseline-2/baseline-2-lint.execution.json | 15 + .../raw/baseline-2/baseline-2-lint.stderr.log | 0 .../raw/baseline-2/baseline-2-lint.stdout.log | 16 + .../baseline-2-tests.execution.json | 18 + .../baseline-2/baseline-2-tests.stderr.log | 0 .../baseline-2/baseline-2-tests.stdout.log | 16 + .../baseline-2-typecheck.execution.json | 15 + .../baseline-2-typecheck.stderr.log | 0 .../baseline-2-typecheck.stdout.log | 16 + .../baseline-3-build.execution.json | 15 + .../baseline-3/baseline-3-build.stderr.log | 0 .../baseline-3/baseline-3-build.stdout.log | 16 + .../baseline-3-format.execution.json | 15 + .../baseline-3/baseline-3-format.stderr.log | 0 .../baseline-3/baseline-3-format.stdout.log | 16 + .../baseline-3/baseline-3-lint.execution.json | 15 + .../raw/baseline-3/baseline-3-lint.stderr.log | 0 .../raw/baseline-3/baseline-3-lint.stdout.log | 16 + .../baseline-3-tests.execution.json | 18 + .../baseline-3/baseline-3-tests.stderr.log | 0 .../baseline-3/baseline-3-tests.stdout.log | 16 + .../baseline-3-typecheck.execution.json | 15 + .../baseline-3-typecheck.stderr.log | 0 .../baseline-3-typecheck.stdout.log | 16 + benchmark/av-exp-001/reproduce.sh | 19 + benchmark/av-exp-001/run.mjs | 679 ++++++++++++++++++ package.json | 3 +- src/benchmark.js | 262 +++++++ src/index.js | 7 + tests/benchmark.test.js | 198 +++++ 55 files changed, 2167 insertions(+), 1 deletion(-) create mode 100644 benchmark/av-exp-001/amendments/001-worktree-install.md create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-1.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-2.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-3.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stdout.log create mode 100755 benchmark/av-exp-001/reproduce.sh create mode 100755 benchmark/av-exp-001/run.mjs create mode 100644 src/benchmark.js create mode 100644 tests/benchmark.test.js diff --git a/benchmark/av-exp-001/amendments/001-worktree-install.md b/benchmark/av-exp-001/amendments/001-worktree-install.md new file mode 100644 index 0000000..8a7e4f0 --- /dev/null +++ b/benchmark/av-exp-001/amendments/001-worktree-install.md @@ -0,0 +1,34 @@ +# AV-EXP-001 benchmark amendment 001 + +Status: harness-only amendment before comparative scenario execution + +The first baseline attempt after preregistration commit +`0544362d7659093b7f0b4f89ee8f68023fd269c3` stopped before any scenario. +All three clean repetitions were incomplete because the runner symlinked the +prepared clone's `node_modules` into Git worktrees. pnpm correctly detected that +the modules directory belonged to a different workspace and attempted a +modules-dir repair. In the non-interactive session it refused that repair with +`ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY`. + +This is a harness materialization defect. It does not change the target, +catalog, native selector, scenarios, patches, oracle, arms, metrics, analysis +rules, or stop conditions frozen in preregistration v1. No native selection, +AV plan, scenario full run, oracle, or comparative result was produced. + +Amendment: + +1. each disposable worktree performs + `corepack pnpm install --frozen-lockfile --offline` against the already + populated content-addressed pnpm store; +2. `CI=true` is set for non-interactive command execution; +3. no `node_modules` symlink is created; +4. the failed baseline artifacts are retained under + `attempts/harness-defect-001/`; +5. baseline stability is rerun from three new clean worktrees before any + scenario. + +Result bundles bind this amendment's content identity in addition to the +original preregistration commit. + +Amendment identity: +`sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357` diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-1.json b/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-1.json new file mode 100644 index 0000000..c13fa5e --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-1.json @@ -0,0 +1,164 @@ +{ + "scenario_id": "baseline-1", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck" + ], + "failed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck" + ], + "outcomes": { + "check:build": "FAIL", + "check:format": "FAIL", + "check:lint": "FAIL", + "check:typecheck": "FAIL" + }, + "complete": false, + "command_evidence": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + ], + "identity": "sha256:02d820bf5b51c877baed67547d6f4478161ab4d117ca5d4ccc2ca11ca7901198", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "duration_ms": 1083.102 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 1148.505 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 1148.418 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 1136.214 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 1116.41 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-build.stderr.log" + ], + "test_count": null, + "test_file_count": null +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-2.json b/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-2.json new file mode 100644 index 0000000..bdd67a0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-2.json @@ -0,0 +1,164 @@ +{ + "scenario_id": "baseline-2", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck" + ], + "failed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck" + ], + "outcomes": { + "check:build": "FAIL", + "check:format": "FAIL", + "check:lint": "FAIL", + "check:typecheck": "FAIL" + }, + "complete": false, + "command_evidence": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + ], + "identity": "sha256:1643b732ea0b440e8f2bcfc123d7fca83d359d51230342e180db2a5bb59c6c4b", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "duration_ms": 1121.138 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 1058.209 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 1065.534 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 1145.574 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 1144.311 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-build.stderr.log" + ], + "test_count": null, + "test_file_count": null +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-3.json b/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-3.json new file mode 100644 index 0000000..772cde9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/baseline/baseline-3.json @@ -0,0 +1,164 @@ +{ + "scenario_id": "baseline-3", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck" + ], + "failed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck" + ], + "outcomes": { + "check:build": "FAIL", + "check:format": "FAIL", + "check:lint": "FAIL", + "check:typecheck": "FAIL" + }, + "complete": false, + "command_evidence": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + ], + "identity": "sha256:95b601c6401c10af4b880457534fc60be816e1990f71a7e49f8b1abcf2bfc7fb", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "duration_ms": 1109.702 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 1119.944 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 1088.459 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 1102.502 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 1114.348 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-build.stderr.log" + ], + "test_count": null, + "test_file_count": null +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.execution.json new file mode 100644 index 0000000..e33daeb --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1116.41, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-build.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.execution.json new file mode 100644 index 0000000..0eaee78 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1148.505, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-format.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.execution.json new file mode 100644 index 0000000..66f5257 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1136.214, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-lint.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.execution.json new file mode 100644 index 0000000..f903f01 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1083.102, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-tests.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.execution.json new file mode 100644 index 0000000..921a81f --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1148.418, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-1/baseline-1-typecheck.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.execution.json new file mode 100644 index 0000000..43bf223 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1144.311, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-build.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.execution.json new file mode 100644 index 0000000..cd16010 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1058.209, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-format.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.execution.json new file mode 100644 index 0000000..62a92d8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1145.574, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-lint.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.execution.json new file mode 100644 index 0000000..50626bf --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1121.138, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-tests.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.execution.json new file mode 100644 index 0000000..79dac48 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1065.534, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-2/baseline-2-typecheck.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.execution.json new file mode 100644 index 0000000..73e8336 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1114.348, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-build.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.execution.json new file mode 100644 index 0000000..807e61c --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1119.944, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-format.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.execution.json new file mode 100644 index 0000000..fecba1e --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1102.502, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-lint.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.execution.json new file mode 100644 index 0000000..0879ee7 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1109.702, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-tests.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.execution.json b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.execution.json new file mode 100644 index 0000000..8432d86 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1088.459, + "spawn_error": null, + "stdout_sha256": "sha256:b9f2910b50035a4ea132349bc88482776e3a5355dd649517b6927ab7ab61eb61", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stdout.log new file mode 100644 index 0000000..32848b5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-001/raw/baseline-3/baseline-3-typecheck.stdout.log @@ -0,0 +1,16 @@ +[ERR_PNPM_ABORTED_REMOVE_MODULES_DIR_NO_TTY] Aborted removal of modules directory due to no TTY + +If you are running pnpm in CI, set the CI environment variable to "true", or set "confirmModulesPurge" to "false". +[ERROR] Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + +pnpm: Command failed with exit code 1: /usr/bin/node /home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/bin/pnpm.mjs install + at getFinalError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:29514:14) + at makeError (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:31821:21) + at getSyncResult (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33665:10) + at spawnSubprocessSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33625:14) + at execaCoreSync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:33555:23) + at callBoundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36083:23) + at boundExeca (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36060:49) + at sync (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:36219:10) + at runPnpmCli (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:213566:5) + at runDepsStatusCheck (file:///home/deploy/.cache/node/corepack/v1/pnpm/11.3.0/dist/pnpm.mjs:215280:7) diff --git a/benchmark/av-exp-001/reproduce.sh b/benchmark/av-exp-001/reproduce.sh new file mode 100755 index 0000000..0057ca3 --- /dev/null +++ b/benchmark/av-exp-001/reproduce.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +set -euo pipefail + +root="$(cd "$(dirname "$0")/../.." && pwd)" +target="${AV_TARGET:-/tmp/av-exp-001-target}" +scratch="${AV_SCRATCH:-/tmp/av-exp-001-scratch}" +results="$root/benchmark/av-exp-001/results-v1" + +if [[ ! -d "$target/.git" ]]; then + node "$root/benchmark/av-exp-001/run.mjs" \ + prepare \ + --target "$target" +fi + +node "$root/benchmark/av-exp-001/run.mjs" \ + all \ + --target "$target" \ + --scratch "$scratch" \ + --results "$results" diff --git a/benchmark/av-exp-001/run.mjs b/benchmark/av-exp-001/run.mjs new file mode 100755 index 0000000..aa4b762 --- /dev/null +++ b/benchmark/av-exp-001/run.mjs @@ -0,0 +1,679 @@ +#!/usr/bin/env node +import { spawnSync } from 'node:child_process'; +import { createHash } from 'node:crypto'; +import fs from 'node:fs'; +import path from 'node:path'; +import process from 'node:process'; +import { fileURLToPath } from 'node:url'; + +import { + canonicalJson, + contentIdentity, + createShadowBenchmarkResult, + planVerification, + validateScenarioManifest, + validateShadowBenchmarkResult, +} from '../../src/index.js'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const repoRoot = path.resolve(here, '../..'); +const preregDir = path.join(here, 'preregistration-v1'); +const targetSha = 'b57db4f86ef179285da216eeb291266da82c361c'; +const targetUrl = 'https://github.com/pmndrs/zustand.git'; +const preregistrationSha = '0544362d7659093b7f0b4f89ee8f68023fd269c3'; +const amendmentIdentity = 'sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357'; + +function readJson(file) { + return JSON.parse(fs.readFileSync(file, 'utf8')); +} + +function writeJson(file, value) { + fs.mkdirSync(path.dirname(file), { recursive: true }); + fs.writeFileSync(file, `${JSON.stringify(value, null, 2)}\n`); +} + +function sha256Bytes(bytes) { + return `sha256:${createHash('sha256').update(bytes).digest('hex')}`; +} + +function sha256File(file) { + return sha256Bytes(fs.readFileSync(file)); +} + +function identityWithout(value, key = 'identity') { + const copy = structuredClone(value); + delete copy[key]; + return contentIdentity(copy); +} + +function run(command, args, options = {}) { + const started = process.hrtime.bigint(); + const result = spawnSync(command, args, { + cwd: options.cwd, + encoding: 'utf8', + env: { ...process.env, CI: 'true', GITHUB_ACTIONS: '', ...options.env }, + maxBuffer: 64 * 1024 * 1024, + timeout: options.timeout ?? 10 * 60 * 1000, + }); + const durationMs = Number(process.hrtime.bigint() - started) / 1e6; + return { + command: [command, ...args], + exit_code: result.status, + signal: result.signal, + timed_out: result.error?.code === 'ETIMEDOUT', + duration_ms: Math.round(durationMs * 1000) / 1000, + stdout: result.stdout ?? '', + stderr: result.stderr ?? '', + spawn_error: result.error?.message ?? null, + }; +} + +function requireSuccess(result, label) { + if (result.exit_code !== 0 || result.timed_out || result.spawn_error) { + throw new Error(`${label} failed: exit=${result.exit_code} signal=${result.signal} ${result.spawn_error ?? ''}`); + } +} + +function verifyIdentityFile(name) { + const value = readJson(path.join(preregDir, name)); + if (value.identity !== identityWithout(value)) throw new Error(`${name} identity mismatch`); + return value; +} + +function verifyPreregistration() { + const manifest = verifyIdentityFile('manifest.json'); + for (const [name, expected] of Object.entries(manifest.files)) { + const actual = sha256File(path.join(preregDir, name)); + if (actual !== expected) throw new Error(`preregistration manifest mismatch: ${name}`); + } + const prereg = verifyIdentityFile('preregistration.json'); + const catalog = verifyIdentityFile('catalog.json'); + const policy = verifyIdentityFile('policy.json'); + const native = verifyIdentityFile('native-selector.json'); + const scenarios = verifyIdentityFile('scenarios.json'); + validateScenarioManifest(scenarios); + for (const scenario of scenarios.scenarios) { + if (sha256File(path.join(preregDir, scenario.patch)) !== scenario.patch_sha256) { + throw new Error(`scenario patch/hash mismatch: ${scenario.id}`); + } + } + const amendmentFile = path.join(here, 'amendments', '001-worktree-install.md'); + const amendmentText = fs.readFileSync(amendmentFile, 'utf8'); + const amendmentBody = amendmentText.split('\nAmendment identity:\n')[0] + '\n'; + if (sha256Bytes(amendmentBody) !== amendmentIdentity) throw new Error('benchmark amendment identity mismatch'); + return { manifest, prereg, catalog, policy, native, scenarios }; +} + +function plannerVersion() { + return contentIdentity({ + planner: sha256File(path.join(repoRoot, 'src', 'planner.js')), + benchmark_result: sha256File(path.join(repoRoot, 'src', 'benchmark.js')), + harness: sha256File(path.join(here, 'run.mjs')), + }); +} + +function git(cwd, args) { + const result = run('git', args, { cwd, timeout: 2 * 60 * 1000 }); + requireSuccess(result, `git ${args.join(' ')}`); + return result.stdout.trim(); +} + +function verifyTarget(target, frozen) { + const observed = git(target, ['rev-parse', 'HEAD']); + if (observed !== targetSha) throw new Error(`target SHA mismatch: ${observed}`); + const status = git(target, ['status', '--porcelain', '--untracked-files=no']); + if (status) throw new Error('target tracked worktree is dirty'); + for (const [name, expected] of Object.entries(frozen)) { + if (sha256File(path.join(target, name)) !== expected) throw new Error(`target frozen file drift: ${name}`); + } + const version = run('corepack', ['pnpm', 'exec', 'vitest', '--version'], { cwd: target }); + requireSuccess(version, 'Vitest version check'); + if (!version.stdout.includes('vitest/4.1.10')) throw new Error('native selector version drift'); +} + +function createWorktree(target, worktree) { + if (fs.existsSync(worktree)) throw new Error(`scratch path already exists: ${worktree}`); + fs.mkdirSync(path.dirname(worktree), { recursive: true }); + git(target, ['worktree', 'add', '--detach', worktree, targetSha]); + const install = run('corepack', ['pnpm', 'install', '--frozen-lockfile', '--offline'], { + cwd: worktree, + timeout: 10 * 60 * 1000, + }); + requireSuccess(install, `offline dependency install for ${path.basename(worktree)}`); + return worktree; +} + +function persistCommand(rawDir, id, execution) { + fs.mkdirSync(rawDir, { recursive: true }); + const stdoutFile = path.join(rawDir, `${id}.stdout.log`); + const stderrFile = path.join(rawDir, `${id}.stderr.log`); + fs.writeFileSync(stdoutFile, execution.stdout); + fs.writeFileSync(stderrFile, execution.stderr); + const record = { + command: execution.command, + exit_code: execution.exit_code, + signal: execution.signal, + timed_out: execution.timed_out, + duration_ms_observed: execution.duration_ms, + spawn_error: execution.spawn_error, + stdout_sha256: sha256File(stdoutFile), + stderr_sha256: sha256File(stderrFile), + }; + writeJson(path.join(rawDir, `${id}.execution.json`), record); + return { + ...record, + stdout_file: path.relative(repoRoot, stdoutFile), + stderr_file: path.relative(repoRoot, stderrFile), + }; +} + +function relativeTestFile(name, worktree) { + return path.relative(worktree, name).split(path.sep).join('/'); +} + +function runVitest(worktree, rawDir, id, args) { + const outputFile = path.join(rawDir, `${id}.vitest.json`); + fs.mkdirSync(rawDir, { recursive: true }); + const execution = run('corepack', [ + 'pnpm', 'exec', 'vitest', ...args, + '--reporter=json', `--outputFile=${outputFile}`, + ], { cwd: worktree }); + const commandRecord = persistCommand(rawDir, id, execution); + let report = null; + if (fs.existsSync(outputFile)) report = readJson(outputFile); + return { execution, commandRecord, report, outputFile }; +} + +function normalizeVitestOutcomes(report, worktree, catalog) { + const testChecks = catalog.checks.filter((check) => check.type === 'unit-test'); + const byTarget = new Map(testChecks.map((check) => [check.target, check])); + const outcomes = new Map(); + for (const testResult of report?.testResults ?? []) { + const target = relativeTestFile(testResult.name, worktree); + const check = byTarget.get(target); + if (!check) throw new Error(`native or full Vitest output contains unknown test file: ${target}`); + outcomes.set(check.id, testResult.status === 'passed' ? 'PASS' : 'FAIL'); + } + return outcomes; +} + +function runFullCatalog(worktree, rawDir, catalog, runId) { + const testRun = runVitest(worktree, rawDir, `${runId}-tests`, ['run']); + const outcomes = normalizeVitestOutcomes(testRun.report, worktree, catalog); + const commandRecords = [testRun.commandRecord]; + const nonTests = [ + ['check:format', 'format', ['pnpm', 'run', 'test:format']], + ['check:typecheck', 'typecheck', ['pnpm', 'run', 'test:types']], + ['check:lint', 'lint', ['pnpm', 'run', 'test:lint']], + ['check:build', 'build', ['pnpm', 'run', 'build']], + ]; + for (const [checkId, id, args] of nonTests) { + const execution = run('corepack', args, { cwd: worktree }); + commandRecords.push(persistCommand(rawDir, `${runId}-${id}`, execution)); + outcomes.set(checkId, execution.exit_code === 0 && !execution.timed_out && !execution.spawn_error ? 'PASS' : 'FAIL'); + } + const allIds = catalog.checks.map((check) => check.id).sort(); + const executed = [...outcomes.keys()].sort(); + const complete = JSON.stringify(allIds) === JSON.stringify(executed) + && commandRecords.every((record) => !record.timed_out && !record.spawn_error); + const failed = [...outcomes.entries()].filter(([, status]) => status === 'FAIL').map(([id]) => id).sort(); + const semantic = { + scenario_id: runId, + target_sha: targetSha, + catalog_identity: catalog.identity, + executed_check_ids: executed, + failed_check_ids: failed, + outcomes: Object.fromEntries([...outcomes.entries()].sort()), + complete, + command_evidence: commandRecords.map((record) => ({ + command: record.command, + exit_code: record.exit_code, + signal: record.signal, + timed_out: record.timed_out, + spawn_error: record.spawn_error, + stdout_sha256: record.stdout_sha256, + stderr_sha256: record.stderr_sha256, + })), + }; + return { + ...semantic, + identity: contentIdentity(semantic), + observed_durations_ms: commandRecords.map((record) => ({ + command: record.command, + duration_ms: record.duration_ms_observed, + })), + evidence_files: commandRecords.flatMap((record) => [record.stdout_file, record.stderr_file]), + test_count: testRun.report?.numTotalTests ?? null, + test_file_count: testRun.report?.numTotalTestSuites ?? null, + }; +} + +function importSpecifiers(source) { + const result = []; + const pattern = /(?:\bfrom\s+|\bimport\s*\()\s*['"]([^'"]+)['"]/g; + for (const match of source.matchAll(pattern)) result.push(match[1]); + return result; +} + +function sourceFiles(root) { + const result = []; + const visit = (dir) => { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) visit(full); + else if (/\.(?:ts|tsx)$/.test(entry.name)) result.push(path.relative(root, full).split(path.sep).join('/')); + } + }; + visit(path.join(root, 'src')); + return result.sort(); +} + +function resolveSourceImport(fromFile, specifier, known) { + if (!specifier.startsWith('.')) return null; + const raw = path.posix.normalize(path.posix.join(path.posix.dirname(fromFile), specifier)); + const candidates = [raw, `${raw}.ts`, `${raw}.tsx`, path.posix.join(raw, 'index.ts')]; + return candidates.find((candidate) => known.has(candidate)) ?? null; +} + +function buildSourceGraph(root, catalog, nativeSelected = []) { + const files = sourceFiles(root); + const known = new Set(files); + const components = files.map((file) => { + const dependencies = importSpecifiers(fs.readFileSync(path.join(root, file), 'utf8')) + .map((specifier) => resolveSourceImport(file, specifier, known)) + .filter(Boolean); + return { id: file, dependencies: [...new Set(dependencies)].sort() }; + }); + components.push({ id: 'repo:metadata', dependencies: [] }); + for (const check of catalog.checks.filter((item) => item.type === 'unit-test')) { + components.push({ id: `testfile:${check.target}`, dependencies: [] }); + components.push({ id: `native:${check.id}`, dependencies: [] }); + } + return { + components: components.sort((a, b) => a.id.localeCompare(b.id)), + nativeSelected: [...nativeSelected].sort(), + }; +} + +function plannerCatalog(catalog) { + return catalog.checks.map((check) => ({ + id: check.id, + type: check.type, + command: check.invocation, + scope: { + components: check.type === 'unit-test' + ? [...check.scope, `testfile:${check.target}`, `native:${check.id}`].sort() + : [...check.scope], + }, + tags: [...check.tags], + test_executions: check.test_executions, + })); +} + +function metadataPath(changedPath) { + return [ + 'package.json', 'pnpm-lock.yaml', 'pnpm-workspace.yaml', 'vitest.config.mts', + 'tsconfig.json', 'eslint.config.mjs', 'rollup.config.mjs', + ].includes(changedPath) || changedPath.startsWith('.github/workflows/'); +} + +function createPlan(worktree, scenario, catalog, policy, native, nativeSelected = null) { + const graph = buildSourceGraph(worktree, catalog, nativeSelected ?? []); + const componentIds = new Set(graph.components.map((component) => component.id)); + let dependencyComplete = scenario.evidence_mode !== 'INCOMPLETE_DEPENDENCY_EVIDENCE'; + const impacts = scenario.changed_paths.map((changedPath) => { + let component = null; + if (componentIds.has(changedPath)) component = changedPath; + else if (changedPath.startsWith('tests/')) component = `testfile:${changedPath}`; + else if (metadataPath(changedPath)) component = 'repo:metadata'; + if (!component || !componentIds.has(component)) dependencyComplete = false; + const nativeComponents = (nativeSelected ?? []).map((id) => `native:${id}`); + return component + ? { path: changedPath, components: [component, ...nativeComponents].sort(), confidence: 'KNOWN', reason: 'deterministic AV-EXP-001 adapter mapping' } + : { path: changedPath, components: [], confidence: 'UNKNOWN', reason: 'changed path has no frozen component mapping' }; + }); + const providers = [ + { id: 'git-diff', kind: 'git-change-identity', version: '1', identity: scenario.patch_sha256 }, + { id: 'source-graph', kind: 'typescript-static-imports', version: 'av-exp-001-v1', identity: contentIdentity(graph.components) }, + ]; + if (nativeSelected !== null) { + providers.push({ id: 'native-vitest', kind: 'native-related-tests', version: native.version, identity: native.identity }); + } + const input = { + schema: 'opsle.affected-verification.input.v1', + change: { + base_revision: targetSha, + target_revision: scenario.patch_sha256, + identity: contentIdentity({ target_sha: targetSha, scenario_id: scenario.id, patch_sha256: scenario.patch_sha256 }), + paths: scenario.changed_paths.map((changedPath) => ({ + path: changedPath, + regions: scenario.changed_regions, + risk_tags: metadataPath(changedPath) ? ['verification-metadata'] + : ['src/index.ts', 'src/vanilla.ts', 'src/react.ts', 'src/types.d.ts'].includes(changedPath) + ? ['public-contract'] : [], + })), + }, + evidence: { + identity: contentIdentity({ components: graph.components, impacts, providers, complete: dependencyComplete }), + complete: dependencyComplete, + providers, + components: graph.components, + impacts, + }, + catalog: { identity: catalog.identity, complete: true, checks: plannerCatalog(catalog) }, + policy: { + identity: policy.identity, + version: 'av-exp-001-zustand-policy-v1', + rules: [ + { + id: 'always-non-test-catalog', + match: { path_globs: ['**'], risk_tags: [], component_ids: [] }, + escalation: 'NONE', + required_check_tags: ['non-test-required'], + }, + { + id: 'verification-metadata-full', + match: { path_globs: ['package.json', 'pnpm-lock.yaml', 'pnpm-workspace.yaml', 'vitest.config.mts', 'tsconfig.json', 'eslint.config.mjs', 'rollup.config.mjs', '.github/workflows/**'], risk_tags: [], component_ids: [] }, + escalation: 'FULL', + required_check_tags: [], + }, + { + id: 'public-contract-broaden', + match: { path_globs: [], risk_tags: ['public-contract'], component_ids: [] }, + escalation: 'BROADEN', + required_check_tags: ['typecheck', 'build'], + }, + ], + }, + }; + return { input, plan: planVerification(input), dependencyComplete }; +} + +function runNative(worktree, rawDir, scenario, catalog, native) { + const id = `${scenario.id}-native`; + const runResult = runVitest(worktree, rawDir, id, ['related', ...scenario.changed_paths, '--run']); + let selected = []; + if (runResult.report) { + selected = [...normalizeVitestOutcomes(runResult.report, worktree, catalog).keys()].sort(); + } else { + const combined = `${runResult.execution.stdout}\n${runResult.execution.stderr}`; + if (!/No test files found|no tests found/i.test(combined)) { + throw new Error(`native selector failed without a parseable selection for ${scenario.id}`); + } + } + const testIds = new Set(catalog.checks.filter((check) => check.type === 'unit-test').map((check) => check.id)); + if (selected.some((idValue) => !testIds.has(idValue))) throw new Error('native selector emitted non-test or unknown check'); + return { + selected_check_ids: selected, + observed_identity: identityWithout(native), + evidence_files: [runResult.commandRecord.stdout_file, runResult.commandRecord.stderr_file, + ...(fs.existsSync(runResult.outputFile) ? [path.relative(repoRoot, runResult.outputFile)] : [])], + duration_ms_observed: runResult.execution.duration_ms, + }; +} + +function skipRecord(check, arm, planCheck = null) { + if (arm === 'NATIVE') { + return { + check_id: check.id, + reason: check.type === 'unit-test' + ? 'Not selected by the frozen Vitest related output.' + : 'The native Vitest related arm does not select non-test catalog checks.', + evidence_refs: ['native-selector:zustand-vitest-related-v1', 'native-selector-output'], + }; + } + return { + check_id: check.id, + reason: planCheck.reasons.map((reason) => `${reason.code}: ${reason.detail}`).join('; '), + evidence_refs: [...new Set(planCheck.reasons.flatMap((reason) => reason.evidence_refs))].sort(), + }; +} + +function armFromSelection(catalog, selected, arm, plan = null) { + const selectedSet = new Set(selected); + return { + plan_identity: plan?.plan_identity ?? null, + selected_check_ids: [...selectedSet].sort(), + skipped_checks: catalog.checks.filter((check) => !selectedSet.has(check.id)).map((check) => { + const planCheck = plan?.skipped_checks.find((item) => item.id === check.id) ?? null; + return skipRecord(check, arm, planCheck); + }), + sufficiency: plan?.sufficiency ?? null, + uncertainty: plan?.uncertainty ?? null, + escalation: plan?.escalation ?? null, + policy_identity: plan?.provenance.policy_identity ?? null, + }; +} + +function workloadFor(catalog, arms) { + const availableTests = catalog.checks.filter((check) => check.type === 'unit-test') + .reduce((sum, check) => sum + check.test_executions, 0); + const availableFiles = catalog.checks.filter((check) => check.type === 'unit-test').length; + const nonTestTypes = [...new Set(catalog.checks.filter((check) => check.type !== 'unit-test').map((check) => check.type))].sort(); + const armWorkload = {}; + for (const [armId, arm] of Object.entries(arms)) { + const selected = new Set(arm.selected_check_ids); + const selectedTests = catalog.checks.filter((check) => selected.has(check.id) && check.type === 'unit-test'); + armWorkload[armId] = { + test_files: { available: availableFiles, selected: selectedTests.length, skipped: availableFiles - selectedTests.length }, + test_executions: { + available: availableTests, + selected: selectedTests.reduce((sum, check) => sum + check.test_executions, 0), + skipped: availableTests - selectedTests.reduce((sum, check) => sum + check.test_executions, 0), + }, + non_test_checks: Object.fromEntries(nonTestTypes.map((type) => { + const checks = catalog.checks.filter((check) => check.type === type); + const count = checks.filter((check) => selected.has(check.id)).length; + return [type, { available: checks.length, selected: count, skipped: checks.length - count }]; + })), + }; + } + return { units_not_combined: true, arms: armWorkload }; +} + +function evidenceHashes(files) { + return files.map((file) => `${file}=${sha256File(path.join(repoRoot, file))}`).sort(); +} + +function baseline(target, scratch, resultsDir, frozen, catalog) { + const runs = []; + for (let index = 1; index <= 3; index += 1) { + const runId = `baseline-${index}`; + const worktree = createWorktree(target, path.join(scratch, runId)); + const full = runFullCatalog(worktree, path.join(resultsDir, 'raw', runId), catalog, runId); + writeJson(path.join(resultsDir, 'baseline', `${runId}.json`), full); + console.error(`[Affected Verification] ${runId}: ${full.failed_check_ids.length ? 'FAIL' : 'PASS'}; ${full.test_count ?? 'unknown'} tests; duration OBSERVED`); + runs.push(full); + } + const stable = runs.every((item) => item.complete && item.failed_check_ids.length === 0 + && item.test_count === catalog.source.collection_count + && item.test_file_count === catalog.checks.filter((check) => check.type === 'unit-test').length); + if (!stable) throw new Error('baseline stability gate failed'); + const semantic = { + target_sha: targetSha, + catalog_identity: catalog.identity, + repetitions: runs.map((item) => ({ + full_run_identity: item.identity, + executed_check_ids: item.executed_check_ids, + failed_check_ids: item.failed_check_ids, + test_count: item.test_count, + test_file_count: item.test_file_count, + })), + stable: true, + }; + const record = { ...semantic, identity: contentIdentity(semantic), observed_durations_ms: runs.map((item) => item.observed_durations_ms) }; + writeJson(path.join(resultsDir, 'baseline', 'baseline-summary.json'), record); + return record; +} + +function scenarioResult(target, scratch, resultsDir, scenario, prereg, baselineRecord) { + const worktree = createWorktree(target, path.join(scratch, scenario.id)); + const patchFile = path.join(preregDir, scenario.patch); + const apply = run('git', ['apply', patchFile], { cwd: worktree }); + requireSuccess(apply, `materialize ${scenario.id}`); + const diff = run('git', ['diff', '--binary'], { cwd: worktree }); + requireSuccess(diff, `freeze materialized ${scenario.id}`); + const observedPatchSha256 = sha256File(patchFile); + if (observedPatchSha256 !== scenario.patch_sha256) throw new Error(`scenario patch/hash mismatch after materialization: ${scenario.id}`); + const changedPaths = git(worktree, ['diff', '--name-only']).split('\n').filter(Boolean).sort(); + if (JSON.stringify(changedPaths) !== JSON.stringify([...scenario.changed_paths].sort())) throw new Error(`scenario changed-path mismatch: ${scenario.id}`); + + const rawDir = path.join(resultsDir, 'raw', scenario.id); + const nativeRun = runNative(worktree, rawDir, scenario, prereg.catalog, prereg.native); + const core = createPlan(worktree, scenario, prereg.catalog, prereg.policy, prereg.native, null); + const withNative = createPlan(worktree, scenario, prereg.catalog, prereg.policy, prereg.native, nativeRun.selected_check_ids); + const full = runFullCatalog(worktree, rawDir, prereg.catalog, scenario.id); + writeJson(path.join(resultsDir, 'full', `${scenario.id}.json`), full); + if (!full.complete) throw new Error(`full-run incomplete: ${scenario.id}`); + const relevant = [...full.failed_check_ids].sort(); + const oracleSemantic = { + scenario_id: scenario.id, + full_run_identity: full.identity, + baseline_identity: baselineRecord.identity, + relevant_check_ids: relevant, + definition: 'Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.', + }; + const oracle = { ...oracleSemantic, identity: contentIdentity(oracleSemantic) }; + writeJson(path.join(resultsDir, 'oracle', `${scenario.id}.json`), oracle); + + const fullArm = { selected_check_ids: prereg.catalog.checks.map((check) => check.id).sort() }; + const arms = { + FULL: fullArm, + NATIVE: armFromSelection(prereg.catalog, nativeRun.selected_check_ids, 'NATIVE'), + AV_CORE: armFromSelection(prereg.catalog, core.plan.selected_checks.map((check) => check.id), 'AV_CORE', core.plan), + AV_WITH_NATIVE_EVIDENCE: armFromSelection(prereg.catalog, withNative.plan.selected_checks.map((check) => check.id), 'AV_WITH_NATIVE_EVIDENCE', withNative.plan), + }; + for (const armId of ['NATIVE', 'AV_CORE', 'AV_WITH_NATIVE_EVIDENCE']) { + const selected = new Set(arms[armId].selected_check_ids); + arms[armId].supplied_selection_misses = relevant.filter((id) => !selected.has(id)).sort(); + } + const evidenceFiles = [...full.evidence_files, ...nativeRun.evidence_files]; + const benchmarkResult = createShadowBenchmarkResult({ + experiment_id: 'AV-EXP-001', + benchmark_revision: `${preregistrationSha}+${amendmentIdentity}`, + trust_stage: 'SHADOW', + target: { repository: targetUrl, expected_sha: targetSha, observed_sha: git(worktree, ['rev-parse', 'HEAD']) }, + scenario: { + id: scenario.id, + identity: contentIdentity(scenario), + declared_patch_sha256: scenario.patch_sha256, + observed_patch_sha256: observedPatchSha256, + changed_paths: scenario.changed_paths, + }, + catalog: prereg.catalog, + observed_catalog_identity: identityWithout(prereg.catalog), + native_selector: { + declared_identity: prereg.native.identity, + observed_identity: nativeRun.observed_identity, + version: prereg.native.version, + }, + adapter_evidence: { valid: true, dependency_complete: core.dependencyComplete }, + planner: { version: plannerVersion(), policy_identity: prereg.policy.identity, declared_policy_identity: identityWithout(prereg.policy) }, + baseline: { identity: baselineRecord.identity, target_sha: targetSha, catalog_identity: prereg.catalog.identity, stable: baselineRecord.stable }, + full_run: { scenario_id: scenario.id, identity: full.identity, executed_check_ids: full.executed_check_ids, failed_check_ids: full.failed_check_ids, complete: full.complete }, + oracle: { ...oracle, stale: false }, + arms, + workload: workloadFor(prereg.catalog, arms), + evidence_hashes: evidenceHashes(evidenceFiles), + }); + validateShadowBenchmarkResult(benchmarkResult); + writeJson(path.join(resultsDir, 'scenarios', `${scenario.id}.json`), benchmarkResult); + + const av = benchmarkResult.arms.AV_WITH_NATIVE_EVIDENCE; + const testWork = benchmarkResult.workload.arms.AV_WITH_NATIVE_EVIDENCE.test_executions; + const telemetry = scenario.evidence_mode === 'INCOMPLETE_DEPENDENCY_EVIDENCE' + ? `[Affected Verification]\nScenario: ${scenario.id}\nImpact evidence incomplete\nTargeted skipping denied\nVerification broadened: FULL\nSelection miss risk: unresolved, fail-closed\n` + : `[Affected Verification]\nScenario: ${scenario.id}\nSelected tests: ${testWork.selected} / ${testWork.available}\nSkipped tests: ${testWork.skipped}\nOther selected checks: format, typecheck, lint, build\nSufficiency: ${av.sufficiency}\nShadow relevant checks: ${relevant.length - av.selection_misses.length} / ${relevant.length} selected\nSelection miss: ${av.selection_misses.length ? 'YES' : 'NO'}\n`; + fs.mkdirSync(path.join(resultsDir, 'telemetry'), { recursive: true }); + fs.writeFileSync(path.join(resultsDir, 'telemetry', `${scenario.id}.txt`), telemetry); + console.error(telemetry.trim()); + return benchmarkResult; +} + +function summarize(resultsDir, catalog, scenarioResults, baselineRecord) { + const selectors = ['NATIVE', 'AV_CORE', 'AV_WITH_NATIVE_EVIDENCE']; + const summary = { + schema: 'opsle.affected-verification.shadow-benchmark-summary.v1', + experiment_id: 'AV-EXP-001', + preregistration_sha: preregistrationSha, + amendment_identity: amendmentIdentity, + target: { repository: targetUrl, sha: targetSha }, + catalog_identity: catalog.identity, + baseline_identity: baselineRecord.identity, + scenario_count: scenarioResults.length, + scenarios_with_relevant_failures: scenarioResults.filter((result) => result.oracle.relevant_check_ids.length).length, + selector_results: {}, + scenario_result_identities: Object.fromEntries(scenarioResults.map((result) => [result.scenario.id, result.result_identity])), + trust_stage: 'SHADOW', + trust_decision: 'REMAIN_SHADOW', + claim_limit: 'No miss was observed only if the miss count is zero; either outcome is bounded to this frozen calibration corpus.', + }; + for (const selector of selectors) { + const relevant = scenarioResults.reduce((sum, result) => sum + result.oracle.relevant_check_ids.length, 0); + const misses = scenarioResults.flatMap((result) => result.arms[selector].selection_misses.map((checkId) => ({ scenario_id: result.scenario.id, check_id: checkId }))); + const selectedRelevant = relevant - misses.length; + summary.selector_results[selector] = { + relevant_checks: relevant, + selected_relevant_checks: selectedRelevant, + missed_relevant_checks: misses.length, + relevant_check_recall: relevant ? `${selectedRelevant}/${relevant}` : 'NOT_APPLICABLE', + scenario_level_miss_count: new Set(misses.map((miss) => miss.scenario_id)).size, + escalations: scenarioResults.filter((result) => result.arms[selector].escalation?.state === 'FULL').length, + misses, + }; + } + const withoutIdentity = { ...summary, summary_identity: undefined }; + summary.summary_identity = contentIdentity(withoutIdentity); + writeJson(path.join(resultsDir, 'summary.json'), summary); + return summary; +} + +function parseArgs(argv) { + const result = { command: argv[2] ?? 'help' }; + for (let index = 3; index < argv.length; index += 2) { + const key = argv[index]; + const value = argv[index + 1]; + if (!key?.startsWith('--') || value === undefined) throw new Error(`invalid argument: ${key}`); + result[key.slice(2)] = path.resolve(value); + } + return result; +} + +function prepare(target) { + if (fs.existsSync(target)) throw new Error(`target path already exists: ${target}`); + fs.mkdirSync(path.dirname(target), { recursive: true }); + const clone = run('git', ['clone', '--no-checkout', targetUrl, target], { timeout: 10 * 60 * 1000 }); + requireSuccess(clone, 'target clone'); + git(target, ['checkout', '--detach', targetSha]); + const install = run('corepack', ['pnpm', 'install', '--frozen-lockfile'], { cwd: target, timeout: 10 * 60 * 1000 }); + requireSuccess(install, 'target dependency install'); + return target; +} + +function main() { + const args = parseArgs(process.argv); + if (args.command === 'prepare') { + if (!args.target) throw new Error('--target is required'); + prepare(args.target); + console.error(`[Affected Verification] target prepared at ${args.target}`); + return; + } + if (args.command !== 'all') { + console.log('Usage: node benchmark/av-exp-001/run.mjs all --target --scratch --results '); + console.log(' or: node benchmark/av-exp-001/run.mjs prepare --target '); + return; + } + for (const key of ['target', 'scratch', 'results']) if (!args[key]) throw new Error(`--${key} is required`); + const prereg = verifyPreregistration(); + verifyTarget(args.target, prereg.environment?.frozen_target_files ?? readJson(path.join(preregDir, 'environment.json')).frozen_target_files); + if (fs.existsSync(args.scratch)) throw new Error(`scratch path already exists: ${args.scratch}`); + if (fs.existsSync(args.results)) throw new Error(`results path already exists: ${args.results}`); + fs.mkdirSync(args.scratch, { recursive: true }); + fs.mkdirSync(args.results, { recursive: true }); + const baselineRecord = baseline(args.target, args.scratch, args.results, readJson(path.join(preregDir, 'environment.json')).frozen_target_files, prereg.catalog); + const results = prereg.scenarios.scenarios.map((scenario) => scenarioResult(args.target, args.scratch, args.results, scenario, prereg, baselineRecord)); + const summary = summarize(args.results, prereg.catalog, results, baselineRecord); + console.error(`[Affected Verification] AV-EXP-001 complete in SHADOW: summary ${summary.summary_identity}`); +} + +main(); diff --git a/package.json b/package.json index 2c89c99..45c5e20 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "test": "node --test", "conformance": "node ./tools/conformance.js", "determinism": "node --test --test-name-pattern='deterministic|stable|identical'", - "verify": "npm run check && npm test && npm run conformance && npm run determinism" + "verify": "npm run check && npm test && npm run conformance && npm run determinism", + "benchmark:av-exp-001": "node benchmark/av-exp-001/run.mjs all" }, "engines": { "node": ">=20" diff --git a/src/benchmark.js b/src/benchmark.js new file mode 100644 index 0000000..2ba1ac0 --- /dev/null +++ b/src/benchmark.js @@ -0,0 +1,262 @@ +import { contentIdentity, deepFreeze } from './canonical.js'; +import { InputError } from './validate.js'; + +export const BENCHMARK_RESULT_SCHEMA = + 'opsle.affected-verification.shadow-benchmark-result.v1'; + +function fail(issues, code = 'INVALID_BENCHMARK_STATE') { + if (issues.length) throw new InputError(issues, code); +} + +function sortedUnique(values) { + return [...new Set(values)].sort(); +} + +function sameValues(left, right) { + return JSON.stringify(sortedUnique(left)) === JSON.stringify(sortedUnique(right)); +} + +function requireNonemptyString(value, path, issues) { + if (typeof value !== 'string' || value.length === 0) issues.push(`${path} must be a nonempty string`); +} + +function requireUnique(values, path, issues) { + if (!Array.isArray(values)) { + issues.push(`${path} must be an array`); + return; + } + if (new Set(values).size !== values.length) issues.push(`${path} contains duplicates`); +} + +export function validateScenarioManifest(manifest) { + const issues = []; + if (!manifest || typeof manifest !== 'object' || !Array.isArray(manifest.scenarios)) { + throw new InputError(['scenario manifest must contain scenarios'], 'INVALID_SCENARIO_MANIFEST'); + } + const ids = manifest.scenarios.map((scenario) => scenario?.id); + requireUnique(ids, 'scenario IDs', issues); + for (const [index, scenario] of manifest.scenarios.entries()) { + requireNonemptyString(scenario?.id, `scenarios[${index}].id`, issues); + requireNonemptyString(scenario?.patch_sha256, `scenarios[${index}].patch_sha256`, issues); + if (!Array.isArray(scenario?.changed_paths) || scenario.changed_paths.length === 0) { + issues.push(`scenarios[${index}].changed_paths must be nonempty`); + } + } + fail(issues, 'INVALID_SCENARIO_MANIFEST'); + return manifest; +} + +export function validateBenchmarkCatalog(catalog) { + const issues = []; + if (!catalog || typeof catalog !== 'object' || !Array.isArray(catalog.checks)) { + throw new InputError(['benchmark catalog must contain checks'], 'INVALID_BENCHMARK_CATALOG'); + } + requireNonemptyString(catalog.identity, 'catalog.identity', issues); + const ids = catalog.checks.map((check) => check?.id); + requireUnique(ids, 'catalog check IDs', issues); + for (const [index, check] of catalog.checks.entries()) { + requireNonemptyString(check?.id, `catalog.checks[${index}].id`, issues); + if (!Number.isSafeInteger(check?.test_executions) || check.test_executions < 0) { + issues.push(`catalog.checks[${index}].test_executions is invalid`); + } + } + fail(issues, 'INVALID_BENCHMARK_CATALOG'); + return catalog; +} + +function validateArm(armId, arm, catalogIds, issues) { + if (!arm || typeof arm !== 'object') { + issues.push(`arm ${armId} is missing`); + return; + } + const selected = arm.selected_check_ids ?? []; + const skipped = arm.skipped_checks ?? []; + requireUnique(selected, `arm ${armId} selected checks`, issues); + const skippedIds = skipped.map((item) => item?.check_id); + requireUnique(skippedIds, `arm ${armId} skipped checks`, issues); + for (const item of skipped) { + requireNonemptyString(item?.check_id, `arm ${armId} skipped check ID`, issues); + requireNonemptyString(item?.reason, `arm ${armId} skip reason`, issues); + if (!Array.isArray(item?.evidence_refs) || item.evidence_refs.length === 0) { + issues.push(`arm ${armId} skipped check ${item?.check_id ?? ''} lacks evidence references`); + } + } + if (!sameValues([...selected, ...skippedIds], catalogIds)) { + issues.push(`arm ${armId} does not partition the frozen catalog`); + } + if (selected.some((id) => skippedIds.includes(id))) { + issues.push(`arm ${armId} selects and skips the same check`); + } +} + +function derivedMisses(arm, relevantIds) { + const selected = new Set(arm.selected_check_ids); + return relevantIds.filter((id) => !selected.has(id)).sort(); +} + +export function createShadowBenchmarkResult(input) { + const issues = []; + requireNonemptyString(input?.experiment_id, 'experiment_id', issues); + requireNonemptyString(input?.benchmark_revision, 'benchmark_revision', issues); + if (input?.trust_stage !== 'SHADOW') issues.push('benchmark trust stage must remain SHADOW'); + if (input?.requested_trust_stage && input.requested_trust_stage !== 'SHADOW') { + issues.push('unsafe attempt to mark SHADOW result as trusted'); + } + + const target = input?.target ?? {}; + if (target.expected_sha !== target.observed_sha) issues.push('target SHA mismatch'); + const scenario = input?.scenario ?? {}; + if (scenario.declared_patch_sha256 !== scenario.observed_patch_sha256) issues.push('scenario patch/hash mismatch'); + + const catalog = validateBenchmarkCatalog(input?.catalog ?? {}); + const catalogIds = catalog.checks.map((check) => check.id).sort(); + if (catalog.identity !== input?.observed_catalog_identity) issues.push('catalog drift'); + + const nativeSelector = input?.native_selector ?? {}; + if (nativeSelector.declared_identity !== nativeSelector.observed_identity) { + issues.push('native selector version drift'); + } + if (input?.adapter_evidence?.valid !== true) issues.push('malformed adapter evidence'); + + const planner = input?.planner ?? {}; + if (planner.policy_identity !== planner.declared_policy_identity) issues.push('planner policy mismatch'); + + const baseline = input?.baseline ?? {}; + requireNonemptyString(baseline.identity, 'baseline.identity', issues); + if (baseline.target_sha !== target.expected_sha || baseline.catalog_identity !== catalog.identity || baseline.stable !== true) { + issues.push('incorrect baseline identity'); + } + + const fullRun = input?.full_run ?? {}; + if (fullRun.scenario_id !== scenario.id) issues.push('full-run result bound to wrong scenario'); + if (fullRun.complete !== true || !sameValues(fullRun.executed_check_ids ?? [], catalogIds)) { + issues.push('full-run result is incomplete'); + } + requireUnique(fullRun.failed_check_ids ?? [], 'full-run failed checks', issues); + + const oracle = input?.oracle ?? {}; + if (oracle.stale === true || oracle.scenario_id !== scenario.id + || oracle.full_run_identity !== fullRun.identity + || oracle.baseline_identity !== baseline.identity) { + issues.push('stale oracle result'); + } + const relevantIds = sortedUnique(oracle.relevant_check_ids ?? []); + if (relevantIds.some((id) => !(fullRun.failed_check_ids ?? []).includes(id))) { + issues.push('oracle relevant check is not a full-run failure'); + } + + const inputArms = input?.arms ?? {}; + const armIds = ['NATIVE', 'AV_CORE']; + if (inputArms.AV_WITH_NATIVE_EVIDENCE) armIds.push('AV_WITH_NATIVE_EVIDENCE'); + for (const armId of armIds) { + validateArm(armId, inputArms[armId], catalogIds, issues); + if (armId.startsWith('AV_')) { + if (inputArms[armId]?.policy_identity !== planner.policy_identity) { + issues.push(`arm ${armId} policy identity mismatch`); + } + if (input?.adapter_evidence?.dependency_complete === false + && !sameValues(inputArms[armId]?.selected_check_ids ?? [], catalogIds)) { + issues.push(`arm ${armId} targeted skipping denied for incomplete dependency evidence`); + } + } + const derived = derivedMisses(inputArms[armId] ?? { selected_check_ids: [] }, relevantIds); + if (inputArms[armId]?.supplied_selection_misses + && !sameValues(inputArms[armId].supplied_selection_misses, derived)) { + issues.push(`arm ${armId} fabricated shadow miss state`); + } + } + fail(issues); + + const arms = { + FULL: { + selected_check_ids: catalogIds, + skipped_checks: [], + selection_misses: [], + }, + }; + for (const armId of armIds) { + const arm = inputArms[armId]; + arms[armId] = { + plan_identity: arm.plan_identity ?? null, + selected_check_ids: [...arm.selected_check_ids].sort(), + skipped_checks: [...arm.skipped_checks] + .map((item) => ({ + check_id: item.check_id, + reason: item.reason, + evidence_refs: [...item.evidence_refs].sort(), + })) + .sort((a, b) => a.check_id.localeCompare(b.check_id)), + sufficiency: arm.sufficiency ?? null, + uncertainty: arm.uncertainty ?? null, + escalation: arm.escalation ?? null, + selection_misses: derivedMisses(arm, relevantIds), + }; + } + + const withoutIdentity = { + schema: BENCHMARK_RESULT_SCHEMA, + result_identity: null, + experiment_id: input.experiment_id, + benchmark_revision: input.benchmark_revision, + trust_stage: 'SHADOW', + target: { + repository: target.repository, + sha: target.expected_sha, + }, + scenario: { + id: scenario.id, + identity: scenario.identity, + patch_sha256: scenario.declared_patch_sha256, + changed_paths: [...scenario.changed_paths].sort(), + }, + verification_catalog_identity: catalog.identity, + planner: { + version: planner.version, + policy_identity: planner.policy_identity, + }, + native_selector: { + identity: nativeSelector.declared_identity, + version: nativeSelector.version, + }, + baseline_identity: baseline.identity, + full_run: { + identity: fullRun.identity, + executed_check_ids: [...fullRun.executed_check_ids].sort(), + failed_check_ids: [...fullRun.failed_check_ids].sort(), + complete: true, + }, + oracle: { + identity: oracle.identity, + relevant_check_ids: relevantIds, + claim: 'Relevant within this frozen verification catalog.', + }, + arms, + workload: input.workload, + evidence_hashes: [...input.evidence_hashes].sort(), + }; + const result = { + ...withoutIdentity, + result_identity: contentIdentity({ ...withoutIdentity, result_identity: undefined }), + }; + return deepFreeze(result); +} + +export function validateShadowBenchmarkResult(result) { + const issues = []; + if (result?.schema !== BENCHMARK_RESULT_SCHEMA) issues.push('benchmark result schema mismatch'); + if (result?.trust_stage !== 'SHADOW') issues.push('unsafe attempt to mark SHADOW result as trusted'); + const expectedIdentity = contentIdentity({ ...result, result_identity: undefined }); + if (result?.result_identity !== expectedIdentity) issues.push('result tampering'); + const catalogIds = result?.arms?.FULL?.selected_check_ids ?? []; + const relevantIds = result?.oracle?.relevant_check_ids ?? []; + for (const armId of ['NATIVE', 'AV_CORE', 'AV_WITH_NATIVE_EVIDENCE']) { + const arm = result?.arms?.[armId]; + if (!arm) continue; + validateArm(armId, arm, catalogIds, issues); + if (!sameValues(arm.selection_misses ?? [], derivedMisses(arm, relevantIds))) { + issues.push(`arm ${armId} fabricated shadow miss state`); + } + } + fail(issues, 'INVALID_SHADOW_RESULT'); + return result; +} diff --git a/src/index.js b/src/index.js index 9b1a431..9ba6cd7 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,13 @@ export { canonicalJson, contentIdentity } from './canonical.js'; export { planVerification } from './planner.js'; export { classifyShadow } from './shadow.js'; +export { + BENCHMARK_RESULT_SCHEMA, + createShadowBenchmarkResult, + validateBenchmarkCatalog, + validateScenarioManifest, + validateShadowBenchmarkResult, +} from './benchmark.js'; export { buildValueReceipt, operatorIndicator } from './value-receipt.js'; export { INPUT_SCHEMA, diff --git a/tests/benchmark.test.js b/tests/benchmark.test.js new file mode 100644 index 0000000..ea587cb --- /dev/null +++ b/tests/benchmark.test.js @@ -0,0 +1,198 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { + createShadowBenchmarkResult, + validateScenarioManifest, + validateShadowBenchmarkResult, +} from '../src/index.js'; + +function skip(checkId) { + return { + check_id: checkId, + reason: 'outside frozen impact closure', + evidence_refs: ['impact-evidence', 'catalog'], + }; +} + +function validInput() { + return { + experiment_id: 'AV-EXP-001', + benchmark_revision: 'preregistration-sha', + trust_stage: 'SHADOW', + target: { + repository: 'https://example.test/repo.git', + expected_sha: 'target-sha', + observed_sha: 'target-sha', + }, + scenario: { + id: 'AVS-001', + identity: 'scenario-identity', + declared_patch_sha256: 'sha256:patch', + observed_patch_sha256: 'sha256:patch', + changed_paths: ['src/a.ts'], + }, + catalog: { + identity: 'sha256:catalog', + checks: [ + { id: 'test:a', type: 'unit-test', test_executions: 2 }, + { id: 'test:b', type: 'unit-test', test_executions: 3 }, + { id: 'check:lint', type: 'lint', test_executions: 0 }, + ], + }, + observed_catalog_identity: 'sha256:catalog', + native_selector: { + declared_identity: 'sha256:native', + observed_identity: 'sha256:native', + version: '1.0.0', + }, + adapter_evidence: { valid: true, dependency_complete: true }, + planner: { + version: 'planner-sha', + policy_identity: 'sha256:policy', + declared_policy_identity: 'sha256:policy', + }, + baseline: { + identity: 'sha256:baseline', + target_sha: 'target-sha', + catalog_identity: 'sha256:catalog', + stable: true, + }, + full_run: { + scenario_id: 'AVS-001', + identity: 'sha256:full', + executed_check_ids: ['test:a', 'test:b', 'check:lint'], + failed_check_ids: ['test:b'], + complete: true, + }, + oracle: { + identity: 'sha256:oracle', + scenario_id: 'AVS-001', + full_run_identity: 'sha256:full', + baseline_identity: 'sha256:baseline', + relevant_check_ids: ['test:b'], + stale: false, + }, + arms: { + NATIVE: { + selected_check_ids: ['test:a'], + skipped_checks: [skip('test:b'), skip('check:lint')], + supplied_selection_misses: ['test:b'], + }, + AV_CORE: { + plan_identity: 'sha256:plan-core', + selected_check_ids: ['test:a', 'check:lint'], + skipped_checks: [skip('test:b')], + supplied_selection_misses: ['test:b'], + sufficiency: 'SUFFICIENT_TARGETED', + uncertainty: { state: 'NONE', reasons: [] }, + escalation: { state: 'NONE', reasons: [] }, + policy_identity: 'sha256:policy', + }, + AV_WITH_NATIVE_EVIDENCE: { + plan_identity: 'sha256:plan-native', + selected_check_ids: ['test:a', 'test:b', 'check:lint'], + skipped_checks: [], + supplied_selection_misses: [], + sufficiency: 'SUFFICIENT_BROADENED', + uncertainty: { state: 'NONE', reasons: [] }, + escalation: { state: 'BROADENED', reasons: [] }, + policy_identity: 'sha256:policy', + }, + }, + workload: { + test_executions_available: 5, + arms: { + FULL: { selected: 5, skipped: 0 }, + NATIVE: { selected: 2, skipped: 3 }, + AV_CORE: { selected: 2, skipped: 3 }, + AV_WITH_NATIVE_EVIDENCE: { selected: 5, skipped: 0 }, + }, + }, + evidence_hashes: ['sha256:raw-full', 'sha256:native-output'], + }; +} + +function expectStateError(mutator, pattern) { + const input = validInput(); + mutator(input); + assert.throws(() => createShadowBenchmarkResult(input), pattern); +} + +test('creates and validates an identity-bound SHADOW result', () => { + const result = createShadowBenchmarkResult(validInput()); + assert.equal(result.trust_stage, 'SHADOW'); + assert.deepEqual(result.arms.NATIVE.selection_misses, ['test:b']); + assert.deepEqual(result.arms.AV_WITH_NATIVE_EVIDENCE.selection_misses, []); + assert.equal(validateShadowBenchmarkResult(result), result); +}); + +test('rejects target SHA mismatch', () => { + expectStateError((input) => { input.target.observed_sha = 'other'; }, /target SHA mismatch/); +}); + +test('rejects scenario patch/hash mismatch', () => { + expectStateError((input) => { input.scenario.observed_patch_sha256 = 'other'; }, /scenario patch\/hash mismatch/); +}); + +test('rejects catalog drift', () => { + expectStateError((input) => { input.observed_catalog_identity = 'other'; }, /catalog drift/); +}); + +test('rejects native selector version drift', () => { + expectStateError((input) => { input.native_selector.observed_identity = 'other'; }, /native selector version drift/); +}); + +test('rejects malformed adapter evidence', () => { + expectStateError((input) => { input.adapter_evidence.valid = false; }, /malformed adapter evidence/); +}); + +test('denies targeted skipping with incomplete dependency evidence', () => { + expectStateError((input) => { input.adapter_evidence.dependency_complete = false; }, /targeted skipping denied/); +}); + +test('rejects incorrect baseline identity', () => { + expectStateError((input) => { input.baseline.target_sha = 'other'; }, /incorrect baseline identity/); +}); + +test('rejects stale oracle result', () => { + expectStateError((input) => { input.oracle.full_run_identity = 'other'; }, /stale oracle result/); +}); + +test('rejects duplicate scenario identity', () => { + const scenario = { + id: 'AVS-001', + patch_sha256: 'sha256:patch', + changed_paths: ['src/a.ts'], + }; + assert.throws( + () => validateScenarioManifest({ scenarios: [scenario, { ...scenario }] }), + /scenario IDs contains duplicates/, + ); +}); + +test('rejects full-run result bound to wrong scenario', () => { + expectStateError((input) => { input.full_run.scenario_id = 'AVS-999'; }, /full-run result bound to wrong scenario/); +}); + +test('rejects missing skip reason', () => { + expectStateError((input) => { input.arms.NATIVE.skipped_checks[0].reason = ''; }, /skip reason/); +}); + +test('rejects fabricated shadow miss state', () => { + expectStateError((input) => { input.arms.NATIVE.supplied_selection_misses = []; }, /fabricated shadow miss state/); +}); + +test('rejects planner policy mismatch', () => { + expectStateError((input) => { input.planner.policy_identity = 'other'; }, /planner policy mismatch/); +}); + +test('rejects result tampering', () => { + const result = structuredClone(createShadowBenchmarkResult(validInput())); + result.workload.test_executions_available = 999; + assert.throws(() => validateShadowBenchmarkResult(result), /result tampering/); +}); + +test('rejects unsafe attempt to mark SHADOW as trusted', () => { + expectStateError((input) => { input.requested_trust_stage = 'TRUSTED_BOUNDED'; }, /unsafe attempt/); +}); From 3cbe1292f1d7c1c8a177d1f1911dc56ec53411b2 Mon Sep 17 00:00:00 2001 From: Deploy Date: Mon, 31 Aug 2026 02:16:15 +0000 Subject: [PATCH 3/5] Correct AV-EXP-001 reporter and semantic identity handling --- .../amendments/002-reporter-semantics.md | 32 +++ .../baseline/baseline-1.json | 185 ++++++++++++++++++ .../baseline/baseline-2.json | 185 ++++++++++++++++++ .../baseline/baseline-3.json | 185 ++++++++++++++++++ .../baseline-1-build.execution.json | 15 ++ .../baseline-1/baseline-1-build.stderr.log | 8 + .../baseline-1/baseline-1-build.stdout.log | 59 ++++++ .../baseline-1-format.execution.json | 15 ++ .../baseline-1/baseline-1-format.stderr.log | 1 + .../baseline-1/baseline-1-format.stdout.log | 2 + .../baseline-1/baseline-1-lint.execution.json | 15 ++ .../raw/baseline-1/baseline-1-lint.stderr.log | 1 + .../raw/baseline-1/baseline-1-lint.stdout.log | 2 + .../baseline-1-tests.execution.json | 18 ++ .../baseline-1/baseline-1-tests.stderr.log | 0 .../baseline-1/baseline-1-tests.stdout.log | 3 + .../baseline-1/baseline-1-tests.vitest.json | 1 + .../baseline-1-typecheck.execution.json | 15 ++ .../baseline-1-typecheck.stderr.log | 1 + .../baseline-1-typecheck.stdout.log | 2 + .../baseline-2-build.execution.json | 15 ++ .../baseline-2/baseline-2-build.stderr.log | 8 + .../baseline-2/baseline-2-build.stdout.log | 59 ++++++ .../baseline-2-format.execution.json | 15 ++ .../baseline-2/baseline-2-format.stderr.log | 1 + .../baseline-2/baseline-2-format.stdout.log | 2 + .../baseline-2/baseline-2-lint.execution.json | 15 ++ .../raw/baseline-2/baseline-2-lint.stderr.log | 1 + .../raw/baseline-2/baseline-2-lint.stdout.log | 2 + .../baseline-2-tests.execution.json | 18 ++ .../baseline-2/baseline-2-tests.stderr.log | 0 .../baseline-2/baseline-2-tests.stdout.log | 3 + .../baseline-2/baseline-2-tests.vitest.json | 1 + .../baseline-2-typecheck.execution.json | 15 ++ .../baseline-2-typecheck.stderr.log | 1 + .../baseline-2-typecheck.stdout.log | 2 + .../baseline-3-build.execution.json | 15 ++ .../baseline-3/baseline-3-build.stderr.log | 8 + .../baseline-3/baseline-3-build.stdout.log | 59 ++++++ .../baseline-3-format.execution.json | 15 ++ .../baseline-3/baseline-3-format.stderr.log | 1 + .../baseline-3/baseline-3-format.stdout.log | 2 + .../baseline-3/baseline-3-lint.execution.json | 15 ++ .../raw/baseline-3/baseline-3-lint.stderr.log | 1 + .../raw/baseline-3/baseline-3-lint.stdout.log | 2 + .../baseline-3-tests.execution.json | 18 ++ .../baseline-3/baseline-3-tests.stderr.log | 0 .../baseline-3/baseline-3-tests.stdout.log | 3 + .../baseline-3/baseline-3-tests.vitest.json | 1 + .../baseline-3-typecheck.execution.json | 15 ++ .../baseline-3-typecheck.stderr.log | 1 + .../baseline-3-typecheck.stdout.log | 2 + benchmark/av-exp-001/run.mjs | 25 +-- src/benchmark.js | 12 +- 54 files changed, 1085 insertions(+), 13 deletions(-) create mode 100644 benchmark/av-exp-001/amendments/002-reporter-semantics.md create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-1.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-2.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-3.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stdout.log diff --git a/benchmark/av-exp-001/amendments/002-reporter-semantics.md b/benchmark/av-exp-001/amendments/002-reporter-semantics.md new file mode 100644 index 0000000..a8d5fd7 --- /dev/null +++ b/benchmark/av-exp-001/amendments/002-reporter-semantics.md @@ -0,0 +1,32 @@ +# AV-EXP-001 benchmark amendment 002 + +Status: harness-only amendment before comparative scenario execution + +After amendment 001, three new clean baseline repetitions each completed all +17 catalog checks, passed 224 of 224 tests, and had no failed checks. The gate +still stopped before scenarios because the runner treated Vitest's +`numTotalTestSuites` as a test-file count. Vitest 4.1.10 reported 66 nested +suites and separately emitted 13 per-file `testResults`, matching the frozen +catalog. + +Review of the same baseline artifacts also found that raw stdout/stderr hashes +were included in semantic full-run and benchmark-result identities. Raw reports +may contain observed timestamps or durations, so this violated the frozen rule +that semantic identities must not depend on timing. + +Amendment: + +1. derive the test-file count from normalized `testResults.length` and continue + requiring exactly 13 frozen file outcomes and 224 test cases; +2. retain and hash raw output as observational evidence, but exclude raw + evidence hashes from semantic full-run and benchmark-result identities; +3. continue binding command identities, exit states, normalized per-check + outcomes, catalog, scenario, oracle, planner, policy, and selector identities; +4. retain this stopped baseline attempt under `attempts/harness-defect-002/`; +5. rerun three fresh clean baselines before any scenario. + +This amendment does not change any target, catalog, selector, scenario, patch, +oracle, metric, analysis, or stop rule frozen at preregistration. + +Amendment identity: +`sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e` diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-1.json b/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-1.json new file mode 100644 index 0000000..646dcc1 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-1.json @@ -0,0 +1,185 @@ +{ + "scenario_id": "baseline-1", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_evidence": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:8e127ad45f46dd3daf1ac84868d885680e7d2c032e0efe9d91209bdae4c8a5d6", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:63fd119e84427c1102f8d841434d47a0d91cea3740e257df3a8d9fa98fedc434", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:310864af89afb0e14237134e4bc98ca280a8483b4bab55652546b0217f49151d", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:b54e84c5c42410a1321d1b23d0a51525fc4bbe882943c84b4cf725466287d7a7", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" + } + ], + "identity": "sha256:3dc37640e17836a69ab6d2acb1c19558e85185c9fc7603cfe26f4be3838d0e88", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "duration_ms": 4220.339 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4473.455 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3436.344 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6119.323 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9224.959 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 66 +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-2.json b/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-2.json new file mode 100644 index 0000000..b6e6860 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-2.json @@ -0,0 +1,185 @@ +{ + "scenario_id": "baseline-2", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_evidence": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:865439edba90f0652ba09dd38351f63ce1bf7e7cf71d24d23be2e00a4df14562", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:6c759f091e900e38f10885d6cd128e4f416217d36d299876631e9e6b85802af9", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:82ea1a1d7adf617a81387b83fe72ee72d4ed0c226c72479f7c85c763ac41ab4a", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:bfe4119bfe9831aea1a1840d3545ab8335cf52d79b6b69f873f3f32e44b98ffe", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" + } + ], + "identity": "sha256:0aed4b1be275782fb82b832b7812da85b715bfee043ea2a79d4ac799540298e8", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "duration_ms": 4463.06 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4811.711 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4707.219 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6427.291 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10182.62 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 66 +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-3.json b/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-3.json new file mode 100644 index 0000000..bb49265 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/baseline/baseline-3.json @@ -0,0 +1,185 @@ +{ + "scenario_id": "baseline-3", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_evidence": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:bcec38ff61f57bfcc976ecf6077589e7043f2c5b79c83faf76f385bad9dbc538", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:62de920dea94d102f97b2c238ad9676b34d71e0c1701490e1cbef93f289e2a33", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:50bae0a0cb4a43d2e8f991e05cac9cac24e763bb3eb529916ff48945c88fb1ca", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:26af779f16b7a72d4f0d63b6286d06bc38fc04dfb6897960a1a19aa7f355c73e", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null, + "stdout_sha256": "sha256:c4e685b00231dbe87ca06050e5bac766c93e0d1af42d3ecf860cb5485e7d49d8", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" + } + ], + "identity": "sha256:578b54728952bd7528c5ed97ea6c9f7edd44c7c6028a2ca60235a1a5e7f37118", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "duration_ms": 4502.576 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4378.81 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3696.856 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6087.764 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9064.464 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 66 +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.execution.json new file mode 100644 index 0000000..4968b4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9224.959, + "spawn_error": null, + "stdout_sha256": "sha256:b54e84c5c42410a1321d1b23d0a51525fc4bbe882943c84b4cf725466287d7a7", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stdout.log new file mode 100644 index 0000000..284fd24 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 413ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 61ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 63ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 13ms +. build:vanilla: created dist/esm/vanilla.mjs in 14ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 177ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 75ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 64ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 41ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 13ms +. build:shallow: created dist/esm/shallow.mjs in 12ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 57ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 20ms +. build:vanilla:shallow: Done +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: created dist/traditional.js in 67ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/react/shallow.js in 66ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 14ms +. build:traditional: created dist/esm/traditional.mjs in 26ms +. build:react:shallow: Done +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 2.9s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 37ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 11ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.execution.json new file mode 100644 index 0000000..1de9e4f --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4473.455, + "spawn_error": null, + "stdout_sha256": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stdout.log new file mode 100644 index 0000000..d7a9876 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 420ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.execution.json new file mode 100644 index 0000000..2b8b206 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6119.323, + "spawn_error": null, + "stdout_sha256": "sha256:310864af89afb0e14237134e4bc98ca280a8483b4bab55652546b0217f49151d", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stdout.log new file mode 100644 index 0000000..462d80d --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 402ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.execution.json new file mode 100644 index 0000000..5413823 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4220.339, + "spawn_error": null, + "stdout_sha256": "sha256:8e127ad45f46dd3daf1ac84868d885680e7d2c032e0efe9d91209bdae4c8a5d6", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stdout.log new file mode 100644 index 0000000..94e44d2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 415ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.vitest.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.vitest.json new file mode 100644 index 0000000..0620ff5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142403759,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":7.7983419999998205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":25.221059999999852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.3498870000000807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":4.576532999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":10.902565000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.2075760000000173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.10518100000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.4119869999999537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.3954989999999725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.856359999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":3.5374389999999494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3614220000001751,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.32361199999991186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.39453099999991537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7819449999999506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.5288220000002184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.5256030000000464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":5.742040000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":3.8362690000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":8.533294999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":2.864793999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":0.9316449999998895,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405255,"endTime":1788142405366.9316,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.029371000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.1924070000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.7190239999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":6.651694000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":0.9692259999999351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.644952000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.43905199999994693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2985510000000886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3812329999998383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3916719999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5365220000001045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.4202580000001035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5421219999998357,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.48991399999999885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.48416199999996934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.0807259999999133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6834929999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6836929999999484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6002329999998892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.45591300000000956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4477719999999863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.625182999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3931110000000899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4479910000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.58467399999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.4174319999999625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":2.28177299999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.26903199999992466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.8902150000001257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.31594199999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.31137199999989207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5789030000000821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3779070000000502,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.722059000000172,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5371580000000904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.48194200000011733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.7949750000000222,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.460128000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8428940000001148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1919060000000172,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0397860000000492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6493230000000949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6285029999999097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.2573859999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9642939999998816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.129380000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.67813799999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0899939999999333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8208340000001044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8985549999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6023540000001049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.6172090000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5937120000000959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7191049999998995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6127120000001014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7074640000000727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8768139999999676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5729819999999108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.760629999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.6548679999998512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.0686789999999746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.2834020000000237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.2876270000001568,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.66542400000003,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405281,"endTime":1788142405347.6655,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.8625150000000303,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.9177549999999428,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2417520000001332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.8444130000000314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2777419999999893,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142406579,"endTime":1788142406584.2778,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.3818269999999302,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5339319999998224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.25212199999987206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.4852720000001227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.3258009999999558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.14980100000002494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.27201099999979306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.2134209999999257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":0.8940540000000965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.7672240000001693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.23440099999993436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.21151000000008935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.15099000000009255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.3187129999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.13530999999989035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1892809999999372,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.26226100000008046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.17470000000002983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.572653000000173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24558999999999287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.21479199999998855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.21392100000002756,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.10656099999982871,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.22245100000009188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.22685100000012426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.21068100000002232,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405305,"endTime":1788142405314.2268,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":50.93307000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.671869000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":10.60733399999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":6.515133000000105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.818120000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.585998000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.0266159999998763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.813329999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.379073999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":5.754879999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":5.257777000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7180040000000645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8874140000000352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.2843559999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":4.3527030000000195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.8040750000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.2785069999999905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.618572999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.3339379999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7028929999999036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9212049999998726,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.7271139999998013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5213420000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.474411999999802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.20202199999994264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.613973999999871,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405301,"endTime":1788142405435.614,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":13.625690000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.079926000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.8072399999998652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.7601349999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6184829999999693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.38826300000005176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.31729199999995217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.1940260000001217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.343146999999817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.44103199999995013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.7730939999999009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4205130000000281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.38938200000006873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2061909999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":3.5239879999999175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.38001199999985147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.1618250000001353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.466122999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3785020000000259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.7083330000000387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7735029999998915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.21560100000010607,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405300,"endTime":1788142405333.2156,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.7969289999998637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.37324199999989105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":35.38623000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.592024000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.190352000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":5.319666999999981,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142406513,"endTime":1788142406569.3196,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":42.27540699999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":5.982521000000133,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142406611,"endTime":1788142406658.9824,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.4578480000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.7457739999999831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.590887000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5131830000000264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.32428200000003926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.23050100000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.2931710000000294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3500129999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2562009999999191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.3639109999999164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.22857100000010178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.0589849999998933,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142406530,"endTime":1788142406537.059,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.1474410000000717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8283530000001065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.30379199999993034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.3377709999999752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9305860000001758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.22454100000004473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.1920110000000932,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405273,"endTime":1788142405278.2246,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":8.798384999999826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5178829999999834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.4074319999999716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.45524199999999837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.4329729999999472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8489150000000336,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6976040000001831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.34097300000007635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.6894929999998567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.28468199999997523,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142406472,"endTime":1788142406486.2847,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.3971720000001824,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.45700299999998606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.33714100000020153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.23149100000000544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.33552099999997154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.22185100000001512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.48287299999992683,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.1460100000001603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.18594000000007327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.2783710000001065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.20899100000019644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.14869100000009894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.5386320000000069,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142405245,"endTime":1788142405251.5386,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.254159999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.009321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.42556100000001607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5158129999999801,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.5336919999999736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3438720000001467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5756940000001123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.6249639999998635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.9695540000000165,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142406470,"endTime":1788142406477.9695,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-1/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.execution.json new file mode 100644 index 0000000..f9052f0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3436.344, + "spawn_error": null, + "stdout_sha256": "sha256:63fd119e84427c1102f8d841434d47a0d91cea3740e257df3a8d9fa98fedc434", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stdout.log new file mode 100644 index 0000000..3ee7aee --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-1/baseline-1-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 390ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.execution.json new file mode 100644 index 0000000..7c338fa --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10182.62, + "spawn_error": null, + "stdout_sha256": "sha256:bfe4119bfe9831aea1a1840d3545ab8335cf52d79b6b69f873f3f32e44b98ffe", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stdout.log new file mode 100644 index 0000000..7385d7c --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 427ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:base: src/index.ts → dist... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: created dist/vanilla.js in 65ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 65ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 16ms +. build:react: created dist/esm/react.mjs in 30ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 161ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 70ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 59ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 15ms +. build:shallow: created dist/shallow.js in 48ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 19ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 71ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 23ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 53ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 13ms +. build:traditional: created dist/traditional.js in 74ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 20ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.1s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 45ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 13ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.execution.json new file mode 100644 index 0000000..d604fd2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4811.711, + "spawn_error": null, + "stdout_sha256": "sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stdout.log new file mode 100644 index 0000000..f74db88 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 417ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.execution.json new file mode 100644 index 0000000..3e4f1e2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6427.291, + "spawn_error": null, + "stdout_sha256": "sha256:82ea1a1d7adf617a81387b83fe72ee72d4ed0c226c72479f7c85c763ac41ab4a", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stdout.log new file mode 100644 index 0000000..871bbad --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 435ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.execution.json new file mode 100644 index 0000000..9221aba --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4463.06, + "spawn_error": null, + "stdout_sha256": "sha256:865439edba90f0652ba09dd38351f63ce1bf7e7cf71d24d23be2e00a4df14562", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stdout.log new file mode 100644 index 0000000..e3ce86e --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 430ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.vitest.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.vitest.json new file mode 100644 index 0000000..260a0d9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142432936,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":8.239610999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.073385000000144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.0120949999998174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":11.37162699999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.584566999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.8040199999998094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.151060000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.241036000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.201565999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":15.885647999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.931050000000141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.35811199999989185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.31228200000009565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5410529999999198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.5815970000001016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.237615999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.320496000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":7.906590000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.757869000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.655198000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.3054859999999735,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":2.0496200000000044,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434532,"endTime":1788142434672.0496,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":8.238941000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":2.775235000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.467207000000144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":11.188736000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.8634690000001228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.9392450000000281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.39557200000012926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3593829999999798,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.6651330000001963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.6901030000001356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.7202330000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.2502159999999094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6345929999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.4906130000001667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.451951999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.6348880000000463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9472439999999551,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.694332999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5601719999999659,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5083139999999275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.6330029999999169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.7241440000000239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.37989200000015444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.41964200000006713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.6267139999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5802929999999833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.4586980000001404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.2611909999998261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5712439999999788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.31496100000003935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.32143199999995886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5522119999998267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3551770000001397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.655467999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5659579999999096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5049819999999272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.683022999999821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.389957000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.9466549999999643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3527169999999842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.3161969999998746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.8103939999998602,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.7915839999998298,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8873939999998584,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.0052250000001095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.342591999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.7255680000000666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0622659999999087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8352440000001025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0750049999999192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6740330000000085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.9577189999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7165140000001884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8817249999999603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.9288739999999507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":1.022965000000113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.0026749999999538,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.8105839999998352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.3951019999999517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.3985529999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.8294690000000173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.37946099999999205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.713647999999921,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.8834650000001147,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434572,"endTime":1788142434656.8835,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.345154999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.774974999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.30128100000001723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.0318859999999859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.30944099999987884,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142435875,"endTime":1788142435881.3093,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.2251020000001063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8782840000001215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4024019999999382,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":1.5083980000001702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.37880199999995057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.21836099999995895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.5516629999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.32175200000006043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.324297000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.7338429999999789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2700710000001436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.6033119999999599,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.3173819999999523,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.2334610000000339,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.169360000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.19515000000001237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2419910000000982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.29489200000011806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.23145199999999022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2474810000001071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.8068049999999403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.495761999999786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.3645419999998012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.28439099999991413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.24495200000001205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.27143200000000434,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434573,"endTime":1788142434588.2715,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":36.677683000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":3.8472900000001573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":11.182825999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":7.88632900000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":6.141881000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.3195160000000214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.4194119999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.7836489999999685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.6423090000000684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.4053829999998015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.5624930000001314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7723249999999098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8897039999999379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.8222940000000563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":4.596242999999959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.7358090000000175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.118679999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":7.283286000000089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0268949999999677,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7375040000001718,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":2.0726200000001427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.35575200000016594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5055219999999281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4380119999998442,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.20076099999982944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.5818830000000617,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434562,"endTime":1788142434671.5818,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.867318999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.9548950000000787,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.546828000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.0562160000001768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.7286040000001321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.095674999999801,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.660082999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.0403739999999289,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.4322819999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3885920000000169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.43344299999989744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4363419999999678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.5108319999999367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.30513199999995777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.28800200000000586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9350950000000466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.0034860000000663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6036420000000362,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.33882199999993645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5887719999998353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9155639999999039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.27110099999981685,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434574,"endTime":1788142434594.271,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.3698470000001635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3020610000000943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":33.34449700000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.4103509999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":7.725077000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":7.463177999999971,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142435730,"endTime":1788142435784.4631,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":45.26077499999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.4352530000001025,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142435932,"endTime":1788142435984.4353,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.6660779999999704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.7962139999999636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6234180000001288,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":1.3912370000000465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.47982200000001285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.8276330000001053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.32751200000006975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5046929999998611,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.33621099999982107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.39985200000000987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.28281200000014906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.1248359999999593,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142435741,"endTime":1788142435750.1248,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":3.218074999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8350239999999758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3180520000000797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.3037620000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.353935999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2849420000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.18927000000007865,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434552,"endTime":1788142434559.285,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":14.660683000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6604929999998603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.4336120000000392,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.35241100000007464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3841709999999239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.9258250000000317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7570640000001276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.2587710000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.2528220000001511,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3389830000000984,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142435858,"endTime":1788142435877.3389,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.0697099999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.3418229999999767,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.28941999999983636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.2149010000000544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.9487839999999323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.405460999999832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.49580300000002353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.21008100000017293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2949919999998656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3750230000000556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.28719200000000455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.16643999999996595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7584139999999024,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142434493,"endTime":1788142434500.7583,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.0499399999998786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6442580000000362,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3984419999999318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5212729999998373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.25311099999998987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4138020000000324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.32682100000010905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.7813249999999243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3947319999999763,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142435798,"endTime":1788142435804.3948,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-2/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.execution.json new file mode 100644 index 0000000..0fa9b0b --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4707.219, + "spawn_error": null, + "stdout_sha256": "sha256:6c759f091e900e38f10885d6cd128e4f416217d36d299876631e9e6b85802af9", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stdout.log new file mode 100644 index 0000000..79254f8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-2/baseline-2-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 835ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.execution.json new file mode 100644 index 0000000..6524584 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9064.464, + "spawn_error": null, + "stdout_sha256": "sha256:c4e685b00231dbe87ca06050e5bac766c93e0d1af42d3ecf860cb5485e7d49d8", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stdout.log new file mode 100644 index 0000000..cddb3b9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 406ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 58ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 67ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 16ms +. build:react: created dist/esm/react.mjs in 20ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 154ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 61ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 47ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 12ms +. build:shallow: created dist/shallow.js in 47ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 10ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 76ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 18ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 60ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 14ms +. build:traditional: created dist/traditional.js in 61ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 23ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 2.8s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 35ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 10ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.execution.json new file mode 100644 index 0000000..aa191db --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4378.81, + "spawn_error": null, + "stdout_sha256": "sha256:62de920dea94d102f97b2c238ad9676b34d71e0c1701490e1cbef93f289e2a33", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stdout.log new file mode 100644 index 0000000..9105b94 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 400ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.execution.json new file mode 100644 index 0000000..9728efb --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6087.764, + "spawn_error": null, + "stdout_sha256": "sha256:26af779f16b7a72d4f0d63b6286d06bc38fc04dfb6897960a1a19aa7f355c73e", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stdout.log new file mode 100644 index 0000000..95c49dd --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 412ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.execution.json new file mode 100644 index 0000000..5a29dc5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4502.576, + "spawn_error": null, + "stdout_sha256": "sha256:bcec38ff61f57bfcc976ecf6077589e7043f2c5b79c83faf76f385bad9dbc538", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stdout.log new file mode 100644 index 0000000..62552cd --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 477ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.vitest.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.vitest.json new file mode 100644 index 0000000..db16470 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142465662,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":9.913838000000169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":40.11899499999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":6.5170009999999365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":7.946808999999803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.299265000000105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.75025299999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.4338960000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":5.762458999999808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":6.190599999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.963893999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.940914000000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.31928100000004633,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3323720000000776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5096020000000863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6816630000000714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.5981520000000273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.216640999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.547232000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.785344000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.158625999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.730758000000151,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":0.9891549999999825,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467290,"endTime":1788142467430.9893,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":5.7112469999999576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.7314289999999346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.7720429999999396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.44565200000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.2754560000000765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.9547439999998915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.410951999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.26748300000008385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3118409999999585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.31385099999988597,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6543240000000878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3124970000001213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5115129999999226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.43421200000011595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.41320199999995566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.971969000000172,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6703829999999016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.8129830000000311,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5310620000000199,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.37547200000017256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.32482100000015635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4711330000000089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.25413099999991573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3924320000000989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4793919999999616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.42029200000001765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1261550000001534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.19833999999991647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5063729999999396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2511810000000878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2659510000000864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.40244299999994837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":0.9486839999999575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.3801069999999527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5489669999999478,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5128629999999248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.46253200000001016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1869550000001254,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.7083640000000742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0117439999999078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.1506449999999404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6577240000001439,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6104230000000825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7221939999999449,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.7759840000001077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.073899999999867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.7242879999998877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.7900640000000294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.5662529999999606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8676840000000539,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5401530000001458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.092204000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":2.128560000000107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6623939999999493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6816039999998793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.5918329999999514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7615230000001247,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.48253199999999197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.636637999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.9619700000000648,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4916769999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.42162200000007033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5428179999998974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.7540489999998954,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467329,"endTime":1788142467402.7542,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.7537340000001223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7908439999998791,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2779319999999643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9716139999998177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2816609999999855,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142468593,"endTime":1788142468598.2817,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":5.988528999999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7888030000001436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.44011199999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.8848949999999149,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":1.5768480000001546,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.36221100000011575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4782229999998435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.47146199999997407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":7.545256999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.5133720000001176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":2.099191000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.9768950000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.8536939999999049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5832730000001902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.17182100000013634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1793600000000879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.3018019999999524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.27422200000000885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.22204099999999016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24209099999984574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.6977229999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.39668200000005527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1882709999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.24317100000007486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.43172200000003613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.25503200000002835,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467329,"endTime":1788142467357.4316,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":45.90966300000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.9842590000000655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":18.648970999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":12.25547000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.38685600000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.9511580000000777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.6189489999999296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.322349999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":6.365831000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.028678000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.7366189999997914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9904940000001261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9688850000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.7226829999999609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.5785730000000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.534452999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.548702999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.945123999999851,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.3665770000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5520219999998517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7352140000000418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.28399100000001454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.43758200000002034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5512830000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.17570999999998094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.5421229999999468,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467329,"endTime":1788142467463.5422,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.905044999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7538139999999203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.2763860000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9059839999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5620840000001408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.37803100000019185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.36989199999993616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.8504739999998492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.6404029999998784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.27117100000009486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.3128719999999703,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3101010000000315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.41837200000009034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.23919100000011895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.2675609999998869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.24198200000000725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.780713999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.537691999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2782600000000457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5195229999999356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.6674530000000232,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.25278000000002976,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467318,"endTime":1788142467334.2527,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.0669299999999566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.42124200000012024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":34.47366699999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.669938000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":7.684167000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":12.987262999999984,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142468466,"endTime":1788142468529.9873,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":66.82804400000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":8.37776000000008,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142468589,"endTime":1788142468664.3777,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.0623199999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0321360000000368,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.5427170000000388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.8205129999998917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.39731300000016745,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3118320000000949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4215030000000297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.36411199999997734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4764829999999165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.5511320000000524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3543919999999616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.41910200000006625,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142468469,"endTime":1788142468478.4192,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.222261000000117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.040704999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3295019999998203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.6080839999999625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0981249999999818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.19356999999990876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.243780999999899,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467308,"endTime":1788142467314.244,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":6.188049999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5345820000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2432410000001255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.25198999999997795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3495719999998528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7062230000001364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6102740000001177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.24283100000002378,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.23485100000016246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3046009999998205,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142468632,"endTime":1788142468642.3047,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.9917299999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4488020000001143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.38465199999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.31416200000012395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.47396200000002864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2660710000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4964429999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.19243999999980588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.24525199999993674,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.33480100000019775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.28147100000001046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1837399999999434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7905640000001313,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142467239,"endTime":1788142467245.7905,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.1942300000000614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7465879999999743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.41688300000009804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.7836030000000846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.31878200000005563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4730819999999767,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5054230000000643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.6735230000001593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.42158199999994395,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142468636,"endTime":1788142468644.4216,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-001/baseline-3/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.execution.json b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.execution.json new file mode 100644 index 0000000..f2e5fcd --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3696.856, + "spawn_error": null, + "stdout_sha256": "sha256:50bae0a0cb4a43d2e8f991e05cac9cac24e763bb3eb529916ff48945c88fb1ca", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stderr.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stdout.log b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stdout.log new file mode 100644 index 0000000..f521968 --- /dev/null +++ b/benchmark/av-exp-001/attempts/harness-defect-002/raw/baseline-3/baseline-3-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 431ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/run.mjs b/benchmark/av-exp-001/run.mjs index aa4b762..88dae78 100755 --- a/benchmark/av-exp-001/run.mjs +++ b/benchmark/av-exp-001/run.mjs @@ -21,7 +21,10 @@ const preregDir = path.join(here, 'preregistration-v1'); const targetSha = 'b57db4f86ef179285da216eeb291266da82c361c'; const targetUrl = 'https://github.com/pmndrs/zustand.git'; const preregistrationSha = '0544362d7659093b7f0b4f89ee8f68023fd269c3'; -const amendmentIdentity = 'sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357'; +const amendmentIdentities = [ + 'sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357', + 'sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e', +]; function readJson(file) { return JSON.parse(fs.readFileSync(file, 'utf8')); @@ -97,10 +100,12 @@ function verifyPreregistration() { throw new Error(`scenario patch/hash mismatch: ${scenario.id}`); } } - const amendmentFile = path.join(here, 'amendments', '001-worktree-install.md'); - const amendmentText = fs.readFileSync(amendmentFile, 'utf8'); - const amendmentBody = amendmentText.split('\nAmendment identity:\n')[0] + '\n'; - if (sha256Bytes(amendmentBody) !== amendmentIdentity) throw new Error('benchmark amendment identity mismatch'); + const amendmentFiles = ['001-worktree-install.md', '002-reporter-semantics.md']; + amendmentFiles.forEach((name, index) => { + const amendmentText = fs.readFileSync(path.join(here, 'amendments', name), 'utf8'); + const amendmentBody = amendmentText.split('\nAmendment identity:\n')[0] + '\n'; + if (sha256Bytes(amendmentBody) !== amendmentIdentities[index]) throw new Error(`benchmark amendment identity mismatch: ${name}`); + }); return { manifest, prereg, catalog, policy, native, scenarios }; } @@ -225,14 +230,12 @@ function runFullCatalog(worktree, rawDir, catalog, runId) { failed_check_ids: failed, outcomes: Object.fromEntries([...outcomes.entries()].sort()), complete, - command_evidence: commandRecords.map((record) => ({ + command_outcomes: commandRecords.map((record) => ({ command: record.command, exit_code: record.exit_code, signal: record.signal, timed_out: record.timed_out, spawn_error: record.spawn_error, - stdout_sha256: record.stdout_sha256, - stderr_sha256: record.stderr_sha256, })), }; return { @@ -244,7 +247,7 @@ function runFullCatalog(worktree, rawDir, catalog, runId) { })), evidence_files: commandRecords.flatMap((record) => [record.stdout_file, record.stderr_file]), test_count: testRun.report?.numTotalTests ?? null, - test_file_count: testRun.report?.numTotalTestSuites ?? null, + test_file_count: testRun.report?.testResults?.length ?? null, }; } @@ -550,7 +553,7 @@ function scenarioResult(target, scratch, resultsDir, scenario, prereg, baselineR const evidenceFiles = [...full.evidence_files, ...nativeRun.evidence_files]; const benchmarkResult = createShadowBenchmarkResult({ experiment_id: 'AV-EXP-001', - benchmark_revision: `${preregistrationSha}+${amendmentIdentity}`, + benchmark_revision: `${preregistrationSha}+${amendmentIdentities.join('+')}`, trust_stage: 'SHADOW', target: { repository: targetUrl, expected_sha: targetSha, observed_sha: git(worktree, ['rev-parse', 'HEAD']) }, scenario: { @@ -596,7 +599,7 @@ function summarize(resultsDir, catalog, scenarioResults, baselineRecord) { schema: 'opsle.affected-verification.shadow-benchmark-summary.v1', experiment_id: 'AV-EXP-001', preregistration_sha: preregistrationSha, - amendment_identity: amendmentIdentity, + amendment_identities: amendmentIdentities, target: { repository: targetUrl, sha: targetSha }, catalog_identity: catalog.identity, baseline_identity: baselineRecord.identity, diff --git a/src/benchmark.js b/src/benchmark.js index 2ba1ac0..17f413d 100644 --- a/src/benchmark.js +++ b/src/benchmark.js @@ -4,6 +4,14 @@ import { InputError } from './validate.js'; export const BENCHMARK_RESULT_SCHEMA = 'opsle.affected-verification.shadow-benchmark-result.v1'; +function semanticResultIdentity(result) { + return contentIdentity({ + ...result, + result_identity: undefined, + evidence_hashes: undefined, + }); +} + function fail(issues, code = 'INVALID_BENCHMARK_STATE') { if (issues.length) throw new InputError(issues, code); } @@ -236,7 +244,7 @@ export function createShadowBenchmarkResult(input) { }; const result = { ...withoutIdentity, - result_identity: contentIdentity({ ...withoutIdentity, result_identity: undefined }), + result_identity: semanticResultIdentity(withoutIdentity), }; return deepFreeze(result); } @@ -245,7 +253,7 @@ export function validateShadowBenchmarkResult(result) { const issues = []; if (result?.schema !== BENCHMARK_RESULT_SCHEMA) issues.push('benchmark result schema mismatch'); if (result?.trust_stage !== 'SHADOW') issues.push('unsafe attempt to mark SHADOW result as trusted'); - const expectedIdentity = contentIdentity({ ...result, result_identity: undefined }); + const expectedIdentity = semanticResultIdentity(result); if (result?.result_identity !== expectedIdentity) issues.push('result tampering'); const catalogIds = result?.arms?.FULL?.selected_check_ids ?? []; const relevantIds = result?.oracle?.relevant_check_ids ?? []; From c713895ac3cd4a66ae352754a15b3363e3d7a057 Mon Sep 17 00:00:00 2001 From: Deploy Date: Mon, 31 Aug 2026 02:35:19 +0000 Subject: [PATCH 4/5] Normalize AV-EXP-001 semantic artifact paths --- .../003-artifact-path-normalization.md | 29 + .../analysis.json | 531 +++++++++++++++ .../baseline/baseline-1.json | 175 +++++ .../baseline/baseline-2.json | 175 +++++ .../baseline/baseline-3.json | 175 +++++ .../baseline/baseline-summary.json | 235 +++++++ .../evidence-manifest.json | 323 +++++++++ .../full/AVS-001.json | 175 +++++ .../full/AVS-002.json | 177 +++++ .../full/AVS-003.json | 178 +++++ .../full/AVS-004.json | 177 +++++ .../full/AVS-005.json | 177 +++++ .../full/AVS-006.json | 175 +++++ .../full/AVS-007.json | 175 +++++ .../full/AVS-008.json | 177 +++++ .../full/AVS-009.json | 178 +++++ .../full/AVS-010.json | 175 +++++ .../oracle/AVS-001.json | 8 + .../oracle/AVS-002.json | 10 + .../oracle/AVS-003.json | 11 + .../oracle/AVS-004.json | 10 + .../oracle/AVS-005.json | 10 + .../oracle/AVS-006.json | 8 + .../oracle/AVS-007.json | 8 + .../oracle/AVS-008.json | 10 + .../oracle/AVS-009.json | 11 + .../oracle/AVS-010.json | 8 + .../raw/AVS-001/AVS-001-build.execution.json | 15 + .../raw/AVS-001/AVS-001-build.stderr.log | 8 + .../raw/AVS-001/AVS-001-build.stdout.log | 59 ++ .../raw/AVS-001/AVS-001-format.execution.json | 15 + .../raw/AVS-001/AVS-001-format.stderr.log | 1 + .../raw/AVS-001/AVS-001-format.stdout.log | 2 + .../raw/AVS-001/AVS-001-lint.execution.json | 15 + .../raw/AVS-001/AVS-001-lint.stderr.log | 1 + .../raw/AVS-001/AVS-001-lint.stdout.log | 2 + .../raw/AVS-001/AVS-001-native.execution.json | 20 + .../raw/AVS-001/AVS-001-native.stderr.log | 0 .../raw/AVS-001/AVS-001-native.stdout.log | 3 + .../raw/AVS-001/AVS-001-native.vitest.json | 1 + .../raw/AVS-001/AVS-001-tests.execution.json | 18 + .../raw/AVS-001/AVS-001-tests.stderr.log | 0 .../raw/AVS-001/AVS-001-tests.stdout.log | 3 + .../raw/AVS-001/AVS-001-tests.vitest.json | 1 + .../AVS-001/AVS-001-typecheck.execution.json | 15 + .../raw/AVS-001/AVS-001-typecheck.stderr.log | 1 + .../raw/AVS-001/AVS-001-typecheck.stdout.log | 2 + .../raw/AVS-002/AVS-002-build.execution.json | 15 + .../raw/AVS-002/AVS-002-build.stderr.log | 8 + .../raw/AVS-002/AVS-002-build.stdout.log | 59 ++ .../raw/AVS-002/AVS-002-format.execution.json | 15 + .../raw/AVS-002/AVS-002-format.stderr.log | 1 + .../raw/AVS-002/AVS-002-format.stdout.log | 2 + .../raw/AVS-002/AVS-002-lint.execution.json | 15 + .../raw/AVS-002/AVS-002-lint.stderr.log | 1 + .../raw/AVS-002/AVS-002-lint.stdout.log | 2 + .../raw/AVS-002/AVS-002-native.execution.json | 20 + .../raw/AVS-002/AVS-002-native.stderr.log | 0 .../raw/AVS-002/AVS-002-native.stdout.log | 3 + .../raw/AVS-002/AVS-002-native.vitest.json | 1 + .../raw/AVS-002/AVS-002-tests.execution.json | 18 + .../raw/AVS-002/AVS-002-tests.stderr.log | 0 .../raw/AVS-002/AVS-002-tests.stdout.log | 3 + .../raw/AVS-002/AVS-002-tests.vitest.json | 1 + .../AVS-002/AVS-002-typecheck.execution.json | 15 + .../raw/AVS-002/AVS-002-typecheck.stderr.log | 1 + .../raw/AVS-002/AVS-002-typecheck.stdout.log | 2 + .../raw/AVS-003/AVS-003-build.execution.json | 15 + .../raw/AVS-003/AVS-003-build.stderr.log | 8 + .../raw/AVS-003/AVS-003-build.stdout.log | 59 ++ .../raw/AVS-003/AVS-003-format.execution.json | 15 + .../raw/AVS-003/AVS-003-format.stderr.log | 1 + .../raw/AVS-003/AVS-003-format.stdout.log | 2 + .../raw/AVS-003/AVS-003-lint.execution.json | 15 + .../raw/AVS-003/AVS-003-lint.stderr.log | 1 + .../raw/AVS-003/AVS-003-lint.stdout.log | 9 + .../raw/AVS-003/AVS-003-native.execution.json | 20 + .../raw/AVS-003/AVS-003-native.stderr.log | 0 .../raw/AVS-003/AVS-003-native.stdout.log | 3 + .../raw/AVS-003/AVS-003-native.vitest.json | 1 + .../raw/AVS-003/AVS-003-tests.execution.json | 18 + .../raw/AVS-003/AVS-003-tests.stderr.log | 0 .../raw/AVS-003/AVS-003-tests.stdout.log | 3 + .../raw/AVS-003/AVS-003-tests.vitest.json | 1 + .../AVS-003/AVS-003-typecheck.execution.json | 15 + .../raw/AVS-003/AVS-003-typecheck.stderr.log | 1 + .../raw/AVS-003/AVS-003-typecheck.stdout.log | 2 + .../raw/AVS-004/AVS-004-build.execution.json | 15 + .../raw/AVS-004/AVS-004-build.stderr.log | 8 + .../raw/AVS-004/AVS-004-build.stdout.log | 59 ++ .../raw/AVS-004/AVS-004-format.execution.json | 15 + .../raw/AVS-004/AVS-004-format.stderr.log | 1 + .../raw/AVS-004/AVS-004-format.stdout.log | 2 + .../raw/AVS-004/AVS-004-lint.execution.json | 15 + .../raw/AVS-004/AVS-004-lint.stderr.log | 1 + .../raw/AVS-004/AVS-004-lint.stdout.log | 2 + .../raw/AVS-004/AVS-004-native.execution.json | 20 + .../raw/AVS-004/AVS-004-native.stderr.log | 0 .../raw/AVS-004/AVS-004-native.stdout.log | 3 + .../raw/AVS-004/AVS-004-native.vitest.json | 1 + .../raw/AVS-004/AVS-004-tests.execution.json | 18 + .../raw/AVS-004/AVS-004-tests.stderr.log | 0 .../raw/AVS-004/AVS-004-tests.stdout.log | 3 + .../raw/AVS-004/AVS-004-tests.vitest.json | 1 + .../AVS-004/AVS-004-typecheck.execution.json | 15 + .../raw/AVS-004/AVS-004-typecheck.stderr.log | 1 + .../raw/AVS-004/AVS-004-typecheck.stdout.log | 2 + .../raw/AVS-005/AVS-005-build.execution.json | 15 + .../raw/AVS-005/AVS-005-build.stderr.log | 8 + .../raw/AVS-005/AVS-005-build.stdout.log | 59 ++ .../raw/AVS-005/AVS-005-format.execution.json | 15 + .../raw/AVS-005/AVS-005-format.stderr.log | 1 + .../raw/AVS-005/AVS-005-format.stdout.log | 2 + .../raw/AVS-005/AVS-005-lint.execution.json | 15 + .../raw/AVS-005/AVS-005-lint.stderr.log | 1 + .../raw/AVS-005/AVS-005-lint.stdout.log | 2 + .../raw/AVS-005/AVS-005-native.execution.json | 20 + .../raw/AVS-005/AVS-005-native.stderr.log | 0 .../raw/AVS-005/AVS-005-native.stdout.log | 3 + .../raw/AVS-005/AVS-005-native.vitest.json | 1 + .../raw/AVS-005/AVS-005-tests.execution.json | 18 + .../raw/AVS-005/AVS-005-tests.stderr.log | 0 .../raw/AVS-005/AVS-005-tests.stdout.log | 3 + .../raw/AVS-005/AVS-005-tests.vitest.json | 1 + .../AVS-005/AVS-005-typecheck.execution.json | 15 + .../raw/AVS-005/AVS-005-typecheck.stderr.log | 1 + .../raw/AVS-005/AVS-005-typecheck.stdout.log | 2 + .../raw/AVS-006/AVS-006-build.execution.json | 15 + .../raw/AVS-006/AVS-006-build.stderr.log | 8 + .../raw/AVS-006/AVS-006-build.stdout.log | 59 ++ .../raw/AVS-006/AVS-006-format.execution.json | 15 + .../raw/AVS-006/AVS-006-format.stderr.log | 1 + .../raw/AVS-006/AVS-006-format.stdout.log | 2 + .../raw/AVS-006/AVS-006-lint.execution.json | 15 + .../raw/AVS-006/AVS-006-lint.stderr.log | 1 + .../raw/AVS-006/AVS-006-lint.stdout.log | 2 + .../raw/AVS-006/AVS-006-native.execution.json | 20 + .../raw/AVS-006/AVS-006-native.stderr.log | 0 .../raw/AVS-006/AVS-006-native.stdout.log | 3 + .../raw/AVS-006/AVS-006-native.vitest.json | 1 + .../raw/AVS-006/AVS-006-tests.execution.json | 18 + .../raw/AVS-006/AVS-006-tests.stderr.log | 0 .../raw/AVS-006/AVS-006-tests.stdout.log | 3 + .../raw/AVS-006/AVS-006-tests.vitest.json | 1 + .../AVS-006/AVS-006-typecheck.execution.json | 15 + .../raw/AVS-006/AVS-006-typecheck.stderr.log | 1 + .../raw/AVS-006/AVS-006-typecheck.stdout.log | 2 + .../raw/AVS-007/AVS-007-build.execution.json | 15 + .../raw/AVS-007/AVS-007-build.stderr.log | 8 + .../raw/AVS-007/AVS-007-build.stdout.log | 59 ++ .../raw/AVS-007/AVS-007-format.execution.json | 15 + .../raw/AVS-007/AVS-007-format.stderr.log | 1 + .../raw/AVS-007/AVS-007-format.stdout.log | 2 + .../raw/AVS-007/AVS-007-lint.execution.json | 15 + .../raw/AVS-007/AVS-007-lint.stderr.log | 1 + .../raw/AVS-007/AVS-007-lint.stdout.log | 2 + .../raw/AVS-007/AVS-007-native.execution.json | 20 + .../raw/AVS-007/AVS-007-native.stderr.log | 0 .../raw/AVS-007/AVS-007-native.stdout.log | 3 + .../raw/AVS-007/AVS-007-native.vitest.json | 1 + .../raw/AVS-007/AVS-007-tests.execution.json | 18 + .../raw/AVS-007/AVS-007-tests.stderr.log | 0 .../raw/AVS-007/AVS-007-tests.stdout.log | 3 + .../raw/AVS-007/AVS-007-tests.vitest.json | 1 + .../AVS-007/AVS-007-typecheck.execution.json | 15 + .../raw/AVS-007/AVS-007-typecheck.stderr.log | 1 + .../raw/AVS-007/AVS-007-typecheck.stdout.log | 2 + .../raw/AVS-008/AVS-008-build.execution.json | 15 + .../raw/AVS-008/AVS-008-build.stderr.log | 8 + .../raw/AVS-008/AVS-008-build.stdout.log | 59 ++ .../raw/AVS-008/AVS-008-format.execution.json | 15 + .../raw/AVS-008/AVS-008-format.stderr.log | 1 + .../raw/AVS-008/AVS-008-format.stdout.log | 2 + .../raw/AVS-008/AVS-008-lint.execution.json | 15 + .../raw/AVS-008/AVS-008-lint.stderr.log | 1 + .../raw/AVS-008/AVS-008-lint.stdout.log | 2 + .../raw/AVS-008/AVS-008-native.execution.json | 20 + .../raw/AVS-008/AVS-008-native.stderr.log | 0 .../raw/AVS-008/AVS-008-native.stdout.log | 3 + .../raw/AVS-008/AVS-008-native.vitest.json | 1 + .../raw/AVS-008/AVS-008-tests.execution.json | 18 + .../raw/AVS-008/AVS-008-tests.stderr.log | 0 .../raw/AVS-008/AVS-008-tests.stdout.log | 3 + .../raw/AVS-008/AVS-008-tests.vitest.json | 1 + .../AVS-008/AVS-008-typecheck.execution.json | 15 + .../raw/AVS-008/AVS-008-typecheck.stderr.log | 1 + .../raw/AVS-008/AVS-008-typecheck.stdout.log | 337 +++++++++ .../raw/AVS-009/AVS-009-build.execution.json | 15 + .../raw/AVS-009/AVS-009-build.stderr.log | 8 + .../raw/AVS-009/AVS-009-build.stdout.log | 59 ++ .../raw/AVS-009/AVS-009-format.execution.json | 15 + .../raw/AVS-009/AVS-009-format.stderr.log | 1 + .../raw/AVS-009/AVS-009-format.stdout.log | 2 + .../raw/AVS-009/AVS-009-lint.execution.json | 15 + .../raw/AVS-009/AVS-009-lint.stderr.log | 1 + .../raw/AVS-009/AVS-009-lint.stdout.log | 2 + .../raw/AVS-009/AVS-009-native.execution.json | 21 + .../raw/AVS-009/AVS-009-native.stderr.log | 0 .../raw/AVS-009/AVS-009-native.stdout.log | 3 + .../raw/AVS-009/AVS-009-native.vitest.json | 1 + .../raw/AVS-009/AVS-009-tests.execution.json | 18 + .../raw/AVS-009/AVS-009-tests.stderr.log | 0 .../raw/AVS-009/AVS-009-tests.stdout.log | 3 + .../raw/AVS-009/AVS-009-tests.vitest.json | 1 + .../AVS-009/AVS-009-typecheck.execution.json | 15 + .../raw/AVS-009/AVS-009-typecheck.stderr.log | 1 + .../raw/AVS-009/AVS-009-typecheck.stdout.log | 2 + .../raw/AVS-010/AVS-010-build.execution.json | 15 + .../raw/AVS-010/AVS-010-build.stderr.log | 8 + .../raw/AVS-010/AVS-010-build.stdout.log | 59 ++ .../raw/AVS-010/AVS-010-format.execution.json | 15 + .../raw/AVS-010/AVS-010-format.stderr.log | 1 + .../raw/AVS-010/AVS-010-format.stdout.log | 2 + .../raw/AVS-010/AVS-010-lint.execution.json | 15 + .../raw/AVS-010/AVS-010-lint.stderr.log | 1 + .../raw/AVS-010/AVS-010-lint.stdout.log | 2 + .../raw/AVS-010/AVS-010-native.execution.json | 20 + .../raw/AVS-010/AVS-010-native.stderr.log | 0 .../raw/AVS-010/AVS-010-native.stdout.log | 3 + .../raw/AVS-010/AVS-010-native.vitest.json | 1 + .../raw/AVS-010/AVS-010-tests.execution.json | 18 + .../raw/AVS-010/AVS-010-tests.stderr.log | 0 .../raw/AVS-010/AVS-010-tests.stdout.log | 3 + .../raw/AVS-010/AVS-010-tests.vitest.json | 1 + .../AVS-010/AVS-010-typecheck.execution.json | 15 + .../raw/AVS-010/AVS-010-typecheck.stderr.log | 1 + .../raw/AVS-010/AVS-010-typecheck.stdout.log | 2 + .../baseline-1-build.execution.json | 15 + .../baseline-1/baseline-1-build.stderr.log | 8 + .../baseline-1/baseline-1-build.stdout.log | 59 ++ .../baseline-1-format.execution.json | 15 + .../baseline-1/baseline-1-format.stderr.log | 1 + .../baseline-1/baseline-1-format.stdout.log | 2 + .../baseline-1/baseline-1-lint.execution.json | 15 + .../raw/baseline-1/baseline-1-lint.stderr.log | 1 + .../raw/baseline-1/baseline-1-lint.stdout.log | 2 + .../baseline-1-tests.execution.json | 18 + .../baseline-1/baseline-1-tests.stderr.log | 0 .../baseline-1/baseline-1-tests.stdout.log | 3 + .../baseline-1/baseline-1-tests.vitest.json | 1 + .../baseline-1-typecheck.execution.json | 15 + .../baseline-1-typecheck.stderr.log | 1 + .../baseline-1-typecheck.stdout.log | 2 + .../baseline-2-build.execution.json | 15 + .../baseline-2/baseline-2-build.stderr.log | 8 + .../baseline-2/baseline-2-build.stdout.log | 59 ++ .../baseline-2-format.execution.json | 15 + .../baseline-2/baseline-2-format.stderr.log | 1 + .../baseline-2/baseline-2-format.stdout.log | 2 + .../baseline-2/baseline-2-lint.execution.json | 15 + .../raw/baseline-2/baseline-2-lint.stderr.log | 1 + .../raw/baseline-2/baseline-2-lint.stdout.log | 2 + .../baseline-2-tests.execution.json | 18 + .../baseline-2/baseline-2-tests.stderr.log | 0 .../baseline-2/baseline-2-tests.stdout.log | 3 + .../baseline-2/baseline-2-tests.vitest.json | 1 + .../baseline-2-typecheck.execution.json | 15 + .../baseline-2-typecheck.stderr.log | 1 + .../baseline-2-typecheck.stdout.log | 2 + .../baseline-3-build.execution.json | 15 + .../baseline-3/baseline-3-build.stderr.log | 8 + .../baseline-3/baseline-3-build.stdout.log | 59 ++ .../baseline-3-format.execution.json | 15 + .../baseline-3/baseline-3-format.stderr.log | 1 + .../baseline-3/baseline-3-format.stdout.log | 2 + .../baseline-3/baseline-3-lint.execution.json | 15 + .../raw/baseline-3/baseline-3-lint.stderr.log | 1 + .../raw/baseline-3/baseline-3-lint.stdout.log | 2 + .../baseline-3-tests.execution.json | 18 + .../baseline-3/baseline-3-tests.stderr.log | 0 .../baseline-3/baseline-3-tests.stdout.log | 3 + .../baseline-3/baseline-3-tests.vitest.json | 1 + .../baseline-3-typecheck.execution.json | 15 + .../baseline-3-typecheck.stderr.log | 1 + .../baseline-3-typecheck.stdout.log | 2 + .../scenarios/AVS-001.json | 501 ++++++++++++++ .../scenarios/AVS-002.json | 620 +++++++++++++++++ .../scenarios/AVS-003.json | 404 +++++++++++ .../scenarios/AVS-004.json | 505 ++++++++++++++ .../scenarios/AVS-005.json | 643 ++++++++++++++++++ .../scenarios/AVS-006.json | 461 +++++++++++++ .../scenarios/AVS-007.json | 371 ++++++++++ .../scenarios/AVS-008.json | 402 +++++++++++ .../scenarios/AVS-009.json | 462 +++++++++++++ .../scenarios/AVS-010.json | 407 +++++++++++ .../semantic-identity-defect-003/summary.json | 71 ++ .../telemetry/AVS-001.txt | 8 + .../telemetry/AVS-002.txt | 8 + .../telemetry/AVS-003.txt | 8 + .../telemetry/AVS-004.txt | 8 + .../telemetry/AVS-005.txt | 8 + .../telemetry/AVS-006.txt | 8 + .../telemetry/AVS-007.txt | 8 + .../telemetry/AVS-008.txt | 8 + .../telemetry/AVS-009.txt | 8 + .../telemetry/AVS-010.txt | 6 + .../value-receipts/AVS-001-AV_CORE.json | 190 ++++++ .../AVS-001-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-002-AV_CORE.json | 190 ++++++ .../AVS-002-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-003-AV_CORE.json | 190 ++++++ .../AVS-003-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-004-AV_CORE.json | 190 ++++++ .../AVS-004-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-005-AV_CORE.json | 190 ++++++ .../AVS-005-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-006-AV_CORE.json | 190 ++++++ .../AVS-006-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-007-AV_CORE.json | 190 ++++++ .../AVS-007-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-008-AV_CORE.json | 190 ++++++ .../AVS-008-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-009-AV_CORE.json | 190 ++++++ .../AVS-009-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-010-AV_CORE.json | 190 ++++++ .../AVS-010-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ benchmark/av-exp-001/publish.mjs | 225 ++++++ benchmark/av-exp-001/reproduce.sh | 2 +- benchmark/av-exp-001/run.mjs | 10 +- 319 files changed, 15097 insertions(+), 3 deletions(-) create mode 100644 benchmark/av-exp-001/amendments/003-artifact-path-normalization.md create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/analysis.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-1.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-2.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-3.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-summary.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/evidence-manifest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-001.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-002.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-003.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-004.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-005.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-006.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-007.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-008.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-009.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-010.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-001.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-002.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-003.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-004.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-005.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-006.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-007.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-008.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-009.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-010.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.vitest.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.execution.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-001.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-002.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-003.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-004.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-005.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-006.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-007.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-008.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-009.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-010.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/summary.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-001.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-002.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-003.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-004.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-005.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-006.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-007.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-008.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-009.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-010.txt create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_CORE.json create mode 100644 benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json create mode 100755 benchmark/av-exp-001/publish.mjs diff --git a/benchmark/av-exp-001/amendments/003-artifact-path-normalization.md b/benchmark/av-exp-001/amendments/003-artifact-path-normalization.md new file mode 100644 index 0000000..0cb4a49 --- /dev/null +++ b/benchmark/av-exp-001/amendments/003-artifact-path-normalization.md @@ -0,0 +1,29 @@ +# AV-EXP-001 benchmark amendment 003 + +Status: semantic-identity amendment after first complete shadow run + +The first complete result bundle and an immediate second clean reproduction had +identical baseline pass states, normalized check outcomes, relevance sets, +selector selections, misses, workloads, planner version, and policy behavior. +Their semantic identities differed because the full-run command record included +the absolute Vitest `--outputFile` path. The published run wrote inside the +repository while the reproduction wrote under `/tmp`. + +Amendment: + +1. preserve exact commands and absolute output locators in raw execution + evidence; +2. normalize only the semantic command token to `--outputFile=`; +3. preserve the first complete bundle under + `attempts/semantic-identity-defect-003/`; +4. publish the corrected benchmark revision as `results-v2/`; +5. rerun the complete baseline and scenario corpus, then run a second complete + reproduction and require identical semantic baseline, scenario, analysis, + and summary identities. + +No target, catalog, selector, scenario, patch, oracle, metric, analysis, stop, +selection, workload, or trust rule changes. The first complete outcome remains +evidence but its path-dependent identities are superseded. + +Amendment identity: +`sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde` diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/analysis.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/analysis.json new file mode 100644 index 0000000..e1794e1 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/analysis.json @@ -0,0 +1,531 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-analysis.v1", + "experiment_id": "AV-EXP-001", + "summary_identity": "sha256:e516f03c007b11174446e6bc8cf9b61a8b83e5bea1079f806dcaadbbd6da7b97", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "corpus": { + "scenarios": 10, + "synthetic_faults": 6, + "synthetic_benign_change_shapes": 4, + "scenarios_with_relevant_failures": 6, + "relevant_checks": 8 + }, + "safety": { + "NATIVE": { + "relevant_checks": 8, + "selected_relevant_checks": 6, + "missed_relevant_checks": 2, + "relevant_check_recall": "6/8", + "scenario_level_miss_count": 2, + "escalations": 0, + "misses": [ + { + "scenario_id": "AVS-003", + "check_id": "check:lint" + }, + { + "scenario_id": "AVS-008", + "check_id": "check:typecheck" + } + ] + }, + "AV_CORE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + } + }, + "workload": { + "class": "EXACT", + "units_not_combined": true, + "aggregate_across_10_scenarios": { + "FULL": { + "test_files": { + "available": 130, + "selected": 130, + "skipped": 0 + }, + "test_executions": { + "available": 2240, + "selected": 2240, + "skipped": 0 + }, + "non_test_checks": { + "available": 40, + "selected": 40, + "skipped": 0 + } + }, + "NATIVE": { + "test_files": { + "available": 130, + "selected": 70, + "skipped": 60 + }, + "test_executions": { + "available": 2240, + "selected": 1358, + "skipped": 882 + }, + "non_test_checks": { + "available": 40, + "selected": 0, + "skipped": 40 + } + }, + "AV_CORE": { + "test_files": { + "available": 130, + "selected": 89, + "skipped": 41 + }, + "test_executions": { + "available": 2240, + "selected": 1640, + "skipped": 600 + }, + "non_test_checks": { + "available": 40, + "selected": 40, + "skipped": 0 + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 130, + "selected": 89, + "skipped": 41 + }, + "test_executions": { + "available": 2240, + "selected": 1640, + "skipped": 600 + }, + "non_test_checks": { + "available": 40, + "selected": 40, + "skipped": 0 + } + } + }, + "per_scenario": { + "AVS-001": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-002": { + "relevant_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 19, + "skipped_test_executions": 205, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 19, + "skipped_test_executions": 205, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 19, + "skipped_test_executions": 205, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-003": { + "relevant_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "selection_misses": [ + "check:lint" + ] + }, + "AV_CORE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-004": { + "relevant_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-005": { + "relevant_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "NATIVE": { + "selected_test_executions": 10, + "skipped_test_executions": 214, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 10, + "skipped_test_executions": 214, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 10, + "skipped_test_executions": 214, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-006": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 0, + "skipped_test_executions": 224, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-007": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-008": { + "relevant_check_ids": [ + "check:typecheck" + ], + "NATIVE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "selection_misses": [ + "check:typecheck" + ] + }, + "AV_CORE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-009": { + "relevant_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 185, + "skipped_test_executions": 39, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 185, + "skipped_test_executions": 39, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 185, + "skipped_test_executions": 39, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-010": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + } + } + }, + "claim_limit": "Proposed plan counts only; no correctness, cost, or causal savings claim." + }, + "behavior": { + "av_full_escalations": [ + "AVS-006", + "AVS-007", + "AVS-010" + ], + "av_policy_broadened": [ + "AVS-003", + "AVS-008" + ], + "av_insufficient_evidence": [], + "native_test_selection_narrower_than_av": [ + "AVS-006", + "AVS-010" + ], + "av_core_test_selection_narrower_than_native": [], + "native_evidence_changed_av_test_count": [], + "av_added_non_test_policy_checks_to_native": [ + "AVS-001", + "AVS-002", + "AVS-003", + "AVS-004", + "AVS-005", + "AVS-006", + "AVS-007", + "AVS-008", + "AVS-009", + "AVS-010" + ] + }, + "runtime_observed": { + "baseline_full_catalog": { + "count": 3, + "minimum_ms": 26863.348, + "median_ms": 26898.510000000002, + "maximum_ms": 30289.165, + "class": "OBSERVED", + "claim_limit": "Direct wall-clock observations only; no causal time-saved claim." + }, + "scenario_full_catalog": { + "count": 10, + "minimum_ms": 27558.626, + "median_ms": 28911.1515, + "maximum_ms": 32748.748, + "class": "OBSERVED", + "claim_limit": "Direct wall-clock observations only; no causal time-saved claim." + }, + "native_selector_execution": { + "count": 10, + "minimum_ms": 1595.69, + "median_ms": 3307.4955, + "maximum_ms": 4581.72, + "class": "OBSERVED", + "claim_limit": "Direct wall-clock observations only; no causal time-saved claim." + } + }, + "trust_decision": { + "stage": "SHADOW", + "decision": "REMAIN_SHADOW", + "reason": "First calibration, synthetic faults, one repository and ecosystem, and no independent qualifying replication do not justify bounded trust." + }, + "analysis_identity": "sha256:a23f967109f296c0ac8339f7d6d6383b7ed6a2558e23a996308c0bf8437fcf58" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-1.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-1.json new file mode 100644 index 0000000..abf46d4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-1.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "baseline-1", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:ef11bc72be2ba6ea66dbc14ca16f28ee876fc1c22eb77f113d06e46bceaafba0", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "duration_ms": 4104.673 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4215.113 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3528.323 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 5897.23 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9153.171 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-2.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-2.json new file mode 100644 index 0000000..c427a5f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-2.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "baseline-2", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:e34abd2985fdc3b04d5f43ed8ddd7ae7a0a0efc7b7b36fac200a30e796c4d890", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "duration_ms": 4498.435 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5646.492 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3728.544 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6042.029 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10373.665 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-3.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-3.json new file mode 100644 index 0000000..6a764ae --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-3.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "baseline-3", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:b4fef55abe6afd6725e3388d3cf1ad0025b24b02aa853b985ec4e8e2378edeba", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "duration_ms": 4332.366 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 3934.101 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3529.235 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 5733.733 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9333.913 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-summary.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-summary.json new file mode 100644 index 0000000..d444e37 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/baseline/baseline-summary.json @@ -0,0 +1,235 @@ +{ + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "repetitions": [ + { + "full_run_identity": "sha256:ef11bc72be2ba6ea66dbc14ca16f28ee876fc1c22eb77f113d06e46bceaafba0", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "test_count": 224, + "test_file_count": 13 + }, + { + "full_run_identity": "sha256:e34abd2985fdc3b04d5f43ed8ddd7ae7a0a0efc7b7b36fac200a30e796c4d890", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "test_count": 224, + "test_file_count": 13 + }, + { + "full_run_identity": "sha256:b4fef55abe6afd6725e3388d3cf1ad0025b24b02aa853b985ec4e8e2378edeba", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "test_count": 224, + "test_file_count": 13 + } + ], + "stable": true, + "identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "observed_durations_ms": [ + [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "duration_ms": 4104.673 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4215.113 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3528.323 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 5897.23 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9153.171 + } + ], + [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "duration_ms": 4498.435 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5646.492 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3728.544 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6042.029 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10373.665 + } + ], + [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "duration_ms": 4332.366 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 3934.101 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3529.235 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 5733.733 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9333.913 + } + ] + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/evidence-manifest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/evidence-manifest.json new file mode 100644 index 0000000..17f0b8d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/evidence-manifest.json @@ -0,0 +1,323 @@ +{ + "schema": "opsle.affected-verification.evidence-bundle-manifest.v1", + "semantic_summary_identity": "sha256:e516f03c007b11174446e6bc8cf9b61a8b83e5bea1079f806dcaadbbd6da7b97", + "semantic_analysis_identity": "sha256:a23f967109f296c0ac8339f7d6d6383b7ed6a2558e23a996308c0bf8437fcf58", + "files": { + "analysis.json": "sha256:1962fc1ff030606ef81366553b92fbb5e510130159f23d2f7d5a8626ccbe2bb7", + "baseline/baseline-1.json": "sha256:5720d6e6a0a4830879b33cf9bd11ea9150f20166b55336a7a1fc8ca6f059c02b", + "baseline/baseline-2.json": "sha256:b9975c63a31f6f6bc915ec0e0247caeb48c41c49f6a35d43563782761b605c5e", + "baseline/baseline-3.json": "sha256:ac3c9b139df1cc841787beaac1a866f26b1e5c843eccdb6676a2250b3f84de07", + "baseline/baseline-summary.json": "sha256:534d8a76989ae28c84563aa5ed21847e8e11fa17313df18ce9a8cd342707ba56", + "full/AVS-001.json": "sha256:09d6b41e8643d506ce7d49caefe50de89022b669383d1365ad4e7d0b9d2701fb", + "full/AVS-002.json": "sha256:2baa87c98537aa834333d755656a60ca531c856adb68a8cd0c2612ff8c08dc5f", + "full/AVS-003.json": "sha256:cba6714bc7b19ddd40d51b9ab503b2f29d7067819c53a89cfc8a9637f1b116f8", + "full/AVS-004.json": "sha256:ba45fc3529710c9eb7f7a81582123b85ebca9471395dfa23b60bf256f50698ae", + "full/AVS-005.json": "sha256:85dbf8ad3a106e29dd3d8f50b5768fbf087e9a63e0ecacfdfe4e8f4b3ed55d84", + "full/AVS-006.json": "sha256:33dc80628274747637453396218ec2e4454662009fad73204874a0766c2ce161", + "full/AVS-007.json": "sha256:b10162f6230d5ae392e4de0cd07ce747743ea1a3cb0fb528b3c3af901270f411", + "full/AVS-008.json": "sha256:da7a4ce8a85a75adb0f09a1e62d54aa72dda5062c3601977fd7edd36b67a40be", + "full/AVS-009.json": "sha256:4e14c49f7840a27992786d52feab7a23cbed6db2811fd6fedff3d910791d6023", + "full/AVS-010.json": "sha256:c198c0549a7c673770942f3d53066b4c2d10f910b866f3073013b022a2fb83b2", + "oracle/AVS-001.json": "sha256:4bf0e76614a380f4c4e42b7ff7cb7df0444a9d505069e50d5364361be68d8bae", + "oracle/AVS-002.json": "sha256:b09da081245dd468cdb78e41033d8b640d0641c0358f46a895c8ccf0e303cad3", + "oracle/AVS-003.json": "sha256:4fe2204adf4c8024f8882d6f149aa05dd18824343dd1913c4ed6af8bddf50880", + "oracle/AVS-004.json": "sha256:70a0769432cd2b12d1eb1ff59b7056b4a0933e906c8f5100cbebf5efd55fbff9", + "oracle/AVS-005.json": "sha256:af8ca656dc97994fd159fdf4275e54586cf76ea3c6d11e6a944cae47f8d9b378", + "oracle/AVS-006.json": "sha256:adbd4517079c45ee7c9cd18617abb3adb13e6390f0ecb801cd975b791d20b3bb", + "oracle/AVS-007.json": "sha256:900dbe83e5cfb2ce3bbf3f5096d395499736e74b474c4f7b354f4d7169926446", + "oracle/AVS-008.json": "sha256:ca62a604ac0b4f54bfd7298a3bef9c62d99458656929a8950802b2beea3dbb0d", + "oracle/AVS-009.json": "sha256:3467f3978f8702a9860be6d38527b26202fe38fcd5c2595d17e2cd0261920152", + "oracle/AVS-010.json": "sha256:0629878848d342ff79c2c7446761c787538bfa2231b0008a0594e031210f6ce0", + "raw/AVS-001/AVS-001-build.execution.json": "sha256:307cf02d62ffe428c3c93c6e21058ea4b4cdc9e8b0be21360ad97e170690f76b", + "raw/AVS-001/AVS-001-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-001/AVS-001-build.stdout.log": "sha256:339c9ac9bdc435d42c9d4dbe4750275c46ee619e1dbd02c12a916a40fe654d75", + "raw/AVS-001/AVS-001-format.execution.json": "sha256:b9288b3fd15b4a365aae21e0f71af34820c1ec5db94aefb2be8d1b1bc6f6ccd6", + "raw/AVS-001/AVS-001-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-001/AVS-001-format.stdout.log": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "raw/AVS-001/AVS-001-lint.execution.json": "sha256:f291985bb2e352e8235e37a5520281c9e9dae5e2a2a9f6522cf159f6bd96fe3a", + "raw/AVS-001/AVS-001-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-001/AVS-001-lint.stdout.log": "sha256:4a62bb8786034c67817a27118805ff52436dffb08c978161f99fbd9fc9909fbe", + "raw/AVS-001/AVS-001-native.execution.json": "sha256:2c0c74413fa43340f850817e1058374cd2f8fa910d1b4a77e40b83e5eff98c9d", + "raw/AVS-001/AVS-001-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-001/AVS-001-native.stdout.log": "sha256:d0969a4f9ba80d5e8f77f5bb6b2b7ca4012c1f7d94e1be90b1b7d77d9ae3e774", + "raw/AVS-001/AVS-001-native.vitest.json": "sha256:8e0ad416440c24a1a82831d302e371f55183bb11be47f06554ed1e0c1044d327", + "raw/AVS-001/AVS-001-tests.execution.json": "sha256:e7ee6ac8fb6c24e4c295e1b0f4b8714a4da0a2db27177cc732e3f1063442b9bd", + "raw/AVS-001/AVS-001-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-001/AVS-001-tests.stdout.log": "sha256:e304d604fae025a88d552cdad73a7a557106b061749ad6cefe361d9179b15525", + "raw/AVS-001/AVS-001-tests.vitest.json": "sha256:dd39dae42d945df5404f8de5d33072a2756fa22bae62af3674dbb84fdb330a81", + "raw/AVS-001/AVS-001-typecheck.execution.json": "sha256:3b0e22f5527186d6f8ff8c9ebd703ce2ea65361908d7cc293b000b4013967001", + "raw/AVS-001/AVS-001-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-001/AVS-001-typecheck.stdout.log": "sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "raw/AVS-002/AVS-002-build.execution.json": "sha256:c75880880847a1dd4a56a7f2f6b673cd9c34a1438929ca22eb00efb16f4de89b", + "raw/AVS-002/AVS-002-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-002/AVS-002-build.stdout.log": "sha256:708218f879b38def1923c78438ac3a826cf28cad68fe2a7a9396f24c0aee8616", + "raw/AVS-002/AVS-002-format.execution.json": "sha256:e4e055b9e0f17df6cca85ba1dd0081f9c16c5797f8ea0c7b42799f2f0601e6eb", + "raw/AVS-002/AVS-002-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-002/AVS-002-format.stdout.log": "sha256:e6088aa3d744f2ed2632f380ade4ede37a6b2804101dac4814470e871e655a10", + "raw/AVS-002/AVS-002-lint.execution.json": "sha256:ad9ef3351ae66bf152d4323c092afdd76b25f0268ce4af7b82990ca64630d4e7", + "raw/AVS-002/AVS-002-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-002/AVS-002-lint.stdout.log": "sha256:baf092aab3f65307b6572f0608b5484e9416a63e7eac73119ae9f5a06dac4f87", + "raw/AVS-002/AVS-002-native.execution.json": "sha256:d48d21198335a9a575032e868e2a6e7b4ac2e7c7a398dcd1b4d922735eb8d036", + "raw/AVS-002/AVS-002-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-002/AVS-002-native.stdout.log": "sha256:71be388a89a0ae3a30f49c6966b5ff784593ba31342ac4863991abd44af84bac", + "raw/AVS-002/AVS-002-native.vitest.json": "sha256:c679a5b899455243cf624c99efe0bd191aa29f8e8edacb53ad904f27223cb223", + "raw/AVS-002/AVS-002-tests.execution.json": "sha256:4decaabe041c5c2125b33389dc7e43c985c4681ae3644e9c176ead7b263275dc", + "raw/AVS-002/AVS-002-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-002/AVS-002-tests.stdout.log": "sha256:0c74f8d84081f15b8ed1a9e7769fe49ed903fd13a81fe3f4a29ef3271558704b", + "raw/AVS-002/AVS-002-tests.vitest.json": "sha256:fa290b3bf9a0b75c0e438ca9eaf124fd618bec0e31394a193f0ae6fd04516d91", + "raw/AVS-002/AVS-002-typecheck.execution.json": "sha256:fa0644c9b995a7302d8432623e7e448e83cce4c5019578517a8106747e2df869", + "raw/AVS-002/AVS-002-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-002/AVS-002-typecheck.stdout.log": "sha256:395cbdca9dd9cb6e1dd0e585b4c350e0e153a62c73557a960ba7ca9ee80d4d1b", + "raw/AVS-003/AVS-003-build.execution.json": "sha256:314e13f086365fc1875d04e2931fe32131b4dfe1f38a7b70b1e6de944cde04e6", + "raw/AVS-003/AVS-003-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-003/AVS-003-build.stdout.log": "sha256:0abda2af9a4e08ef8db4c4545c92544cd353439d49f56073a8d96203e8dccda9", + "raw/AVS-003/AVS-003-format.execution.json": "sha256:1ff7f7f8079fd1b21501d256cda9492d2a53872aecd1f8804cff81e0cfdefa23", + "raw/AVS-003/AVS-003-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-003/AVS-003-format.stdout.log": "sha256:31d0292a0bf79b1179f319e66a3092bc330cd90413d8ad01dbe7d4a581e429e3", + "raw/AVS-003/AVS-003-lint.execution.json": "sha256:11069422e19c6a434dfa159643a4275cd6dfc45d2a1375bb57334b5f106ed6c9", + "raw/AVS-003/AVS-003-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-003/AVS-003-lint.stdout.log": "sha256:0f0e56fada5329858b680804b4ccf7a25afd978745c2d5d38e64876cf8c7cafb", + "raw/AVS-003/AVS-003-native.execution.json": "sha256:035ec0d6746f275ea8984135328cb9d78b855f37c97e723566d95c61691fb2db", + "raw/AVS-003/AVS-003-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-003/AVS-003-native.stdout.log": "sha256:e6f11c894c687674c20604c06ad95ea7acc3200ab532cdc0febae9931dd72348", + "raw/AVS-003/AVS-003-native.vitest.json": "sha256:fff80c40cce564f5be965292e49afda3bcc2e11153274b9e7c59d01ccaa013b3", + "raw/AVS-003/AVS-003-tests.execution.json": "sha256:58e39771f9f296071586a8f9bca296ce02b6057969b6ce3d188021b0d3c3326a", + "raw/AVS-003/AVS-003-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-003/AVS-003-tests.stdout.log": "sha256:dd3df4f4363510cb7d15e46b3947f982cd65c1c7bc64d43ed708f8aa2bd6a27f", + "raw/AVS-003/AVS-003-tests.vitest.json": "sha256:1ddc5722d93215fa778a5b1cef9eb039f4477a801c1738f74e7ecdee4e57ec5c", + "raw/AVS-003/AVS-003-typecheck.execution.json": "sha256:e04ad5d080e5a50b18638b5d0a08aa275e91f74a60cefed24ffbe19637a6b1ba", + "raw/AVS-003/AVS-003-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-003/AVS-003-typecheck.stdout.log": "sha256:0eb83c67352bb9646c18d8c01c3f0fea0efde2efb89ac0c97a6244e889c6bf21", + "raw/AVS-004/AVS-004-build.execution.json": "sha256:b542742326300c91e6da88532fba17b39b546eead4bdc3b830a447c8f7f2a2ec", + "raw/AVS-004/AVS-004-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-004/AVS-004-build.stdout.log": "sha256:7535262671cf57e4b360644198ddc80f46ba6c4b7cf3ec34458619a5e19cc7b6", + "raw/AVS-004/AVS-004-format.execution.json": "sha256:6c66dffb9738d3b05a8942f2ae95fa8fde58119a0602b93e76dc1de931e0b430", + "raw/AVS-004/AVS-004-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-004/AVS-004-format.stdout.log": "sha256:26af779f16b7a72d4f0d63b6286d06bc38fc04dfb6897960a1a19aa7f355c73e", + "raw/AVS-004/AVS-004-lint.execution.json": "sha256:9d262ec04cbc56185ae76b591483a113a9fef1901f274e0b129587f0fc25175b", + "raw/AVS-004/AVS-004-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-004/AVS-004-lint.stdout.log": "sha256:93fb26999bf09590ff338964d196efa9e2ce29068e6f1fcdf7793964baab2dcf", + "raw/AVS-004/AVS-004-native.execution.json": "sha256:ec633321bfb0d4f6212cc6649c6a004a5116f6e2e64773fd238b4b9e834896a2", + "raw/AVS-004/AVS-004-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-004/AVS-004-native.stdout.log": "sha256:6de0b81f4970cef331053244e1dc59887ec35c1c0d9c89a0d14246d114df1fa4", + "raw/AVS-004/AVS-004-native.vitest.json": "sha256:4b89238bae26bc8ab1f84593e08e5c5874b419d7905be6a14769e36c916c4e50", + "raw/AVS-004/AVS-004-tests.execution.json": "sha256:a46938c2b555953745f556c75a82b8667888ecc456cd94d53b4c4dab9588eec1", + "raw/AVS-004/AVS-004-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-004/AVS-004-tests.stdout.log": "sha256:bf56e09c8a03b6f619dde6be3886cc254d7baf4641f47db9fe8b58e55e8a6528", + "raw/AVS-004/AVS-004-tests.vitest.json": "sha256:59a38a7fa8027af829583230002f319d648865475560f48766c3f9c9300e86ba", + "raw/AVS-004/AVS-004-typecheck.execution.json": "sha256:8aa66a474247b6bb1f76d9d58df44f39b6bb05d8f61f6daac94d5a0289d17a80", + "raw/AVS-004/AVS-004-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-004/AVS-004-typecheck.stdout.log": "sha256:5911379ea186f4681ce1ae82702ce7b12168d5a4cfaf3c31e70af5768b9f4bb3", + "raw/AVS-005/AVS-005-build.execution.json": "sha256:b2f0f059d931f515a8eeb25ecd1c19cef3abb2154900d3f59e4fc23f40f011dd", + "raw/AVS-005/AVS-005-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-005/AVS-005-build.stdout.log": "sha256:6450b9c9a0221055b4f90401a3e26c2d545a88faad878b7027030b0f2a463a8c", + "raw/AVS-005/AVS-005-format.execution.json": "sha256:1b9285bb6d28f353ccc0542df0fbd1c042adb72954a6268f2a0d9c122c26e3dd", + "raw/AVS-005/AVS-005-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-005/AVS-005-format.stdout.log": "sha256:bb719fbbd76e64db23209c99141bfa7c4addeb9840a1ef3958441084074dd0ad", + "raw/AVS-005/AVS-005-lint.execution.json": "sha256:ae674322b5a567dbef0890ca59a34b7c4daf03389a9f024b36453a1fe07e0dbe", + "raw/AVS-005/AVS-005-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-005/AVS-005-lint.stdout.log": "sha256:c4d648abdc3cdb3f4127b99fbce39b118168c55e818386511c770762cc1b2580", + "raw/AVS-005/AVS-005-native.execution.json": "sha256:39ca379ac3b2dc7ce27a641d85ef859363d7614be6bc513846da67d556f2e278", + "raw/AVS-005/AVS-005-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-005/AVS-005-native.stdout.log": "sha256:8313e158fdf3f78fe09247058f3f09d92c8951c0cccb52f338789f5de3b05a6f", + "raw/AVS-005/AVS-005-native.vitest.json": "sha256:2a72c0e308edc61a895e14b18ab2a080386bb1e82e0fc4f61564955177db97e3", + "raw/AVS-005/AVS-005-tests.execution.json": "sha256:3f714a7844f39193cdf1d750f8ece507920c624d0d09f6b36bd5f9f19a516400", + "raw/AVS-005/AVS-005-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-005/AVS-005-tests.stdout.log": "sha256:7b2784c6317a5db955eb6dcef25badf2c3b1ce37065d6a7ea7943c9d356f34ad", + "raw/AVS-005/AVS-005-tests.vitest.json": "sha256:e03249dc59838246b5bd7308bfa03f12e343008b0d9df70a26e65e1370280790", + "raw/AVS-005/AVS-005-typecheck.execution.json": "sha256:2cde0ac49dc5eb42e0aab7e56e184208b8b3a765f4ab6f1d002a964742375e0d", + "raw/AVS-005/AVS-005-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-005/AVS-005-typecheck.stdout.log": "sha256:3cddc9bade180f48d618152cdc6514fc2559de07ba74055b6bc82ce6a2727c8d", + "raw/AVS-006/AVS-006-build.execution.json": "sha256:8002441b3e7fc8a3d97bf99eeaa348a90b729065753eaf67643c0838d19815e6", + "raw/AVS-006/AVS-006-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-006/AVS-006-build.stdout.log": "sha256:e64654a315b253722f2f3935e5a981783b098f53d030133178569774f4461b46", + "raw/AVS-006/AVS-006-format.execution.json": "sha256:2d060f870ba4c48fc39fba80c81b7e1d1f4e55dde1158ac041f7a96c53a26291", + "raw/AVS-006/AVS-006-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-006/AVS-006-format.stdout.log": "sha256:0eb83c67352bb9646c18d8c01c3f0fea0efde2efb89ac0c97a6244e889c6bf21", + "raw/AVS-006/AVS-006-lint.execution.json": "sha256:8e8b2be3458285116e7a6f3cbb71b643ca630a41f475e02628be16c68376aa61", + "raw/AVS-006/AVS-006-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-006/AVS-006-lint.stdout.log": "sha256:84fe4d1f4abd6d26e28011bdbf6108988b1b87c7ada7b59b09f940d225f178f7", + "raw/AVS-006/AVS-006-native.execution.json": "sha256:630b214ede05409e29ca95858b37b1e569ef8ed7c246c8a2c75e04b9349bf0f4", + "raw/AVS-006/AVS-006-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-006/AVS-006-native.stdout.log": "sha256:f2e4267e524b1a3da1755a410257b349fccade947e6d97fb87421c3b14e6d860", + "raw/AVS-006/AVS-006-native.vitest.json": "sha256:82e0556c94d09c0e1924a59086c3584187b2ad3af47d19269f956a4b239edc4e", + "raw/AVS-006/AVS-006-tests.execution.json": "sha256:82cff4316f51f038c46c4ca57631b2f3eac5cf4ccffa5ac2ea7fddafcc8806ca", + "raw/AVS-006/AVS-006-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-006/AVS-006-tests.stdout.log": "sha256:85bbc25d1dfa65a6f54ddcfa025e4aa524de7f0347ee547218c7756d2b16e6bc", + "raw/AVS-006/AVS-006-tests.vitest.json": "sha256:65d718ae3b78839b937bd19e74442a74624ded347e80e980dda75853e399d2b1", + "raw/AVS-006/AVS-006-typecheck.execution.json": "sha256:a9a199908537f3009a5994131e958cd82d2750c79f9d88831a7d9879128ce553", + "raw/AVS-006/AVS-006-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-006/AVS-006-typecheck.stdout.log": "sha256:95957c9239b23557c8491d846c98e993d2b2c1fc9920c53dd1bc4d9cfda6c79d", + "raw/AVS-007/AVS-007-build.execution.json": "sha256:27a57d740def0e2921b89bcb4a311d24e70cb848859cdf76d5da17483d2b54c6", + "raw/AVS-007/AVS-007-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-007/AVS-007-build.stdout.log": "sha256:c0f03adfd9a17e54bedef79c739f3fe064f30f23ed64e062be36d558c48aac35", + "raw/AVS-007/AVS-007-format.execution.json": "sha256:0717d595d56ba81222f1fca88ed3ee8e0a0a7c26a3a63ac604d26ef0c705636c", + "raw/AVS-007/AVS-007-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-007/AVS-007-format.stdout.log": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "raw/AVS-007/AVS-007-lint.execution.json": "sha256:a72c134c090e8755677a7f8bdf59d340f234fd56bf02078f38b0c5256d032369", + "raw/AVS-007/AVS-007-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-007/AVS-007-lint.stdout.log": "sha256:aa44a47853205b75555e1938193cd51fb33e21da3a6b028ea5fce1f463e404ad", + "raw/AVS-007/AVS-007-native.execution.json": "sha256:c8562b0f3adc3b64fea506fa0a3264431724e5a8c711c6986f4564413fb0a635", + "raw/AVS-007/AVS-007-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-007/AVS-007-native.stdout.log": "sha256:b4f4eb1f240036401f037e32c300dd6ec3aac2b54f9d3e28f0f55f48b3f29677", + "raw/AVS-007/AVS-007-native.vitest.json": "sha256:59de0049b05096a2b866f96de3116d74b090b07e7402647f89d658b72b071c27", + "raw/AVS-007/AVS-007-tests.execution.json": "sha256:54bd8cf294d0b5f28cbbcdd2941886c6b97e59635f677d147393724e95245159", + "raw/AVS-007/AVS-007-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-007/AVS-007-tests.stdout.log": "sha256:9aaf100929c4a0e7289b846c3e855083cff8b6b0ee4c0b20a1ffd34b75aa2452", + "raw/AVS-007/AVS-007-tests.vitest.json": "sha256:70339498049fb2126e1e932180caeb27d5fd1e8e93726e4af90a89e5a87b9c82", + "raw/AVS-007/AVS-007-typecheck.execution.json": "sha256:49c7690bcb4f98e55e12d5eb6bc440fd087fe98a834e98199730545a9f1d4a17", + "raw/AVS-007/AVS-007-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-007/AVS-007-typecheck.stdout.log": "sha256:2fb4b0fc9ac1841c8278c50c25affb0f1c45340cd314668572c70128dfb38ccc", + "raw/AVS-008/AVS-008-build.execution.json": "sha256:daee195695d5ef7d10f080da9de7ad2fe2f072a2011bb99d0feac5df8b765e61", + "raw/AVS-008/AVS-008-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-008/AVS-008-build.stdout.log": "sha256:34a11b240f52f7bb73b32c6de40c4aa30a823661ad1bdf9985163e349dadbf35", + "raw/AVS-008/AVS-008-format.execution.json": "sha256:54b26daf51f27ef350619b85f703362198de9ea2c1b6218e7d570589f0c41c47", + "raw/AVS-008/AVS-008-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-008/AVS-008-format.stdout.log": "sha256:d55c076a69513cbba7f9f5abfc197e4a9454b06bd3964b184f914c26dca4b54e", + "raw/AVS-008/AVS-008-lint.execution.json": "sha256:5a641b96dc523c38bb76859037c40e753f7ac196431fb632d98e657f8bb55c25", + "raw/AVS-008/AVS-008-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-008/AVS-008-lint.stdout.log": "sha256:405e69c2cff79415fa285447479fdbadca48ec99bf12238e3c559ffeec834404", + "raw/AVS-008/AVS-008-native.execution.json": "sha256:1cbd2a9527c35e3e65bb2e3040c119a1f06a4b853ecf92cde3391c21e4dc7bb2", + "raw/AVS-008/AVS-008-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-008/AVS-008-native.stdout.log": "sha256:0159729bca512a5210b70400b84e35c9ac66c466fe8e2d348fc9546cf13f1c94", + "raw/AVS-008/AVS-008-native.vitest.json": "sha256:f01f756ffd5cca224747a463726b23fba31a69f7db318467798d605e39fc4a82", + "raw/AVS-008/AVS-008-tests.execution.json": "sha256:e7610417517d8415826897e28ea0013e1713748d26ebc33e39a0c284f61a8acd", + "raw/AVS-008/AVS-008-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-008/AVS-008-tests.stdout.log": "sha256:38994cb8e1388b088c8e511afcc8125f2dac41bb2fa7a5b63a3d97d0e00d6eda", + "raw/AVS-008/AVS-008-tests.vitest.json": "sha256:020e1fcc307532a0d02819c2229885df808765c4795fd9f3facb62b2abc82b38", + "raw/AVS-008/AVS-008-typecheck.execution.json": "sha256:d173d8b21421e314fed57709bc718b3a8e1666d69623e6be501e66c753e04d74", + "raw/AVS-008/AVS-008-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-008/AVS-008-typecheck.stdout.log": "sha256:6e1d6b535760a801e46443902ef8bf8dce5e22fd9e41029a2c9b0f3df1e60a63", + "raw/AVS-009/AVS-009-build.execution.json": "sha256:ada36f5d5208b26e2d059f97c7eb11addf94fdbe550cc20716964edc3706ba8b", + "raw/AVS-009/AVS-009-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-009/AVS-009-build.stdout.log": "sha256:171884481cb02e4a9d6a28edd2afc5f040e44fd320c287d2b9f346c79cc0c183", + "raw/AVS-009/AVS-009-format.execution.json": "sha256:09e7004e9cf8d9206686eeacf9c86046f1ea9472ade30d3423e00ed1c4be0dfc", + "raw/AVS-009/AVS-009-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-009/AVS-009-format.stdout.log": "sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "raw/AVS-009/AVS-009-lint.execution.json": "sha256:91ee07f68ce3a6e6d90c0b0dd7bdb16c0e14b5fa3f5e3f2840f1d25003fb0907", + "raw/AVS-009/AVS-009-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-009/AVS-009-lint.stdout.log": "sha256:ea732f223f4696530dc6e4d69a1c7699ad0faabae2a6951ddbc47e39acd5b2d1", + "raw/AVS-009/AVS-009-native.execution.json": "sha256:7929f52483862b71b2befa72478485e30201ba44227e4f21478d83e023a78341", + "raw/AVS-009/AVS-009-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-009/AVS-009-native.stdout.log": "sha256:7c331dde9e69e75d32d3f26a9544daa46ff1016eebb63829800a6137e45bf22a", + "raw/AVS-009/AVS-009-native.vitest.json": "sha256:4288ce76b5e5a22d72459835f58134879f7f6e796028d14ece18a5a3e40dcb3c", + "raw/AVS-009/AVS-009-tests.execution.json": "sha256:6f3b9dd0ce0197fe13524dc14f29e76a0e8d1910e9d049b0a1beaa29afdd3f53", + "raw/AVS-009/AVS-009-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-009/AVS-009-tests.stdout.log": "sha256:eea5077174a9ef0944cc60827822138b843894dafffee4e7840daf525ce55476", + "raw/AVS-009/AVS-009-tests.vitest.json": "sha256:5edb0c8cbe360fc66faf2522d6c5d427b76b8ce800d6ac4549693ae06465d28e", + "raw/AVS-009/AVS-009-typecheck.execution.json": "sha256:0de4717f0c07edc405a0c2d5d04321fa18ec6889c77d29c58d4ae98445638c06", + "raw/AVS-009/AVS-009-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-009/AVS-009-typecheck.stdout.log": "sha256:bbad1e564871f07375d980a9a7434e755354d40415a248012cba995972e23104", + "raw/AVS-010/AVS-010-build.execution.json": "sha256:0c05e86d4eccfc533f0c38931d00cc6c416d874f0f83621177711d1a71a93d8e", + "raw/AVS-010/AVS-010-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-010/AVS-010-build.stdout.log": "sha256:f7eda05fd7f1a54952bb1d74048fbeadc2d9726294c5802a7dbc6d7b4d595b8e", + "raw/AVS-010/AVS-010-format.execution.json": "sha256:4920add9969cf4b9f1fa97b9390b574c37c685480599f582c2be0c4704e292b7", + "raw/AVS-010/AVS-010-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-010/AVS-010-format.stdout.log": "sha256:e6088aa3d744f2ed2632f380ade4ede37a6b2804101dac4814470e871e655a10", + "raw/AVS-010/AVS-010-lint.execution.json": "sha256:80f7b892c84870e772706f0c72fe03abf5951dff6f441faea5159f2495035837", + "raw/AVS-010/AVS-010-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-010/AVS-010-lint.stdout.log": "sha256:76d5c15174215f650c288cc57bf16438eb75f7484bb4ac4176b1d3e66bf462ee", + "raw/AVS-010/AVS-010-native.execution.json": "sha256:88e93a58502c184dab4f8803c25e1c6e457206bdd9a56701c157ab86fae23422", + "raw/AVS-010/AVS-010-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-010/AVS-010-native.stdout.log": "sha256:5abc8b4a2a159d8dec9e38e67eac145fe9f37b6d95355d4e59f304f65855fd0f", + "raw/AVS-010/AVS-010-native.vitest.json": "sha256:3c5ae5b0a93378b477a9c1b0d5a060d8636cc0238a7b2020df02209e28e986e1", + "raw/AVS-010/AVS-010-tests.execution.json": "sha256:ca97c26830b0b8aad52293c54d2bd4b6c60d7e1d5d6e62a4239d7d95b3e1956a", + "raw/AVS-010/AVS-010-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-010/AVS-010-tests.stdout.log": "sha256:d671a3c5b67eb9ffb768cf710bcb8fc1cf3c78acd43dc507c209aff6357bb6db", + "raw/AVS-010/AVS-010-tests.vitest.json": "sha256:8d0d03845c1e1f992688d3fb5149582b9517661436087ae7dd73c7c9c7aa12b4", + "raw/AVS-010/AVS-010-typecheck.execution.json": "sha256:920730b68a0530e138c8e8baec1acac242e0343881a38776da6ce48d9cdf0c1b", + "raw/AVS-010/AVS-010-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-010/AVS-010-typecheck.stdout.log": "sha256:15c897adfbf2945fa0e214de5853a4468d48d5a159af9ba2bb1eb02fa79e4b6a", + "raw/baseline-1/baseline-1-build.execution.json": "sha256:f29d9d30eb3a6d00368d7d25dae3ebf4c5676f0940e1418fea3f71757171e810", + "raw/baseline-1/baseline-1-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/baseline-1/baseline-1-build.stdout.log": "sha256:0a7ad1b05fe57fc5e70d1adbcb3216b274f105e7b4125e507926d6fd20d85659", + "raw/baseline-1/baseline-1-format.execution.json": "sha256:ce8bd8b219691d3b1150074230a8415e3ab54598232f8e8224675706cef2907f", + "raw/baseline-1/baseline-1-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/baseline-1/baseline-1-format.stdout.log": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "raw/baseline-1/baseline-1-lint.execution.json": "sha256:09f4edb5ef8ea2540ff54b9eebf1d7505804dff17786e8392031e883e05b7d86", + "raw/baseline-1/baseline-1-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/baseline-1/baseline-1-lint.stdout.log": "sha256:95957c9239b23557c8491d846c98e993d2b2c1fc9920c53dd1bc4d9cfda6c79d", + "raw/baseline-1/baseline-1-tests.execution.json": "sha256:b79d178bb61088a43a0c0fdb66ae151d01f7561a026deb68dea538b7643587f8", + "raw/baseline-1/baseline-1-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/baseline-1/baseline-1-tests.stdout.log": "sha256:3a1e97871515e6b155dfa2ebc754c4c2110b9476e6927fac5ca54c8d371a7576", + "raw/baseline-1/baseline-1-tests.vitest.json": "sha256:9c49f838347967becf1bfa7a1a3700b1b07983ad7b5c314f767a58110b6a0245", + "raw/baseline-1/baseline-1-typecheck.execution.json": "sha256:e7e7283357080d76467421dc16fa1b9fc23a432b69d5a058c12c7bd13e4f0eb7", + "raw/baseline-1/baseline-1-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/baseline-1/baseline-1-typecheck.stdout.log": "sha256:fed4e610dd134eac467793aef9ae99129e7fc11a66c2eceb66b05a1d59449f58", + "raw/baseline-2/baseline-2-build.execution.json": "sha256:50a8611666ad59126fd0193c54388f490077ecf2189c36f307cf7b1b7ff08fdc", + "raw/baseline-2/baseline-2-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/baseline-2/baseline-2-build.stdout.log": "sha256:5ebc8931bb956389c3667295d3a55c4311217844fb8706358dd3ad7a335c4571", + "raw/baseline-2/baseline-2-format.execution.json": "sha256:9c6dc37d762e9c30fd94f88398cf3f1afb44a4dc91211ce0ee0f5d276e537de1", + "raw/baseline-2/baseline-2-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/baseline-2/baseline-2-format.stdout.log": "sha256:15acb49974bf44ca1ea301b580dc7502545d5a6bf7f17dda4ae771abc1e931cb", + "raw/baseline-2/baseline-2-lint.execution.json": "sha256:9dbd7401724d13bf5277385eaad4a41b462e77f344d546d9203a4f23932e184f", + "raw/baseline-2/baseline-2-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/baseline-2/baseline-2-lint.stdout.log": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "raw/baseline-2/baseline-2-tests.execution.json": "sha256:d266dbdf6ef2af85674fe17c3689fc4e0485b0accd1fb65e8ca14d875d08b846", + "raw/baseline-2/baseline-2-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/baseline-2/baseline-2-tests.stdout.log": "sha256:43ca67525d603ecef2d20f96f372879a823d382b2de8a4e13da98937c226aae9", + "raw/baseline-2/baseline-2-tests.vitest.json": "sha256:d28cb24a942ee377da787d4c77ad31073d4a4700b518aed37af71810895df051", + "raw/baseline-2/baseline-2-typecheck.execution.json": "sha256:8ac98e305639c635e4ffb8686bb1fea2468da9531fb98995390d836aa5bf9a58", + "raw/baseline-2/baseline-2-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/baseline-2/baseline-2-typecheck.stdout.log": "sha256:76226c98293cb106eacb730ab432b1e002407f3eed5c3b0c25e947f6156bb2f6", + "raw/baseline-3/baseline-3-build.execution.json": "sha256:d9c92d7cda51947e11f98f5e1df2ea368a5a108085a9c2e43351e174be63d445", + "raw/baseline-3/baseline-3-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/baseline-3/baseline-3-build.stdout.log": "sha256:272b2f0ee764f88d8dfbf018f60e9b77d896c12a9c7b2869721796eaa7af62a7", + "raw/baseline-3/baseline-3-format.execution.json": "sha256:0838339175fcf8267e47b65418bc06456dac1c876f0077a833021b8ac8f9f032", + "raw/baseline-3/baseline-3-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/baseline-3/baseline-3-format.stdout.log": "sha256:31d0292a0bf79b1179f319e66a3092bc330cd90413d8ad01dbe7d4a581e429e3", + "raw/baseline-3/baseline-3-lint.execution.json": "sha256:f7de17513d5d6ec67c513727d52f79500a940c949bf122f9d7571ac896690dde", + "raw/baseline-3/baseline-3-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/baseline-3/baseline-3-lint.stdout.log": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "raw/baseline-3/baseline-3-tests.execution.json": "sha256:548f45590be525badd539f2a8bf36a65fb960bac93f8671b40214c50bb5f0fa0", + "raw/baseline-3/baseline-3-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/baseline-3/baseline-3-tests.stdout.log": "sha256:7c9b538746ba8a3cd26ca3fd0163b225b622f79261da1ab0014a3fdc048ff632", + "raw/baseline-3/baseline-3-tests.vitest.json": "sha256:193776bf6d8f29343bdca77677ae1aee8364f72d7512260e9f40c3cad739c523", + "raw/baseline-3/baseline-3-typecheck.execution.json": "sha256:8b2723810041f396cd18e003c18f25ef58dcaa9ed4c63e65d1d3a80022740a70", + "raw/baseline-3/baseline-3-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/baseline-3/baseline-3-typecheck.stdout.log": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "scenarios/AVS-001.json": "sha256:41a550883b52484671159c1dc1f2f0f5fb2db356bbc8aa3bd0c985425a5921b9", + "scenarios/AVS-002.json": "sha256:2d5c7c811023418dfcb56b4d256ad0b8cdc82e68613698bfdfa7b41b3ff5d6c0", + "scenarios/AVS-003.json": "sha256:135f5c4abaafc2663f06404a7d7a06872dcdf9cfd96506009fe3720d89e9be4d", + "scenarios/AVS-004.json": "sha256:46d874e9df6db5704054a8a10270f9dcbfda1fa9b9c81c0f4cc0b594920bc3ef", + "scenarios/AVS-005.json": "sha256:e9df064a9eb00ca8795508a77a6970402abf6708a308a59e5071a00e6bc2e442", + "scenarios/AVS-006.json": "sha256:653d673e000dc6a2c352f4ef0bacfd33a50b469b9c12d109f26db3be2e1ede64", + "scenarios/AVS-007.json": "sha256:d26d05d89026558f4722f940586bc51a5384b72fe43f08c2f70129f7a0dd020a", + "scenarios/AVS-008.json": "sha256:6c7727c7b36c6563e87a9334240d3d75fbdb8603086c9ad006c1e6b3921560a7", + "scenarios/AVS-009.json": "sha256:1b846efde5e37decb52c884af7276283efd7ad3d4aa82bd5e74e430b31d24f9d", + "scenarios/AVS-010.json": "sha256:c575c0168a5a3bd02faf5615e7fdc1fa24f3657c2e170e69f6154357d0c086f9", + "summary.json": "sha256:8055746c089225e5afe695c879e8677d7d60de28c48a034127edf098f7f0156f", + "telemetry/AVS-001.txt": "sha256:8b87b08ebffc1083d60dd8b86e0e9b9a91cd21a0627eb5284bf2ce07109a6c4d", + "telemetry/AVS-002.txt": "sha256:4c58328e0b599ad75e3c794fc5a05da541fc8d83a1b11b4252918c58d7ad4914", + "telemetry/AVS-003.txt": "sha256:2be0c68a65c9bf9b290953327e03cf93ee3163786afcf64385e98c5a55f352b3", + "telemetry/AVS-004.txt": "sha256:ad008838e7ec1da1e29ce2f2d93053f1791d16a0811dfed5b8540dbf13961a93", + "telemetry/AVS-005.txt": "sha256:d4ef1f1b3e12e0c9904507ca65f24de3235c280c7ec5a7a30563398c8c147eb1", + "telemetry/AVS-006.txt": "sha256:e27178f3734e7d730576abb69b39affd0ec3e6bfa7219e176d7a785c58047777", + "telemetry/AVS-007.txt": "sha256:96ae3b144a4a6696addd0a8ce7e08357226a58535c36342e283c88036cbf127e", + "telemetry/AVS-008.txt": "sha256:e0949cb04af8106ec7efad59f11247e098bd2e0a56aea1488ec8362dbca7dac6", + "telemetry/AVS-009.txt": "sha256:4fb607e018f1a1aba6f0b162749d98d5e295c5a3b1a782f2c10f43b4dc62ccdd", + "telemetry/AVS-010.txt": "sha256:45744a9ab43aa73958e7c723b6f302727d34061753fa83dd91eb3f1974d055fb", + "value-receipts/AVS-001-AV_CORE.json": "sha256:db4c1a783f09fea74ad9ce817b1705d9685e5c354a5808b5836e2003d30a2f8e", + "value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json": "sha256:cc99654e58e02362a914616b6c40cbf2c29989aff2fb18c1e984529de252a69e", + "value-receipts/AVS-002-AV_CORE.json": "sha256:e8bd7505459b73804a455c27df61414d2b13fbbc77e018b246006fcec8b11e80", + "value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json": "sha256:1705c55858fa351386d30ecb9bd4dc4ce043b57edd67363e005a6e4137b1dccd", + "value-receipts/AVS-003-AV_CORE.json": "sha256:1d1110f83f6646c537686d9ce1130d543cca784d5a249a435b06abe770e747fe", + "value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json": "sha256:dc4ff0fa3b82bca8ed942f6b13e7695b2781c18c1333d41c0053f319ff168999", + "value-receipts/AVS-004-AV_CORE.json": "sha256:42a7d8d4a99f256c3031eaac7565320fab75fbc6ba89e459e3025598a545eed2", + "value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json": "sha256:64390bf22fed59348f6a10e7e027497b37802ec970bd94889097913c616f4144", + "value-receipts/AVS-005-AV_CORE.json": "sha256:07a7719d020d60687687c1b809484e54bdd67c6a5d9f8983527eb429ff4de69b", + "value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json": "sha256:b2de96b9fd03b5b2740c89dc5a18e69b11e2ed223552eefa79aa4be73bb9eabd", + "value-receipts/AVS-006-AV_CORE.json": "sha256:1fd4c116c1d5436db65b7ee655de4652759da7fc138230771ab8f08e68495a83", + "value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json": "sha256:d2596c1bd0a730ceb384eda5ba799c36501a0e541a64d95cc57893a4758c99fa", + "value-receipts/AVS-007-AV_CORE.json": "sha256:ed2e39b137872e7c65dec361440e7452a984e2aecdeec2ad02a57e3f768bb7dc", + "value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json": "sha256:bdb3eb0034b68bf83cb637d89a5010b0693ce49ab8127dca61835b98743bae4b", + "value-receipts/AVS-008-AV_CORE.json": "sha256:5f4539e69b656078d944492870283a057be16f934cb0112c1900c375f4e46d03", + "value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json": "sha256:4191f47d2a2a78c1d4bdc3bb3971044fdeb9182dbde22d7656d8a3960f4c720f", + "value-receipts/AVS-009-AV_CORE.json": "sha256:4ab197012ae5c8b547aee00d0c00e3275173b31a739591fcccbf1a138057efcd", + "value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json": "sha256:7caf0b26a77598729d2ab89af89db67d48e057c2c5958b90e25146a2c7d20b15", + "value-receipts/AVS-010-AV_CORE.json": "sha256:767fefeb97a6ceba7627e5e0ed21a2dcb6d2e714df2316c00663f5ed86e5e00f", + "value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json": "sha256:a0589fac4faeed48ecf9ce3545aa8fafcd71816570acd8115c9feb1b3ccf52c9" + }, + "timing_note": "Evidence bundle hashes may vary when raw observed telemetry varies; semantic summary and analysis identities exclude timing.", + "evidence_bundle_identity": "sha256:aae617d26eca4ac5fadee01fb94b1b2319abf1ba217ffa2fbed8a9a9276e926e" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-001.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-001.json new file mode 100644 index 0000000..e1814af --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-001.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-001", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:6799b0001e5e5ac543bfb5c409e061f40c0a7eb036536be45b1acd146c1ef68e", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.vitest.json" + ], + "duration_ms": 5563.644 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4115.892 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3688.037 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6144.425 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9434.065 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-002.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-002.json new file mode 100644 index 0000000..a15c968 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-002.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-002", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "FAIL", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:786f6518407eeff076a6a51c1e128cd9561401685c825c40f93c6a6df77cb7af", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.vitest.json" + ], + "duration_ms": 4191.352 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4112.714 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3725.588 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6515.525 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10771.761 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-003.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-003.json new file mode 100644 index 0000000..39cb90e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-003.json @@ -0,0 +1,178 @@ +{ + "scenario_id": "AVS-003", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "FAIL", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "FAIL", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:2e2783083c5c15223ced34fe6484e50135e8c08bd8611e655053de2f55774553", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.vitest.json" + ], + "duration_ms": 4302.819 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4150.037 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3467.209 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6323.934 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9314.627 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-004.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-004.json new file mode 100644 index 0000000..5348a6f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-004.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-004", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "FAIL", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:1dd293c293e24294eb672f4cfee45ade7424ff4e7a7f80da876b37a95608a11c", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.vitest.json" + ], + "duration_ms": 4363.582 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4080.656 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3666.045 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 5945.114 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 12744.722 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-005.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-005.json new file mode 100644 index 0000000..bb9588c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-005.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-005", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "FAIL", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:9a96bf38f996d919b6f6735583335f6e70161eedc8aaab95b40117df5b56cef2", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.vitest.json" + ], + "duration_ms": 4320.168 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4804.018 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4183.978 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6136.201 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9355.68 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-006.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-006.json new file mode 100644 index 0000000..dcc50f6 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-006.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-006", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:a46382f53c5dfd65378131dd0cf01fe8b3cf6367913a0449382d40a24e1c9fd3", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.vitest.json" + ], + "duration_ms": 4542.631 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4389.422 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3775.664 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 7036.692 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9131.831 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-007.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-007.json new file mode 100644 index 0000000..f6049b0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-007.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-007", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:e8af4905f13e1989e2d6e6169f8be8612edc5d54177062c9d99056c031263cca", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.vitest.json" + ], + "duration_ms": 4198.718 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4144.765 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3860.754 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6521.01 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9932.598 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-008.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-008.json new file mode 100644 index 0000000..3070523 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-008.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-008", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:typecheck" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "FAIL", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 2, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:7469a38e65d4becf93e56c44ab363db7e70690635e6d3691665ee38ac9b8cce3", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.vitest.json" + ], + "duration_ms": 5586.322 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5011.815 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4499.092 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6728.554 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10922.965 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-009.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-009.json new file mode 100644 index 0000000..7176494 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-009.json @@ -0,0 +1,178 @@ +{ + "scenario_id": "AVS-009", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "FAIL", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "FAIL" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:59903ff4b3b6c8361c944cf381d49220fbac489805e45ab288edddf098678986", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.vitest.json" + ], + "duration_ms": 4229.379 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4293.576 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3716.595 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6205.765 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10253.855 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-010.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-010.json new file mode 100644 index 0000000..37ebd85 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/full/AVS-010.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-010", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:be972967a88cf2c98e747975203deac34a229bcdc99baf685d8eea7f68a7625a", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.vitest.json" + ], + "duration_ms": 4125.83 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4253.217 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3985.084 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6533.639 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10379.727 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-format.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-format.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-typecheck.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-typecheck.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-lint.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-lint.stderr.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-build.stdout.log", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-001.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-001.json new file mode 100644 index 0000000..f787ae0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-001.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-001", + "full_run_identity": "sha256:6799b0001e5e5ac543bfb5c409e061f40c0a7eb036536be45b1acd146c1ef68e", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:0c9570ce296060a4fc5842944a0e1f1dbaa16784ddbdfffe22737673cda7d52f" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-002.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-002.json new file mode 100644 index 0000000..8575c2f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-002.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-002", + "full_run_identity": "sha256:786f6518407eeff076a6a51c1e128cd9561401685c825c40f93c6a6df77cb7af", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:02cf8dfaf6ea661d2418745b3a77a9a1da8ad347c8e94a856395feed881235f2" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-003.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-003.json new file mode 100644 index 0000000..dec0ed3 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-003.json @@ -0,0 +1,11 @@ +{ + "scenario_id": "AVS-003", + "full_run_identity": "sha256:2e2783083c5c15223ced34fe6484e50135e8c08bd8611e655053de2f55774553", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:b57768c62849b53e02e2e5416062669f976349e57f666ad2d540d370db0ab1fe" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-004.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-004.json new file mode 100644 index 0000000..d2c84fc --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-004.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-004", + "full_run_identity": "sha256:1dd293c293e24294eb672f4cfee45ade7424ff4e7a7f80da876b37a95608a11c", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:b2cb0a5ce4f2ddccde45b4a5a7b79a9d3cb4dcf1e8179768d3685fed5623f67d" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-005.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-005.json new file mode 100644 index 0000000..79d57f4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-005.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-005", + "full_run_identity": "sha256:9a96bf38f996d919b6f6735583335f6e70161eedc8aaab95b40117df5b56cef2", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:48760804f14c29880268dcc56242ce16a8c0b58444d0ad824113df020880a292" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-006.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-006.json new file mode 100644 index 0000000..3b1ff14 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-006.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-006", + "full_run_identity": "sha256:a46382f53c5dfd65378131dd0cf01fe8b3cf6367913a0449382d40a24e1c9fd3", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:dd65baae00d6e15acdd47c4113098aa1777ed83cfa10ea9bedc7e2bd9bc5971f" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-007.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-007.json new file mode 100644 index 0000000..b8bea9b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-007.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-007", + "full_run_identity": "sha256:e8af4905f13e1989e2d6e6169f8be8612edc5d54177062c9d99056c031263cca", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:e733eade19372223fa086c44a7be6075276a1fc36e3fa0dd175a2e99bab25fa7" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-008.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-008.json new file mode 100644 index 0000000..3c1d00d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-008.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-008", + "full_run_identity": "sha256:7469a38e65d4becf93e56c44ab363db7e70690635e6d3691665ee38ac9b8cce3", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [ + "check:typecheck" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:8ace04a1f6359a32359983b32418e83cd4145096cbf2130d0593fab38dc067d4" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-009.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-009.json new file mode 100644 index 0000000..3e75dc4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-009.json @@ -0,0 +1,11 @@ +{ + "scenario_id": "AVS-009", + "full_run_identity": "sha256:59903ff4b3b6c8361c944cf381d49220fbac489805e45ab288edddf098678986", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:c7b3c4100e76ca6fe748eb41c6b606e9ddc3c5e5f9e8026016468195d5cd240c" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-010.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-010.json new file mode 100644 index 0000000..4fb9714 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/oracle/AVS-010.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-010", + "full_run_identity": "sha256:be972967a88cf2c98e747975203deac34a229bcdc99baf685d8eea7f68a7625a", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:4b9af9d8e0bc3c28c54b4886210dd08831bff90cf64bc7972af4dd8d379cb463" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.execution.json new file mode 100644 index 0000000..a9c57a4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9434.065, + "spawn_error": null, + "stdout_sha256": "sha256:339c9ac9bdc435d42c9d4dbe4750275c46ee619e1dbd02c12a916a40fe654d75", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stdout.log new file mode 100644 index 0000000..e43a09b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 397ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: created dist/vanilla.js in 79ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 22ms +. build:react: created dist/react.js in 71ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 24ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 181ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 74ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 63ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 45ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 10ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 17ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 70ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 23ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 56ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 19ms +. build:traditional: created dist/traditional.js in 74ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 30ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.2s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 41ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 12ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.execution.json new file mode 100644 index 0000000..0689937 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4115.892, + "spawn_error": null, + "stdout_sha256": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stdout.log new file mode 100644 index 0000000..d7a9876 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 420ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.execution.json new file mode 100644 index 0000000..5f76757 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6144.425, + "spawn_error": null, + "stdout_sha256": "sha256:4a62bb8786034c67817a27118805ff52436dffb08c978161f99fbd9fc9909fbe", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stdout.log new file mode 100644 index 0000000..6ce794f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 408ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.execution.json new file mode 100644 index 0000000..85a009f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/ssrSafe.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3469.052, + "spawn_error": null, + "stdout_sha256": "sha256:d0969a4f9ba80d5e8f77f5bb6b2b7ca4012c1f7d94e1be90b1b7d77d9ae3e774", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stdout.log new file mode 100644 index 0000000..699157a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 425ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.vitest.json new file mode 100644 index 0000000..73da445 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":52,"numPassedTestSuites":52,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":166,"numPassedTests":166,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142676724,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.7421260000000984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.5349059999998644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6601129999999102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.823294999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.2474949999998444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8043840000000273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4899319999999534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.30919200000016644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.34394199999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.4653720000001158,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5121619999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.0154430000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.524782999999843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.40813200000002325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4730810000000929,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8522230000000945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.395776000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5773830000000544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5579219999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4553809999999885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3877509999999802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4344210000001567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3306410000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.36825100000010025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.548321999999871,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.372972000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2869650000000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.20053100000018276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5185119999998733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.42969300000004296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.4010809999999765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.47216200000002573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2386149999999816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.3942859999999655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0436939999999595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.46095199999990655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4832010000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1576649999999518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.4137309999998706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.9072029999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.997908999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6578429999999571,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5184130000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.6882120000000214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.7385939999999209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.5396169999999074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.2772759999998016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9541139999998904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6644830000000184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.119675000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7073720000000776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7873939999999493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5983619999999519,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.752753999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.9347829999999249,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6945240000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.739172999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.533822999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7681769999999233,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.3289150000000518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.447734999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.35316100000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.5246520000000601,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9190929999999753,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678747,"endTime":1788142678810.9192,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.983777999999802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.6740720000000238,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.37700199999994766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6433930000000601,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.42706199999997807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2028210000000854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.34884200000010424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.379120999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.3734260000001086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3502809999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2765009999998256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.2514010000002145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.16630000000009204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.21168099999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":5.364023000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.3000809999998637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2725510000000213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.24909099999990758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1643619999999828,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.16774099999997816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2139799999999923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.2902510000001257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1269199999999273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.21087099999999737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.20077100000003156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.17339100000003782,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678760,"endTime":1788142678777.2903,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":39.61332500000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.7035779999998795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":11.45671799999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":4.467979000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":4.5674280000000635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.712212000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.213029000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.0068019999998796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.2510839999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.5157709999998588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.2036689999999908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7483119999999417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8162429999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9657050000000709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.856211999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.547080000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.908621999999923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.868169999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9479940000001079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":1.0647039999998924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.8237930000000233,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.4238420000001497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.46911099999988437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.582653000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.24387000000001535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.712643000000071,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678751,"endTime":1788142678852.7126,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.710269000000153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.0689049999998588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.2276750000000902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.884574000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.2725060000000212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.6044219999998859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.6045619999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.0885350000000926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.4888419999999769,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.329841000000215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.7838829999998325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3785410000000411,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.40842200000020057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.23303099999998267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.38358099999982187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2514810000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8510640000001786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5453319999999167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.335111999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5068220000000565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7909930000000713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.22556100000019796,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678752,"endTime":1788142678770.2256,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.8377669999999853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0343749999999545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.2503790000000663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5277719999999135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.39542200000005323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2913509999998496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.32259099999987484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.7179329999999027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.42053200000009383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.5233329999998659,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.4103820000000269,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.6264429999998811,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678737,"endTime":1788142678746.6265,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.821376999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8595350000000508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3472309999999652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.6073330000001533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.1180139999999028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.22509900000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.15858000000002903,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678739,"endTime":1788142678744.225,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.2012989999998354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.800038000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4123610000001463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.478753000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.25951199999985874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.2857409999999163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.2919009999998252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5556129999999939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.34843100000011873,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142678740,"endTime":1788142678746.5557,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.execution.json new file mode 100644 index 0000000..10ab799 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5563.644, + "spawn_error": null, + "stdout_sha256": "sha256:e304d604fae025a88d552cdad73a7a557106b061749ad6cefe361d9179b15525", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stdout.log new file mode 100644 index 0000000..31d5257 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 421ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.vitest.json new file mode 100644 index 0000000..c8165be --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142680276,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":11.937980000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":36.67088199999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":7.516181999999844,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.654445000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":10.628924000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.9511499999998705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":6.410045999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.019886000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":7.5833520000001045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.658503999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.97072100000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3407120000001669,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.46503100000018094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5737820000003921,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.2070249999997031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.40234399999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":7.972833000000264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":7.522831999999653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":8.389994000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":6.879589000000124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":5.19408199999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.7928759999999784,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682797,"endTime":1788142682954.793,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.235618000000159,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.449247000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.833433000000241,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":16.35376899999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.0027140000001964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8890240000000631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4823919999998907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.36011199999984456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.8453639999997904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.6801829999999427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.522092999999586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.235913999999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5245520000003125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.6218730000000505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.7837330000002112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9546649999997499,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6443529999996827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5604719999996632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.9815239999998084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5068120000000818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.6713519999998425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.49427200000036464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3712820000000647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4515710000000581,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4901020000002063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3576109999999062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1921259999999165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.1642509999996946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.868054999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.34584099999983664,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.6246320000000196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.6365919999998368,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.5014470000000983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.811388000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.9148580000000948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5778820000000451,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5880520000000615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":2.0726800000002186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":2.0789089999998396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.6087470000002213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":2.13664800000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.8028730000000905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.7462429999995948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.0145950000000994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.2177639999999883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.6959670000001097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":2.368101000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.573265999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8970729999996365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.1452650000001086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.4620759999997972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":3.1691530000002786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.281836000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.2373039999997673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":1.0679540000000998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6715629999998782,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.0537030000000414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":1.1264750000000276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.413550000000214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.3705989999998565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.6895969999995941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.32401100000015504,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4188349999999446,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.2633749999999964,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682845,"endTime":1788142682936.2634,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.616211000000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.8468129999998837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.23537099999998645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":4.198987999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":3.576295000000073,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142684238,"endTime":1788142684249.5764,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":4.077707999999802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":1.0265939999999318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4064210000001367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":1.4940959999998995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.607684000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.42433100000016566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.45829200000025594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.5709719999999834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":2.4747110000002976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.7720030000000406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.5610120000001189,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.6079829999998765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.3884419999999409,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.8073920000001635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.4699620000001232,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.7037139999997635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.8293939999998656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2784719999999652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.21528100000023187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.6253120000001218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":1.9074079999995774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.4539519999998447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.22443100000009508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2375809999998637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.20346999999992477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.20778000000018437,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682859,"endTime":1788142682881.2375,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":58.39783299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":11.08836599999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":28.001756000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":20.100003000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":9.788749999999709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":11.7418389999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.3455330000001595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.597123999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.914740000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.867192000000159,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.622871000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7255139999997482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9364840000002914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.2231460000002699,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.3808639999997467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.493779999999788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.221664000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":7.053259000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0372240000001511,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.8855029999999715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9832440000000133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.4592720000000554,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.7448019999997086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.6004039999997985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.32314999999971405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.8622030000001359,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682854,"endTime":1788142683038.8623,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":6.645366999999624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8283830000000307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.5730160000002797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8258740000001126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5472520000002987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.1524939999999333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.5023119999996197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.029876999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.0300739999997859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.5082620000002862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5617420000003222,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.42256200000019817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.47552100000029895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2738109999995686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.4454319999999825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2633810000002086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.1134150000002592,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6540019999997639,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3394210000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.6705540000002657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":1.0136740000002646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.3553119999996852,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682850,"endTime":1788142682872.3552,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.078678000000309,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3585320000001957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":45.38825700000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":7.0767189999996845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":22.404111999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":15.77043599999979,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682798,"endTime":1788142682892.7705,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":42.99486700000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":5.5563029999998435,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142684389,"endTime":1788142684437.5564,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.857627999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.9444640000001527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.412555999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.41543099999989863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4186620000000403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.21289099999989958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.28377100000011524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.27563099999997576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2475210000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.28509200000007695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.9538830000001326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.6190530000001218,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142684232,"endTime":1788142684240.6191,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.072118000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8081640000000334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.28026999999997315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2559519999999793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0493440000000192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.3132299999999759,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20582999999987805,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142684357,"endTime":1788142684362.3132,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.063902000000098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5901330000001508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.33787100000017745,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.33015100000011444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.357180999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.9319940000000315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8055630000001202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.2671419999999216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.30543200000010984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2951219999999921,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142684342,"endTime":1788142684356.3054,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.044538999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.38319099999989703,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.2941009999999551,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.31815099999994345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.42277100000001155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.18740099999968152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":2.8882920000000922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.18655200000011973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.16792099999975107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3143409999997857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.3469009999998889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1665610000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6693030000001272,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142682793,"endTime":1788142682802.6692,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.49661100000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.0306889999999385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.45043299999997544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5733319999999367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.29110099999979866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.36624300000016774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.48125100000015664,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.6657829999999194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4473809999999503,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142684349,"endTime":1788142684357.4473,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-001/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.execution.json new file mode 100644 index 0000000..1be163b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3688.037, + "spawn_error": null, + "stdout_sha256": "sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stdout.log new file mode 100644 index 0000000..ba8fd7f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-001/AVS-001-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 433ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.execution.json new file mode 100644 index 0000000..31301a9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10771.761, + "spawn_error": null, + "stdout_sha256": "sha256:708218f879b38def1923c78438ac3a826cf28cad68fe2a7a9396f24c0aee8616", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stdout.log new file mode 100644 index 0000000..9c78b8d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 569ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: created dist/react.js in 77ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 21ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: created dist/vanilla.js in 90ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 30ms +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 223ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 97ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 88ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 23ms +. build:shallow: created dist/shallow.js in 66ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 14ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 81ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 28ms +. build:vanilla:shallow: Done +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: created dist/traditional.js in 65ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/react/shallow.js in 57ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/esm/traditional.mjs in 28ms +. build:react:shallow: created dist/esm/react/shallow.mjs in 18ms +. build:traditional: Done +. build:react:shallow: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.4s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 34ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.execution.json new file mode 100644 index 0000000..b2760a9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4112.714, + "spawn_error": null, + "stdout_sha256": "sha256:e6088aa3d744f2ed2632f380ade4ede37a6b2804101dac4814470e871e655a10", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stdout.log new file mode 100644 index 0000000..d68110e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 389ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.execution.json new file mode 100644 index 0000000..21667d9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6515.525, + "spawn_error": null, + "stdout_sha256": "sha256:baf092aab3f65307b6572f0608b5484e9416a63e7eac73119ae9f5a06dac4f87", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stdout.log new file mode 100644 index 0000000..ed3ba20 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 488ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.execution.json new file mode 100644 index 0000000..acc66b6 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/vanilla/shallow.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 2646.648, + "spawn_error": null, + "stdout_sha256": "sha256:71be388a89a0ae3a30f49c6966b5ff784593ba31342ac4863991abd44af84bac", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stdout.log new file mode 100644 index 0000000..29abd86 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 409ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.vitest.json new file mode 100644 index 0000000..7afdc88 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":8,"numPassedTestSuites":6,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":19,"numPassedTests":17,"numFailedTests":2,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142710830,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.2142250000001695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.2742110000001503,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":27.50398099999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.140227999999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":5.746472999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.323206000000027,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142712137,"endTime":1788142712180.3232,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"failed","title":"compares primitive values","duration":7.9461930000001075,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/shallow.test.tsx:6:33\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":1.8666070000000445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.4722919999999249,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.42029200000001765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4275910000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"failed","title":"compares functions","duration":0.9994839999999385,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/shallow.test.tsx:138:53\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5474209999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.1851409999999305,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.19893100000001596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.33320099999991726,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2599319999999352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.14039999999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.1946500000000242,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142712081,"endTime":1788142712096.1946,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/shallow.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.execution.json new file mode 100644 index 0000000..3a8ec82 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4191.352, + "spawn_error": null, + "stdout_sha256": "sha256:0c74f8d84081f15b8ed1a9e7769fe49ed903fd13a81fe3f4a29ef3271558704b", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stdout.log new file mode 100644 index 0000000..e8b4152 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 404ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.vitest.json new file mode 100644 index 0000000..bd46a2b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":64,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":222,"numFailedTests":2,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142713439,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.339861999999812,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":33.363915000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":7.127508000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":7.898682000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":12.195639999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.9220560000001115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.050027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.9265649999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.361602999999832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.266871999999921,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.025720000000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2768620000001647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3880019999999149,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.4376709999999093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8136739999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.5816509999999653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.371962000000167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.7148550000001705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.735869000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.653289000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":2.586100000000215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":2.146338999999898,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714922,"endTime":1788142715053.1462,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":2.9457119999999577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.0414639999999054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.551633000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":14.56063899999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.5691370000001825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.7479419999999664,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5991229999999632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3864619999999377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.4856609999999364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.43851199999994606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":2.833061999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3232359999999517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5617319999998927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.491600999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4329520000001139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.5151959999998326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9721250000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6802319999999327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5944019999999455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.48247200000014345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4524019999998927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4455209999998715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.40512299999977586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4334710000000541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":1.1894260000001395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.44867199999998775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3458060000000387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.25385099999994054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":1.002224999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3077009999999518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.29981099999986327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.559432999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.371375000000171,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.6794370000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5762770000001183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.48770199999989927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":1.5131349999999202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.315834999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8441540000001169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.6242469999999685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.2320440000000872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6510630000000219,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.627962000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9327440000001843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9114039999999477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":3.1100830000000315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.8051570000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0795140000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.9434129999999641,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.1010149999999612,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7190930000001572,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.028287999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.881832999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8275340000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":1.3343339999998989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.9435349999998834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.9413739999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6751339999998436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.0640180000000328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.348889999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.718757000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3669910000000982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.8406069999998635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.052253999999948,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714956,"endTime":1788142715039.0522,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.5833950000001096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":1.2065840000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.34086200000001554,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.400036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.3173709999998664,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142716260,"endTime":1788142716266.4001,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.7616170000001148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8062230000000454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4911529999999402,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7828730000001087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.39710200000013174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2975010000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.31709200000000237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.25601099999994403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.0214740000001257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.34237199999984114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.19033100000001468,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.22923100000002705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.16762000000016997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.7323639999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1892809999999372,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.2383300000001327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.21844099999998434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.1982510000000275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.16195199999992838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.29003000000011525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.4232910000000629,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.40204099999982645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1597509999999147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2793010000000322,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.21544100000005528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.2515610000000379,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714955,"endTime":1788142714967.2515,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":48.27448499999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.251989000000094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.743052000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":10.07222999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.403009999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.414447999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.3420139999998355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.492678000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":6.4117559999999685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":4.363927999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.799850000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9841349999999238,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.2025149999999485,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.3101250000001983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":4.881110000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":3.319494000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.5479239999999663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.961974000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.8294329999998808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.9635339999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.8986640000000534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":1.7606570000000374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":1.4455759999998463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5392620000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.29662099999995917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.5673530000001392,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714960,"endTime":1788142715104.5674,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.124620999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.6284319999999752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.2687349999998787,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.7050130000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5005519999999706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.7066429999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.3474210000001676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.4484330000000227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.6604429999999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3148710000000392,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.3795230000000629,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3472509999999147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.3987409999999727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2706110000001445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.36298199999987446,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2642409999998563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.1798049999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.3703410000000531,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.23311199999989185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.3988009999998212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8350229999998646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2297120000000632,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714958,"endTime":1788142714977.835,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.652411000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3648009999999431,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":38.57540600000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.844538999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":7.922383000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":9.146735999999919,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142716109,"endTime":1788142716172.1467,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":41.343836999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.672155999999859,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142716316,"endTime":1788142716363.672,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.5755199999998695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.2700960000001942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.112907999999834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5114330000001246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6488919999999325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3103009999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5323909999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4709620000000996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.5566830000000209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.5060710000000199,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3316620000000512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.8598830000000817,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142716129,"endTime":1788142716139.8599,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.1884489999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.800803999999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3468910000001415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.33447099999989405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9502740000000358,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.23523999999997613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20004100000005565,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714947,"endTime":1788142714952.2354,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":6.755106999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5744719999997869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3424330000000282,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.24774999999999636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3002010000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7151319999998123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.560463000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.16316100000017286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.21926000000007662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2606509999998252,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142716265,"endTime":1788142716275.2607,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"failed","title":"compares primitive values","duration":6.762208000000101,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/shallow.test.tsx:6:33\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.55294200000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.414162000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.50277200000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.375391000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"failed","title":"compares functions","duration":0.8631940000000213,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/shallow.test.tsx:138:53\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4756529999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.17421100000001388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.18663200000014513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.23230100000000675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.5297120000000177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.23224099999993086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.2807519999998931,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142714880,"endTime":1788142714892.2808,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.2647400000000744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.77847799999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3843410000001768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4917729999999665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.26280100000008133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.2784319999998388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.33012200000007397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.4726020000000517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3435709999998835,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142716230,"endTime":1788142716237.3435,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-002/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.execution.json new file mode 100644 index 0000000..335d066 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3725.588, + "spawn_error": null, + "stdout_sha256": "sha256:395cbdca9dd9cb6e1dd0e585b4c350e0e153a62c73557a960ba7ca9ee80d4d1b", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stdout.log new file mode 100644 index 0000000..b224db2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-002/AVS-002-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 413ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.execution.json new file mode 100644 index 0000000..9b3c26b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9314.627, + "spawn_error": null, + "stdout_sha256": "sha256:0abda2af9a4e08ef8db4c4545c92544cd353439d49f56073a8d96203e8dccda9", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stdout.log new file mode 100644 index 0000000..f1c7570 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 408ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: created dist/vanilla.js in 67ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 26ms +. build:react: created dist/react.js in 67ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 14ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 161ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 84ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 60ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 43ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 10ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 19ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 66ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 20ms +. build:vanilla:shallow: Done +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:react:shallow: created dist/react/shallow.js in 61ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 71ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 13ms +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 23ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 40ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.execution.json new file mode 100644 index 0000000..72f04f0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4150.037, + "spawn_error": null, + "stdout_sha256": "sha256:31d0292a0bf79b1179f319e66a3092bc330cd90413d8ad01dbe7d4a581e429e3", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stdout.log new file mode 100644 index 0000000..aebd619 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 407ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.execution.json new file mode 100644 index 0000000..2d567a7 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6323.934, + "spawn_error": null, + "stdout_sha256": "sha256:0f0e56fada5329858b680804b4ccf7a25afd978745c2d5d38e64876cf8c7cafb", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stdout.log new file mode 100644 index 0000000..0fc6ffb --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-lint.stdout.log @@ -0,0 +1,9 @@ +Already up to date +Done in 411ms using pnpm v11.3.0 + +/tmp/av-exp-001-shadow-amendment-002/AVS-003/src/vanilla.ts + 74:13 error 'previousState' is assigned a value but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars + +✖ 1 problem (1 error, 0 warnings) + +[ELIFECYCLE] Command failed with exit code 1. diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.execution.json new file mode 100644 index 0000000..38a3a71 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/vanilla.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4351.245, + "spawn_error": null, + "stdout_sha256": "sha256:e6f11c894c687674c20604c06ad95ea7acc3200ab532cdc0febae9931dd72348", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stdout.log new file mode 100644 index 0000000..329c649 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 438ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.vitest.json new file mode 100644 index 0000000..7838325 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":61,"numPassedTestSuites":59,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":211,"numPassedTests":210,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142744959,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":8.948456000000078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":31.945887000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.921930999999859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.1368030000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":16.514955999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":2.81583999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.120306999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.8012350000001334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":6.555866000000151,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.43350200000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.816499000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.26747100000011415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3055010000000493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.46776100000010956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.593073000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.333127999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.709198999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.266807999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.2088209999999435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.149689999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.048817000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.1836940000000595,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746619,"endTime":1788142746749.1836,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.27843699999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.570605999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6262820000001739,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.774212999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.7377179999998589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.6620120000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.47822199999995973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.43552100000010796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.30165199999987635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3726810000000569,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5406809999999496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.0109039999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5636920000001737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.7804539999999633,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.6790320000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9884039999999459,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6643940000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":1.021253999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5419620000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4333920000001399,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":1.0554339999998774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":1.4001659999998992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3570509999999558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4038719999998648,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4983119999999417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.2894209999999475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3920949999999266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.2156209999998282,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6213929999998982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3109719999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.3075019999998858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5236609999999473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2646359999998822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.619186000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1720150000001013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.46948199999997087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.518882000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2077249999999822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":1.1349249999998392,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1664040000000568,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.3107540000000881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.8782940000000963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.8282329999999547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.0168339999997897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.1958259999998972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.3122779999998784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.937078000000156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.028635000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7215530000000854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.120044999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7003839999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.864137000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6655829999999696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.876453999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":4.052136000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.8335830000000897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8724839999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6259030000001076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.5550000000000637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.272848999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.7235670000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.381163000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.708915000000161,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9922849999998107,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746655,"endTime":1788142746734.9922,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.2353280000002087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7557729999998628,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.28808100000014747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.053284000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2804109999999582,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142747885,"endTime":1788142747890.2805,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.401145999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5568920000000617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.2579009999999471,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5237230000000181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.23820100000011735,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.1401100000000497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.24612099999990278,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.24274100000002363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.1483650000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.2954509999999573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.47344300000008843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.3573910000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.1558500000001004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.4164220000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.14609999999993306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.12952100000006794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.16099999999983083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.16081000000008316,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.141311000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.23628099999996266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.3463320000000749,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.5264019999999618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.13056000000005952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.17219100000011167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.15126899999995658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.16928099999995538,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746655,"endTime":1788142746664.172,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":47.04025699999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.705886999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":14.103806000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":9.849568999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.493119999999863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.966379000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.6813509999999496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.26830700000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.321241999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.5278500000001713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.964262999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.8901140000000396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.052314000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.7031369999999697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.185622000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.4891489999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":11.382605000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.8233070000001135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.2277650000000904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":1.3146460000000388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.097613999999794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":1.0976949999999306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6209329999999227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.583011999999826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.3137209999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.9509040000000368,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746645,"endTime":1788142746788.951,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.160607000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.754182000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.2984960000001138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.3536349999999402,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6841629999998986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.4387610000001132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.3551429999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.319744000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.5884029999999711,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.34978099999989354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.35459100000002763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3162419999998747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.649152999999842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2239199999999073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3503910000001724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2102300000001378,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7768140000000585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6523219999999128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.29821100000003753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.48642199999994773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.761164000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.26973099999986516,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746643,"endTime":1788142746659.2698,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.3896149999998215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3109319999998661,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":32.54256899999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":7.799310999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.649985000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":6.456386000000066,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746619,"endTime":1788142746676.4563,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":52.1584069999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.174668999999994,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142747868,"endTime":1788142747927.1746,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.3920960000000377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.7103119999999308,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.4412760000000162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.41753200000016477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4631109999997989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.265831000000162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3088719999998375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.2960319999999683,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.24767199999996592,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"failed","title":"should pass previous and current state to listener","duration":7.883391999999958,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called with arguments: [ { count: 1 }, { count: +0 } ]\n\nReceived:\n\n 1st vi.fn() call:\n\n [\n {\n \"count\": 1,\n },\n {\n- \"count\": 0,\n+ \"count\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1487:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/subscribe.test.tsx:106:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.4284609999999702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.34164099999998143,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142747798,"endTime":1788142747813.3416,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.0858089999999265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.0002750000001015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3877810000001318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.275581000000102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.3758359999999357,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.30304100000012113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.21858099999985825,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142746635,"endTime":1788142746641.303,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.026020000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6602530000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3571509999999307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.4914819999999054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.4014009999998507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.9721739999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.9458239999999023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.35581100000013066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.2837210000000141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3397410000000036,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142747806,"endTime":1788142747821.3398,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.6582610000000386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7841369999998733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":1.3302260000000388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":1.2617749999999432,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":1.11597299999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":1.5874549999998635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6093620000001465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.8224640000000818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.6054029999997965,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142747738,"endTime":1788142747750.6055,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.execution.json new file mode 100644 index 0000000..bd91375 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4302.819, + "spawn_error": null, + "stdout_sha256": "sha256:dd3df4f4363510cb7d15e46b3947f982cd65c1c7bc64d43ed708f8aa2bd6a27f", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stdout.log new file mode 100644 index 0000000..2e3e05c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 426ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.vitest.json new file mode 100644 index 0000000..a5fb61b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":64,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":223,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142749294,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":9.043415000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":33.45081200000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.9971049999999195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.21607199999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":10.929763999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.5774240000000646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.18640100000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":2.687691000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.9419829999999365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.695017000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.810238000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2783719999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.42332299999998213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5222610000000714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":2.3196179999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.3643140000001495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.629171000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.18130599999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.054570000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":3.0424920000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.5805039999997916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.1425340000000688,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750819,"endTime":1788142750948.1426,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.049741999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":0.9238739999998415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.4925519999999324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":7.2891490000001795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.0701649999998608,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.5183819999999741,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.28161099999988437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.20745999999985543,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":9.636897999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.4095209999998133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5218019999999797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.5613260000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.4939120000001367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.7775019999999131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4440410000001975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.1835950000001958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9034930000000259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6307220000001053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5871230000000196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.40122199999996155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.42394199999989723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.48188200000004144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.31965100000002167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.29635000000007494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.45376100000021324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.381842000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0384329999999409,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.15798100000006343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5492530000001352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2394810000000689,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2264100000002145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.3840020000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":0.992373999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.392966000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0812530000000606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4122219999999288,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.41675099999997656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.8288740000000416,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.6876620000000457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1969349999999395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.682741999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6642119999999068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.4749020000001565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.5920219999998153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8385540000001583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.9139270000000579,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.3788959999999406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.6873330000000806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6786829999998645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8855540000001838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5618729999998777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.55843700000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5471919999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.5033009999999649,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.5742929999998978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.45283199999994395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.6290120000001025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5369929999999385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.6647770000001856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.8322270000001026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.335215000000062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3766519999999218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5544760000000224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.8674140000000534,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750854,"endTime":1788142750920.8674,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.332828000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7929529999998977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.21431100000017977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9004840000000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.22219199999994999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142752237,"endTime":1788142752242.2222,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.8495179999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.684603000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3436509999999089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6012620000001334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.369811000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.176330999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.7218430000000353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.31062100000008286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.09924500000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.32462199999986296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.23679100000003928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.5045529999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.5702229999999417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.3927610000000641,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.20863099999996848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.2392210000000432,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.3277419999999438,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.29456200000004173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.18089099999997416,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.20074099999987993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2958410000001095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.23484099999996033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.12892899999997098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.21702000000004773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2720209999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.23464100000001054,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142752214,"endTime":1788142752226.272,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":40.58929000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.299495000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":12.290708999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":7.440918999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":8.094381999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.247252000000117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.094720000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":2.7999099999999544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.3273329999999532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.9445360000001983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.376109000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.8433539999998629,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.005245000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9480739999999059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.4371430000001055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.4590209999998933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.9016050000000178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.850453000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0261539999999059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.668873000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.126365000000078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":1.0782930000000306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5737009999998008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.6265730000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.26840999999990345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.9800849999999173,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750858,"endTime":1788142750975.98,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":6.151175000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.9040640000000622,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.7310979999999745,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.280334000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.8307839999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5031420000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.45382199999994555,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.7512680000002092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.0013750000000528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.41182199999980185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.6122119999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.39356099999986327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.47764299999994364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.25812100000007376,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.38425099999994927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.29032100000017635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8861630000001242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.43613299999992705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.6077820000000429,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5612530000000788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8427030000000286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.24788999999987027,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142752023,"endTime":1788142752044.2478,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.4787659999999505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.279980999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":30.310658999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.358567999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":7.60632899999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":6.812738000000081,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750821,"endTime":1788142750871.8127,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":51.6600840000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":10.172629000000143,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750825,"endTime":1788142750886.1726,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.6115310000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.9379840000001423,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8219970000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4791130000000976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6142019999999775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.4724430000001121,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5222020000001066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4494009999998525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":1.4467360000001008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"failed","title":"should pass previous and current state to listener","duration":9.12249699999984,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called with arguments: [ { count: 1 }, { count: +0 } ]\n\nReceived:\n\n 1st vi.fn() call:\n\n [\n {\n \"count\": 1,\n },\n {\n- \"count\": 0,\n+ \"count\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1487:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/subscribe.test.tsx:106:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.45719099999996615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.4582310000000689,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750845,"endTime":1788142750865.4583,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.620877000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.6748030000001108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2900120000001607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2198319999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.8371329999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.20505100000013954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.15302900000006048,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142752211,"endTime":1788142752215.205,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":9.729028999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6815230000001975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.7761330000000726,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.5664420000000518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.47772299999996903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.967672999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":2.392319000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.3751710000001367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.3508710000000974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.24603000000001884,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142752048,"endTime":1788142752064.3752,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.2941390000000865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.8621539999999186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.5642520000001241,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.3500609999998687,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4857520000000477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.3813720000000558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.6871530000000803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.19690200000013647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.5775919999998678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.33803100000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.3027710000001207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.23996099999999387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7586529999998675,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142750770,"endTime":1788142750778.7585,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.1288979999999356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6897559999999885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.390610999999808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.48160200000006625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2766710000000785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.2948510000001079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.350592000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5072430000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.38198099999999613,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142752190,"endTime":1788142752197.382,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-003/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.execution.json new file mode 100644 index 0000000..83a8d13 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3467.209, + "spawn_error": null, + "stdout_sha256": "sha256:0eb83c67352bb9646c18d8c01c3f0fea0efde2efb89ac0c97a6244e889c6bf21", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stdout.log new file mode 100644 index 0000000..bd13fe8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-003/AVS-003-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 423ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.execution.json new file mode 100644 index 0000000..a618132 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 12744.722, + "spawn_error": null, + "stdout_sha256": "sha256:7535262671cf57e4b360644198ddc80f46ba6c4b7cf3ec34458619a5e19cc7b6", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stdout.log new file mode 100644 index 0000000..f23c1af --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 407ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: created dist/vanilla.js in 528ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 588ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 100ms +. build:vanilla: created dist/esm/vanilla.mjs in 161ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 886ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 343ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: created dist/shallow.js in 59ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 11ms +. build:middleware:immer: created dist/middleware/immer.js in 73ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 28ms +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 105ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 29ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 81ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 22ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 86ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 41ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 5.3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 33ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.execution.json new file mode 100644 index 0000000..dcdce93 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4080.656, + "spawn_error": null, + "stdout_sha256": "sha256:26af779f16b7a72d4f0d63b6286d06bc38fc04dfb6897960a1a19aa7f355c73e", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stdout.log new file mode 100644 index 0000000..95c49dd --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 412ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.execution.json new file mode 100644 index 0000000..f0ec0b8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5945.114, + "spawn_error": null, + "stdout_sha256": "sha256:93fb26999bf09590ff338964d196efa9e2ce29068e6f1fcdf7793964baab2dcf", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stdout.log new file mode 100644 index 0000000..5063713 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 397ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.execution.json new file mode 100644 index 0000000..051cb6d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/persist.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3134.466, + "spawn_error": null, + "stdout_sha256": "sha256:6de0b81f4970cef331053244e1dc59887ec35c1c0d9c89a0d14246d114df1fa4", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stdout.log new file mode 100644 index 0000000..3f9b3b1 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 408ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.vitest.json new file mode 100644 index 0000000..bd2c60e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":52,"numPassedTestSuites":50,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":166,"numPassedTests":158,"numFailedTests":8,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142778433,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.598203999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.218454999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.8871529999998984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":7.514948999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.379626000000144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.7218319999999494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.44835299999999734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.35157200000003286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.33694100000002436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.478792999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6370929999998225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.294076000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.8297919999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.49127199999998084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4212720000000445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9911439999998493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.8683340000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5838820000001306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6371019999999135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5863919999999325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4353019999998651,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4577120000001287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4089320000000498,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.39477099999999155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.6838230000000749,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.4139430000000175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3492349999999078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.22384099999999307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6159819999998035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2909819999999854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.30169999999998254,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5553719999998066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3093049999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.7951269999998658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.257235000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5498710000001665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6590920000001006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.3745739999999387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.4858030000000326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.5715059999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0639750000000276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7026619999999184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6286219999999503,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7926840000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8212129999999433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.8628269999999247,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.5633849999999256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0791949999997996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8929339999999684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9911130000000412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6632519999998294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8995930000000953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6980630000000474,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7837629999999081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6591829999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7234329999998863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8286229999998795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6400919999998678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7880069999998796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.6430759999998372,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.5549960000000738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.36284200000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.5984730000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.076863000000003,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780172,"endTime":1788142780236.077,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.2432589999998527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7213320000000749,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.256851000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6031719999998586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2883920000001581,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.15102999999999156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.292060999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.277131000000054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.0143849999999475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3276020000000699,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.17168999999989865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.20822999999995773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.15376100000003134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":1.7554470000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.24359199999980774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.23471100000006118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.28235099999983504,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2671900000000278,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.22244099999988975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2717210000000705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2970820000000458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.20424099999991085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.12999999999988177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2128699999998389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.5519320000000789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.21315100000015264,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780175,"endTime":1788142780187.552,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":40.13244600000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.5561579999998685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":8.507654000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":4.448077000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":4.3533279999999195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.114707999999837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.6825069999999869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.9718380000001616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.3155380000000605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.297360000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.7603770000000623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.6458219999999528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.7370229999999083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6968130000000201,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":1.9315480000000207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.7248759999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.1987490000001344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":3.636154000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9080229999999574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.60894200000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7528429999999844,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.34882199999992736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.49632199999996374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.7288320000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.24668100000008053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7163630000000012,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780174,"endTime":1788142780264.7163,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"failed","title":"can rehydrate state","duration":15.807141999999885,"failureMessages":["AssertionError: expected { count: +0, name: 'empty' } to deeply equal { count: 42, name: 'test-storage' }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:67:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.342625999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"failed","title":"can persist state","duration":2.063366999999971,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 42 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:132:39\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"failed","title":"can non-async migrate persisted state","duration":2.735580000000027,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 99 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:161:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.891153999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.6470320000000811,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"failed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.7286160000001018,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:263:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"failed","title":"gives the merged state to onRehydrateStorage","duration":1.2772059999999783,"failureMessages":["AssertionError: expected { count: +0, …(1) } to deeply equal { count: 1, …(1) }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:291:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"failed","title":"can custom merge the stored state","duration":1.268184999999903,"failureMessages":["AssertionError: expected { count: +0, actions: { …(1) } } to deeply equal { count: 1, actions: { …(1) } }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:327:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"failed","title":"can merge the state when the storage item doesn't have a version","duration":0.9723829999998088,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:354:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.9084940000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.7583930000000692,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.9803039999999328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.4554610000000139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3385410000000775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.29222200000003795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7200820000000476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4281020000000808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"failed","title":"handles state updates during onRehydrateStorage","duration":0.9068440000000919,"failureMessages":["AssertionError: expected +0 to deeply equal 2\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:656:44\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5585719999999128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7589040000000296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.18074000000001433,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780171,"endTime":1788142780208.1807,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.0610090000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0250330000001213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8237359999998262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.46976199999994606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4834520000001703,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.4457509999999729,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.42197200000009616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4142620000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.7846729999998843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.6039020000000619,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3517709999998715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.4565310000000409,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780161,"endTime":1788142780170.4565,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.23408900000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7459220000000641,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2335009999999329,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2084420000001046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.7824829999999565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2314810000000307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20414100000016333,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780161,"endTime":1788142780166.204,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.979430999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.0156580000000304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.47857199999998556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.7445430000000215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3533310000000256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.38128200000005563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4090810000000147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.6468520000000808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":1.0147339999998621,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142780163,"endTime":1788142780172.0146,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.execution.json new file mode 100644 index 0000000..2a9d24e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4363.582, + "spawn_error": null, + "stdout_sha256": "sha256:bf56e09c8a03b6f619dde6be3886cc254d7baf4641f47db9fe8b58e55e8a6528", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stdout.log new file mode 100644 index 0000000..249a89c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 392ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.vitest.json new file mode 100644 index 0000000..976ec3f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":64,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":216,"numFailedTests":8,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142781625,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.055938999999853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":32.90247700000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.676432999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":9.37378600000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":12.489376999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.439166999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.832928999999922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.2627370000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":9.291335000000117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":14.218986000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.780559000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.33553100000017366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3867810000001555,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.526252999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8955630000000383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.82774100000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.345625000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.869928999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":6.210673999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":6.551875999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":5.504811000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.5335360000001401,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783191,"endTime":1788142783339.5334,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.735835000000179,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.1788850000000366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.9018740000001344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.211518999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.2000350000000708,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":2.4082200000000284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4430219999999281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3081510000001799,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.36110099999996237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.35134100000004764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5560720000000856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.705536999999822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5344910000001164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.7803239999998368,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4962120000000141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.1932050000000345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6591220000000249,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.611842999999908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.543751999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.424701000000141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3002599999999802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.37898199999995086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.2769509999998263,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.2891909999998461,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4215320000000702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.504613000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0053330000000642,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.20392100000003666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":2.510430000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3364520000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.35658200000011675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4096910000000662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.194964999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.8306170000000748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1530250000000706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4614129999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4970809999999801,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2336750000001757,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8199329999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0687849999999344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0450439999999617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.4648620000000392,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.4395309999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.66284399999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8336420000000544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.0330289999999422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.5549550000000636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.8447929999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6102229999999054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8237719999999626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5203030000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.8449079999998048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6315329999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7365539999998418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6898630000000594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7144129999999222,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7745230000000447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.4861719999998968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7758570000000873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.050846999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.6681670000000395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3783509999998387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.6168170000000828,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9234940000001188,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783223,"endTime":1788142783292.9236,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.282040000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7894440000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2414209999999457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.885042999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.34713299999998526,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142784505,"endTime":1788142784510.3472,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.0307470000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7698830000001635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3706009999998514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.912503999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.37080199999991237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.24208999999996195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.345602000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.32023099999992155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.7834980000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3880220000000918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.3539610000000266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.5229519999998047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.2055119999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.6244020000001456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.21781099999998332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.19277999999985695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.22394099999996797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.21918200000004617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.2183310000000347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2698210000000927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.3743810000000849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.44186199999990095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.15057000000001608,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.22492099999999482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2420910000000731,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.23335999999994783,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783235,"endTime":1788142783248.2422,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":51.509029000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.494611000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.663461000000098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.747102999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.584278999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.829328000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.3456730000000334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.570157999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.4689140000000407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.520702999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.6428909999999632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9753140000000258,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.0272050000000945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9799639999998817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":4.42224699999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.729881000000205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":4.936609999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.255143999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.5116659999998774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6143319999998766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.954283999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6661119999998846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.4815929999999753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5844030000000657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2516610000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7163630000000012,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783227,"endTime":1788142783366.7163,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"failed","title":"can rehydrate state","duration":20.11836799999992,"failureMessages":["AssertionError: expected { count: +0, name: 'empty' } to deeply equal { count: 42, name: 'test-storage' }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:67:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.356164999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"failed","title":"can persist state","duration":5.066120000000183,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 42 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:132:39\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"failed","title":"can non-async migrate persisted state","duration":7.837819999999965,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 99 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:161:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.87184400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5871819999999843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"failed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.8447680000001583,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:263:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"failed","title":"gives the merged state to onRehydrateStorage","duration":1.4412560000000667,"failureMessages":["AssertionError: expected { count: +0, …(1) } to deeply equal { count: 1, …(1) }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:291:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"failed","title":"can custom merge the stored state","duration":1.9305469999999332,"failureMessages":["AssertionError: expected { count: +0, actions: { …(1) } } to deeply equal { count: 1, actions: { …(1) } }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:327:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"failed","title":"can merge the state when the storage item doesn't have a version","duration":1.602235999999948,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:354:38\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5127510000002076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.7392139999999472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":1.139024000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.33730100000002494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.8025969999998779,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.345801000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.0441530000000512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4850730000000567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"failed","title":"handles state updates during onRehydrateStorage","duration":1.1259550000002037,"failureMessages":["AssertionError: expected +0 to deeply equal 2\n at /tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx:656:44\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.8552030000000741,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":1.0068539999999757,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.28153199999997014,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783224,"endTime":1788142783277.2815,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.5793160000000626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.361562000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":34.80126500000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.839367999999922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.74336500000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":7.591548999999986,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783190,"endTime":1788142783248.5916,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":54.11745000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":8.052671000000146,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142784581,"endTime":1788142784643.0527,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.8194069999999556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.3702559999999266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6309259999998176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.42162200000007033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.586612999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.21580999999991946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.42625199999997676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.37170099999980266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.470602000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.8214029999999184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3176610000000437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.4181220000000394,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142784320,"endTime":1788142784329.4182,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.6588959999999133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.6826820000001135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2454609999999775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.20238000000017564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9612650000001395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.28313100000013947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.229129999999941,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142784383,"endTime":1788142784388.2292,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":8.85576500000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6137229999999363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2684509999999136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.26805100000001403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.2684509999999136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":2.317778999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.9156439999999293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.22919100000012804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.21849100000008548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2140910000000531,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142784513,"endTime":1788142784527.2292,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.9535889999999654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.45182199999999284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.37726100000008955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.28359199999999873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.38647199999991244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2279519999999593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.37174099999992904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.14708100000007107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.4616710000000239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.26183100000002923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2621510000001308,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.13562999999999192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.5732510000000275,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142783173,"endTime":1788142783179.5732,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.5018290000000434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.953818000000183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.6688920000001417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5604519999999411,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3312220000000252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3747209999999086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4297719999999572,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.615402000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":1.0186429999998836,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142784507,"endTime":1788142784516.0186,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-004/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.execution.json new file mode 100644 index 0000000..b63df25 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3666.045, + "spawn_error": null, + "stdout_sha256": "sha256:5911379ea186f4681ce1ae82702ce7b12168d5a4cfaf3c31e70af5768b9f4bb3", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stdout.log new file mode 100644 index 0000000..d2bad76 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-004/AVS-004-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 450ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.execution.json new file mode 100644 index 0000000..bd25b0c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9355.68, + "spawn_error": null, + "stdout_sha256": "sha256:6450b9c9a0221055b4f90401a3e26c2d545a88faad878b7027030b0f2a463a8c", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stdout.log new file mode 100644 index 0000000..989ec27 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 427ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 60ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 24ms +. build:react: created dist/react.js in 73ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 24ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 174ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 74ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:shallow: created dist/shallow.js in 45ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/middleware/immer.js in 62ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/esm/shallow.mjs in 10ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 14ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 78ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 19ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 57ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 59ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 17ms +. build:traditional: created dist/esm/traditional.mjs in 22ms +. build:react:shallow: Done +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 31ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.execution.json new file mode 100644 index 0000000..7f65760 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4804.018, + "spawn_error": null, + "stdout_sha256": "sha256:bb719fbbd76e64db23209c99141bfa7c4addeb9840a1ef3958441084074dd0ad", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stdout.log new file mode 100644 index 0000000..5d2a1f9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 481ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.execution.json new file mode 100644 index 0000000..8138a45 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6136.201, + "spawn_error": null, + "stdout_sha256": "sha256:c4d648abdc3cdb3f4127b99fbce39b118168c55e818386511c770762cc1b2580", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stdout.log new file mode 100644 index 0000000..5116a1d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 490ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.execution.json new file mode 100644 index 0000000..75428fc --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "tests/vanilla/basic.test.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 2613.136, + "spawn_error": null, + "stdout_sha256": "sha256:8313e158fdf3f78fe09247058f3f09d92c8951c0cccb52f338789f5de3b05a6f", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stdout.log new file mode 100644 index 0000000..e8ee380 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 420ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.vitest.json new file mode 100644 index 0000000..8b36182 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":1,"numPassedTestSuites":0,"numFailedTestSuites":1,"numPendingTestSuites":0,"numTotalTests":10,"numPassedTests":9,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":1,"total":1,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142814294,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":7.180347999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"failed","title":"uses the store","duration":3.547822999999994,"failureMessages":["AssertionError: expected 1 to be 2 // Object.is equality\n at /tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/vanilla/basic.test.ts:53:34\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.27217099999995753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2225509999999531,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.30835100000001603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7101420000000189,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.2825909999999112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.22602100000005976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.18973899999991772,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.23721100000000206,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142815548,"endTime":1788142815561.2825,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/vanilla/basic.test.ts"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.execution.json new file mode 100644 index 0000000..0a8f245 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4320.168, + "spawn_error": null, + "stdout_sha256": "sha256:7b2784c6317a5db955eb6dcef25badf2c3b1ce37065d6a7ea7943c9d356f34ad", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stdout.log new file mode 100644 index 0000000..1c802d8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 424ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.vitest.json new file mode 100644 index 0000000..124dd76 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":65,"numFailedTestSuites":1,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":223,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142816875,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":8.496542999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":26.651720999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.127901999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.744122000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":15.410188999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":2.9947010000000773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":6.272633999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.147283000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.341679999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":12.046135999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":3.524654000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2307299999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.25187099999993734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.3533519999998589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6592129999999088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.4631990000000314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.693192000000181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.760594000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.237135999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.42827699999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.9185150000000704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.8407870000000912,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818423,"endTime":1788142818543.8408,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":5.101519999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":5.220129999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.901727999999821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":14.485096000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":13.689612000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8916119999998955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.36528199999997923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.29226200000016433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.2814309999998841,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.2503600000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":4.580298000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.1958349999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5934420000000955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.4926020000000335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":11.704733999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.0694950000001882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.778912999999875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":4.157326999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":2.2601880000001984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6398119999998926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.5686820000000807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.48050100000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4220310000000609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4235310000001391,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4460520000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.49828100000013364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.249994999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.19683099999997467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.47042099999998754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3126220000001467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2722310000001471,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4643220000000383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.266394999999875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.5824260000001686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.4690660000001117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":1.5324459999999362,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.641992000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1826049999999668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8875239999999849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.7538970000000518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.2099840000000768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7090929999999389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.538921000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.0751749999999447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9056029999999282,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.146248000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":2.0425780000000486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9660639999999603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7179719999999179,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.155574999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6532030000000759,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.768137999999908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.624672000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7263819999998304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.7145140000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.5707409999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.6541629999999259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.47919200000001183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.509996000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.2540979999998854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.6170270000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.31082100000003265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5519950000000335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0278639999999086,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818470,"endTime":1788142818588.0278,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.1410410000000866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.883893000000171,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.27262100000007194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.083453999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.3365009999999984,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142819788,"endTime":1788142819794.3364,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":6.893595999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8631929999999102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.42512200000010125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7051320000000487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.44822100000010323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.26040100000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.44491100000004735,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.5019230000000334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.292904000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3489520000000539,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":2.2735999999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.4260620000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.4791419999999107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.2640010000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.18865099999993618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.3855309999999008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.30070200000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2666020000001481,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.2117719999998826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.28817199999980403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2826110000000881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.241600999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.2636609999999564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2449300000000676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2374210000000403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.26176200000008976,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818469,"endTime":1788142818489.2617,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":49.274487000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.246789999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":13.24676999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":5.070598000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":12.797869999999875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.5383030000000417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.3082889999998315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":2.8961309999999685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.1848119999999653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.708900999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.8609180000000833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.6317919999999049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.726272999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.7300339999999323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":1.9077970000000732,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.8721769999999651,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.2290389999998297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.314577000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9638840000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5028720000000249,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7498130000001311,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.3368510000000242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.7993530000001101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4814010000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.28716099999996914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.569342000000006,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818471,"endTime":1788142818590.5693,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.345771000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7474019999999655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.0377630000000408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8372130000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5596109999999044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.0674549999998817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.4262109999999666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.9165830000001733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.39594099999999344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3267519999999422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.3471710000001167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3130110000001878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.3871710000000803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.6578520000000481,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.33399099999996906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.19736100000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.0966640000001462,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5197319999999763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.25908099999992373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.6168820000000323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9001130000001467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.28145999999992455,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818467,"endTime":1788142818485.2815,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":4.596817999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":1.8407069999998384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":33.501497999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.4627570000000105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.734796000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":5.762720999999829,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142819756,"endTime":1788142819813.7627,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":41.039776000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.732586000000083,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142819843,"endTime":1788142819890.7327,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.9563270000001012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.183475000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.076628000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5656820000001517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5001409999999851,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2858120000000781,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5876019999998334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5948929999999564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.39000099999998383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.5351120000000265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3196410000000469,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.2934219999999641,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142819587,"endTime":1788142819596.3196,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.8251870000001418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7461719999998877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3127510000001621,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.243979999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9475930000000972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2470299999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20549099999993814,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818443,"endTime":1788142818447.247,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":13.51674099999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"failed","title":"uses the store","duration":3.844105000000127,"failureMessages":["AssertionError: expected 1 to be 2 // Object.is equality\n at /tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/vanilla/basic.test.ts:53:34\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.30361100000004626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.31862100000012106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.260921000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6900230000001102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.3417019999999411,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.24828000000002248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.2454320000001644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.20130199999994147,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142819724,"endTime":1788142819744.2454,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.2478389999998853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4675119999999424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.4683620000000701,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.30609099999992395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.9000829999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.18806199999994533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.622651999999789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.22838099999989936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.22295099999996637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.26799099999993814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.22731099999987237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.16922100000010687,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6465920000000551,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142818415,"endTime":1788142818422.6465,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.9040410000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.345158999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.48909200000002784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.648052000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.564042999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4036220000000412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4036709999998038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.9666939999999613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.898232999999891,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142819739,"endTime":1788142819747.8982,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-005/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.execution.json new file mode 100644 index 0000000..b4eb53c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4183.978, + "spawn_error": null, + "stdout_sha256": "sha256:3cddc9bade180f48d618152cdc6514fc2559de07ba74055b6bc82ce6a2727c8d", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stdout.log new file mode 100644 index 0000000..3bfab27 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-005/AVS-005-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 452ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.execution.json new file mode 100644 index 0000000..5d19aad --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9131.831, + "spawn_error": null, + "stdout_sha256": "sha256:e64654a315b253722f2f3935e5a981783b098f53d030133178569774f4461b46", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stdout.log new file mode 100644 index 0000000..798b0a1 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 435ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:base: src/index.ts → dist... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: created dist/vanilla.js in 60ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 13ms +. build:react: created dist/react.js in 66ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 29ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 158ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 69ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 54ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 12ms +. build:shallow: created dist/shallow.js in 55ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/esm/shallow.mjs in 15ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 61ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 16ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 60ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 16ms +. build:traditional: created dist/traditional.js in 67ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 20ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 30ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.execution.json new file mode 100644 index 0000000..3435180 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4389.422, + "spawn_error": null, + "stdout_sha256": "sha256:0eb83c67352bb9646c18d8c01c3f0fea0efde2efb89ac0c97a6244e889c6bf21", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stdout.log new file mode 100644 index 0000000..bd13fe8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 423ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.execution.json new file mode 100644 index 0000000..5ce5c1e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 7036.692, + "spawn_error": null, + "stdout_sha256": "sha256:84fe4d1f4abd6d26e28011bdbf6108988b1b87c7ada7b59b09f940d225f178f7", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stdout.log new file mode 100644 index 0000000..4c3d636 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 518ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.execution.json new file mode 100644 index 0000000..78b4c7e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "vitest.config.mts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1595.69, + "spawn_error": null, + "stdout_sha256": "sha256:f2e4267e524b1a3da1755a410257b349fccade947e6d97fb87421c3b14e6d860", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stdout.log new file mode 100644 index 0000000..325a5ba --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 419ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.vitest.json new file mode 100644 index 0000000..7a07a68 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":0,"numPassedTestSuites":0,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":0,"numPassedTests":0,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142847380,"success":true,"testResults":[]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.execution.json new file mode 100644 index 0000000..9115564 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4542.631, + "spawn_error": null, + "stdout_sha256": "sha256:85bbc25d1dfa65a6f54ddcfa025e4aa524de7f0347ee547218c7756d2b16e6bc", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stdout.log new file mode 100644 index 0000000..c4d96a3 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 433ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.vitest.json new file mode 100644 index 0000000..433ef24 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142849011,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.629169000000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":33.353145999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.594346000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.509314000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":10.495677999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.079604999999901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.2917600000000675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.6728729999999814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":4.808217999999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.580980000000181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":12.174025000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.33188099999983933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.5038730000001124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.0263730000001487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8845440000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.1239120000000185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.360306000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.240516999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.00894500000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":3.8386749999999665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":2.867039999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3793950000001587,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850578,"endTime":1788142850711.3794,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.291017000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.977675999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6783030000001418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":16.982672999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.320895000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.7174820000000182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.494841999999835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.31835099999989325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3757919999998194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":1.286634999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":1.5481059999999616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.6386459999998806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5839320000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.825113999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4217919999998685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.1670540000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9402640000000702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.8125129999998535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6389420000000428,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4799910000001546,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.45388200000002143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4796929999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.39766099999997095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4269320000000789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.9532339999998385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.7651630000000296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.361994999999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.25787100000002283,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5716429999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.33662200000003395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2668510000000879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4536920000000464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2676550000001043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.9661369999998897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.4388249999999516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5036109999998644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6608029999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2570550000000367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8912629999999808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2086550000001353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.23112500000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7094720000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.7637740000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9325739999999314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.037443999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.4098790000000463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.9278380000000652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0185230000001866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7992239999998674,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0616139999999632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6576129999998557,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.9234470000001238,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6607320000000527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.1283940000000712,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8767340000001695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7645820000000185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.9093839999998181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6274619999999231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.151069000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.6760549999999057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.860339999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.453572000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.784657000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9515030000000024,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850625,"endTime":1788142850710.9514,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.516448999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7778519999999389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2605710000000272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.0972549999999046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2653400000001511,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142852051,"endTime":1788142852056.2654,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.072647000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8260840000000371,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4167610000001787,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7701730000001135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.7042919999998958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2484910000000582,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.44423200000005636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3640410000000429,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.280966000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.41251199999987875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2688709999999901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":1.0505040000000463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.2522320000000491,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":4.161425999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.22640099999989616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.22675200000003315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.27574200000003657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.3026310000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.22443999999995867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.26040999999986525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.31024200000001656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.25868000000014035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1826619999999366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.26650100000006205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":1.2704850000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.24991099999988364,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850630,"endTime":1788142850648.2705,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":68.98676800000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.057356000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.863669000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":10.194459000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":8.282802000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.179775000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.0496119999997973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.557186999999885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.69887800000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":4.284517000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.850590000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9841239999998379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.3696039999999812,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0781529999999293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.118753000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.8135509999999613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.9422839999999724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":7.095917999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.030322999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.8688430000001972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9655740000000606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.7337820000000193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5928329999999278,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5652520000001005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.25743099999999686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7516729999999825,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850628,"endTime":1788142850788.7517,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.493260999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7638030000000526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.6848660000000564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8345540000000256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5799320000000989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.1907040000000961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.419631999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.4368749999998727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.8748040000000401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.4482820000000629,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5111309999999776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3483609999998407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4122420000001057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.23351999999999862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.4124810000000707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.24412200000006123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7662719999998444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5652319999999236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2868909999999687,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.7569930000001932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7775540000000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.22078899999996793,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850625,"endTime":1788142850644.2207,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.6955880000000434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3504809999999452,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":32.65420200000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":6.551103999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.961317000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":9.802637000000004,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142851857,"endTime":1788142851917.8027,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":61.57998999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":10.371918999999934,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142852092,"endTime":1788142852163.3718,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.56221000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0536939999999504,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.2253679999998894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.7755239999999048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6473520000001827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.28664200000002893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.8115240000001904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4051910000000589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.7072920000000522,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.4690130000001318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.5856420000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.6468119999999544,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142851983,"endTime":1788142851994.6467,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.53114800000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8794929999999113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3007420000001275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.3193710000000465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.3961440000000493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.3146110000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.25761099999999715,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850605,"endTime":1788142850611.2576,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":17.051343999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.7159320000000662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.25416100000006736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.28419099999996433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":2.0931879999998273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.0400140000001556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.869474000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.41724199999998746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.951043000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.33031099999993785,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142851995,"endTime":1788142852019.3303,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.4103100000002087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.5261929999999211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.44178099999999176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.36199100000021645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5287020000000666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2928910000000542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5267919999998867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.24829099999988102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.27272100000004684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3484819999998763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.313481000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.20304000000010092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.9032429999999749,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142850543,"endTime":1788142850550.9033,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.4163780000001225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":3.258671999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.35789100000010876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.42970100000002276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2863599999998314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3108720000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.358752000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5681620000000294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.5491530000001603,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142852007,"endTime":1788142852016.549,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-006/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.execution.json new file mode 100644 index 0000000..8c568ea --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3775.664, + "spawn_error": null, + "stdout_sha256": "sha256:95957c9239b23557c8491d846c98e993d2b2c1fc9920c53dd1bc4d9cfda6c79d", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stdout.log new file mode 100644 index 0000000..3a3af03 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-006/AVS-006-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 418ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.execution.json new file mode 100644 index 0000000..8bdfb6a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9932.598, + "spawn_error": null, + "stdout_sha256": "sha256:c0f03adfd9a17e54bedef79c739f3fe064f30f23ed64e062be36d558c48aac35", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stdout.log new file mode 100644 index 0000000..a1dd4d4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 445ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:react: src/react.ts → dist/react.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: created dist/react.js in 70ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 24ms +. build:vanilla: created dist/vanilla.js in 69ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 23ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 194ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 91ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 66ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 53ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 13ms +. build:shallow: created dist/esm/shallow.mjs in 12ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 73ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 21ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 66ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 59ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 14ms +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 28ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.4s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 40ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.execution.json new file mode 100644 index 0000000..269c18c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4144.765, + "spawn_error": null, + "stdout_sha256": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stdout.log new file mode 100644 index 0000000..dc1ae69 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 395ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.execution.json new file mode 100644 index 0000000..5bd128e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6521.01, + "spawn_error": null, + "stdout_sha256": "sha256:aa44a47853205b75555e1938193cd51fb33e21da3a6b028ea5fce1f463e404ad", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stdout.log new file mode 100644 index 0000000..3877422 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 470ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.execution.json new file mode 100644 index 0000000..c547b11 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "package.json", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4388.878, + "spawn_error": null, + "stdout_sha256": "sha256:b4f4eb1f240036401f037e32c300dd6ec3aac2b54f9d3e28f0f55f48b3f29677", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stdout.log new file mode 100644 index 0000000..94833ce --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 463ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.vitest.json new file mode 100644 index 0000000..882108f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142879564,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":12.203116000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":36.324523,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":7.003205999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.9915249999999105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":13.486238999999841,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":7.027047000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.5406930000001466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.3210220000000845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":6.151352999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":13.066278000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.642556999999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.29581099999995786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3485410000000684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.43741300000010597,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7259130000002187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.2214380000000347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.925517999999784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.980934000000161,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.403070000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.487941000000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.6228130000001784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.0680039999999735,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881077,"endTime":1788142881219.068,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":6.297733999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":2.5594300000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.6922150000000329,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":16.735402000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":5.588400000000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.749702999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.530811999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3650920000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":1.2778439999999591,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":2.041537000000062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5345919999999751,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":3.224411999999802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5318620000000465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":2.7258110000000215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.41186100000004444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.0124839999998585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.1782450000000608,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5513419999999769,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6142120000001796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3511620000001585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4378320000000713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5832120000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.5065219999999044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.44130300000006173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.615592000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5037519999998494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":2.1414780000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.3460609999999633,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6474329999998645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3363609999998971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.42016100000000733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5039229999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2875440000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":2.590400000000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5655659999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.49626100000000406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.8646229999999377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.4458150000000387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.7908720000000358,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":4.893358000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0563539999998284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6655729999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.0929430000001048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9437940000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.072404000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.4299200000000383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":2.4175780000000486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.1248439999999391,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8367840000000797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.1532140000001618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.726272999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.9643770000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7355430000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8857729999999719,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.9001439999999548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.8205319999999574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.9356629999999768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6150119999999788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.8718360000000303,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.337088999999878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.8941169999998237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.4175929999998971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.8384260000000268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9511740000000373,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881114,"endTime":1788142881217.9512,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.635859999999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.9772530000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2618919999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.034744000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.24339199999985794,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142882451,"endTime":1788142882456.2434,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":5.017438000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8134529999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3762019999999211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":3.5856320000000323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":1.6446750000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.23536099999978433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.6186119999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3192119999998795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":6.7201749999999265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3983820000000833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.30066099999999096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.26676100000008773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.2140119999999115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":2.157607999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.38007200000015473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.8733230000000276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2645119999999679,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.25349099999993996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1838910000001306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.251500999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2624719999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.21838099999990845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.14868100000012419,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":2.5799799999999777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.3250319999999647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.30050200000005134,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881141,"endTime":1788142881171.3005,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":49.30653200000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.139793000000054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":13.28149899999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":12.70486700000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.341276000000107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.595463000000109,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.5839629999998124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.038549000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.487006999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.09661200000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.7885989999999765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9569530000001123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.2262049999999363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0393940000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.832730999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":3.3301819999999225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.8320249999999305,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":7.268827000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.1075049999999464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7153820000000906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9661840000001121,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.5750820000000658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.8034029999998893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5368820000001051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.29461099999980433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7150629999998728,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881148,"endTime":1788142881286.715,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":12.140324999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.9277039999999488,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":5.177539000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":4.65229700000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.7397829999999885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5846530000001167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.8012220000000525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.5537929999998141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.098998000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.4120020000000295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.55720099999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4308809999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.43810099999996055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.5187820000001011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.39564099999984137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.28244199999994635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.1332739999998012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5217210000000705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3057020000001103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5984119999998256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":1.0872139999999035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.30526099999997314,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881145,"endTime":1788142881180.3052,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.8679870000000847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3481810000000678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":29.7044699999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.275525000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.15070999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":15.432767000000013,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142882392,"endTime":1788142882451.4329,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":54.13667999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":8.090640000000121,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142882498,"endTime":1788142882560.0906,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.118007000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.1331849999999122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6659259999998994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.6481320000000323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.3964809999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3612110000001394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5388809999999467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":2.729541000000154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.8312029999999595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.7173629999999775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.5164010000000872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.3029249999999593,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142882348,"endTime":1788142882361.303,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":4.161215999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7631329999999252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.23380999999994856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2464709999999286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":6.086952999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.4964509999999791,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.30457000000001244,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881097,"endTime":1788142881110.3047,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":8.245040000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5683030000000144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.24413099999992482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.20081100000015795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3091110000000299,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6749419999998736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7042719999999463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.1705899999999474,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.14477999999985514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3076619999999366,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142882467,"endTime":1788142882479.3076,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.7392859999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.39673100000004524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3544010000000526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.20618899999999485,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.2851709999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.19625200000018594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.3763209999999617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.1769409999999425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.21199999999998909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.35273099999994884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2798199999999724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.18352099999992788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.672792999999956,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142881053,"endTime":1788142881058.6729,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.1927979999998115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.876077000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4444410000000971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6970519999999851,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.311341000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.32470100000000457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3405009999999038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5450919999998405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.35540100000002894,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142882383,"endTime":1788142882390.5452,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.execution.json new file mode 100644 index 0000000..dad596e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4198.718, + "spawn_error": null, + "stdout_sha256": "sha256:9aaf100929c4a0e7289b846c3e855083cff8b6b0ee4c0b20a1ffd34b75aa2452", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stdout.log new file mode 100644 index 0000000..4b9fb80 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 426ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.vitest.json new file mode 100644 index 0000000..0e61589 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142883879,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":8.162850999999819,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.451017999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.1675830000001497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":4.950618000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":9.777435999999852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.635142999999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.139498999999887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":5.657670000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.787070999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":12.45632599999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.574137000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.28064100000005965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.5836209999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6182029999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8508130000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.245042000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.913651999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.8261540000000878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.947938000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.284848999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.4933730000000196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3295040000000427,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885415,"endTime":1788142885539.3296,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.772375000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.689675999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6960719999999583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":9.918018000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.2082960000000185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":2.972870999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.47103199999992285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3553109999998014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.9542130000002089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.6015719999998055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6258520000001226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.301635000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.55619200000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8200940000001538,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.41598099999987426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.154504999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9321439999998802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.692403000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6378319999998894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5133930000001783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.41429200000015953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5894119999998111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.46891199999981836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4709809999999379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.5892120000000887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5538429999999153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.5074049999998351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.22252099999991515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.575802000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.35213199999998324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.3166320000000269,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5407420000001366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3740250000000742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.4696559999999863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.8323230000000876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.40862300000003415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4179619999999886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0505239999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.7350429999999051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.228025000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.2351149999999507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7006129999999757,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6383930000001783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.859864000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9165230000000975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.8117610000001605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":2.631689999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0256039999999302,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7035519999999451,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8759440000001177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5036310000000412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.7353769999999713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6325320000000829,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7312819999999647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.5640630000000328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6044030000000475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8446320000000469,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6694120000001931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7775859999999284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.082736999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4792760000000271,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3545810000000529,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.701387000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0836440000000493,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885453,"endTime":1788142885527.0837,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.3905079999999543,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6149829999999383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2053400000002057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.8013039999998455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.23939999999993233,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142886770,"endTime":1788142886774.2395,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.532605999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5906929999998738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.27109100000006947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5066309999999703,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2818809999998848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.15599199999996927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.32892199999992044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.21911100000011174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.8850559999998495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3067710000000261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.22327199999995173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":1.2437139999999545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.23717099999998936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.34126999999989494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.24185099999999693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.22264999999993051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.23089099999992868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.19220100000006823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.17751000000021122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24149099999999635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.36900200000013683,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.1874800000000505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.10461099999997714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.23674000000005435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.1608409999998912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.2173009999999067,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885458,"endTime":1788142885470.2368,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":43.912172000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":8.607991000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":14.614753000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":10.104307000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.4251379999998335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.874813000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.152691999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.401446999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.475869999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.9444009999999707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.12456700000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7254040000000259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8295819999998457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9164639999999054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.2842380000001867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.0738269999999375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.357243000000153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":7.198996000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.202305000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5978509999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.6983229999998457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.3496509999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":3.038430999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.48858100000006743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.27020100000004277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7218130000001111,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885449,"endTime":1788142885581.722,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.720276999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.4472540000001572,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.348703999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8717639999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.1662350000001425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5299209999998311,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.39061100000003535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.0753740000000107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.406641000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3535309999999754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.42350200000009863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.38988100000005943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.41249100000004546,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.248691000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.5605230000001029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2355009999998856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9717640000001211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4240420000000995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2978209999998853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":1.0108940000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8954340000000229,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.23583099999996193,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885447,"endTime":1788142885465.2358,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.9025070000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3384810000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":34.761347000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.752891999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":10.570050000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":8.215869999999995,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885430,"endTime":1788142885492.2158,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":53.91647899999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":8.026069000000007,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142885407,"endTime":1788142885469.0261,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.881657000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8513640000001033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.3690560000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3706919999999627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.32242199999996046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.1890410000000884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3235509999999522,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.26516099999980725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2303509999999278,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.38615199999981087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.476861000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.3131510000000617,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142886734,"endTime":1788142886741.3132,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.9512970000000678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8353930000000673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3192910000000211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.25832100000002356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.049483999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2727509999999711,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.1921310000000176,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142886732,"endTime":1788142886737.2727,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.326637000000119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6322919999997794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.39663100000007034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.3194509999998445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.902112999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.0311340000000655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7661820000000716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.22600099999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.41380099999992126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3233909999999014,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142886602,"endTime":1788142886617.3235,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.289598000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4396009999998114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.470690999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.31183099999998376,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":1.1189139999999043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2064309999998386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5688210000000709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.19883100000015475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.587432999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.312221000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.39887100000009923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.17474100000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7069420000000264,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142886725,"endTime":1788142886733.707,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":10.289096999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.3533780000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4319510000000264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5583619999999883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.39919099999997343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3739419999999427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.528581000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.7998939999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.5970919999999751,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142886695,"endTime":1788142886711.5972,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-007/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.execution.json new file mode 100644 index 0000000..c629075 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3860.754, + "spawn_error": null, + "stdout_sha256": "sha256:2fb4b0fc9ac1841c8278c50c25affb0f1c45340cd314668572c70128dfb38ccc", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stdout.log new file mode 100644 index 0000000..44e840d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-007/AVS-007-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 416ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.execution.json new file mode 100644 index 0000000..067c3e0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10922.965, + "spawn_error": null, + "stdout_sha256": "sha256:34a11b240f52f7bb73b32c6de40c4aa30a823661ad1bdf9985163e349dadbf35", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stdout.log new file mode 100644 index 0000000..0128f39 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 469ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:base: src/index.ts → dist... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: created dist/vanilla.js in 109ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 25ms +. build:react: created dist/react.js in 97ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 22ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 241ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 71ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 80ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 23ms +. build:shallow: created dist/shallow.js in 62ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/esm/shallow.mjs in 18ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: created dist/vanilla/shallow.js in 69ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 14ms +. build:vanilla:shallow: Done +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:traditional: created dist/traditional.js in 53ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: created dist/esm/traditional.mjs in 23ms +. build:traditional: Done +. build:react:shallow: created dist/react/shallow.js in 55ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 18ms +. build:react:shallow: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.6s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 32ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 13ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.execution.json new file mode 100644 index 0000000..803d5b4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5011.815, + "spawn_error": null, + "stdout_sha256": "sha256:d55c076a69513cbba7f9f5abfc197e4a9454b06bd3964b184f914c26dca4b54e", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stdout.log new file mode 100644 index 0000000..9c3bf6a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 509ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.execution.json new file mode 100644 index 0000000..a1394c7 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6728.554, + "spawn_error": null, + "stdout_sha256": "sha256:405e69c2cff79415fa285447479fdbadca48ec99bf12238e3c559ffeec834404", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stdout.log new file mode 100644 index 0000000..f085009 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 436ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.execution.json new file mode 100644 index 0000000..970d4da --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/vanilla.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4581.72, + "spawn_error": null, + "stdout_sha256": "sha256:0159729bca512a5210b70400b84e35c9ac66c466fe8e2d348fc9546cf13f1c94", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stdout.log new file mode 100644 index 0000000..b56208a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 428ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.vitest.json new file mode 100644 index 0000000..7cb5a47 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":61,"numPassedTestSuites":61,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":211,"numPassedTests":211,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142914631,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":9.577575000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":33.08348000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":6.96527500000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.05313000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.439791999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.03163399999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.145125000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":2.7636099999999715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":8.080229000000145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":19.542040999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":7.673448000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.30617099999994934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3029109999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.4619709999999486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.4171550000000934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.8495210000000952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.478219000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":7.432267000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":11.06557900000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":8.395500999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":6.651554999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.5202150000000074,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916406,"endTime":1788142916567.5203,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.3289519999998447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.6206250000000182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.0136250000000473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":7.529608000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":7.771267999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.5622419999999693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.3710910000002059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2295010000000275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.22046099999988655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3234309999998004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.4710610000001907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":9.276693000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.691381999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.4369909999998072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.34225199999991673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":3.3337629999998626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9370329999999285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6839319999999134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.60732199999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.49005299999998897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.5408219999999346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4623509999998987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.41929099999993014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5495630000000347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4550209999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3816110000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.304194999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.2248909999998432,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5346019999999498,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3332719999998517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2921209999999519,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.6512119999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3999449999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":2.0984470000000783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1109630000000834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4775529999999435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.7472219999999652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.4186259999999038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":1.5544949999998607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.9640569999999116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.5459559999999328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7597329999998692,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.631563000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.0285440000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.5833849999999074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.165307999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.9024070000000393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9788739999999052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7346430000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9872539999998935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6243719999999939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.8633660000000418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6561919999999191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0403440000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.7937529999999242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.678143000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8427429999999276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6030220000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.8048559999999725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.3587680000000546,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.6416560000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3451909999998861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.733596999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.1322640000000774,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916433,"endTime":1788142916521.1323,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.771308999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.833362999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.24793100000010782,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9759730000000673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.25151100000016413,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142917726,"endTime":1788142917731.2515,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.9524180000000797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5633629999999812,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3410309999999299,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5677420000001803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.39140100000008715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.22683099999994738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.36370099999999184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.266830999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.2128950000001169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.2743399999999383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.16425200000003315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":4.641436999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.34274100000016006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.28507199999990007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1594310000000405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.13631999999984146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2660110000001623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":1.3701549999998406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.21642100000008213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2114200000000892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.19792000000006738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.25722200000018347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1608409999998912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.9998740000000907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.18846000000007734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.34993099999996957,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916458,"endTime":1788142916475.3499,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":49.835871,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.23765800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":11.859283000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.221160999999938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":6.357964000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.124080999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.769459000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.580547000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.385519999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.9486429999999473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.6881889999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7898129999998673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.5019360000001143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.8369920000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.0660210000000916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":3.570564000000104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.1391519999999673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.382000000000062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.784172000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5296919999998408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.5330449999999018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.32545099999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5111719999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4237319999999727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.21051099999999678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.48521099999993567,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916457,"endTime":1788142916584.485,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.653421000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7959529999998267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":2.0656679999999596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8971129999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5968310000000656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.4754330000000664,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.350065000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.131704000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.8422940000000381,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.4725419999999758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.7778829999999743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.29697200000009616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.3164710000000923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.42707099999984166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.44276300000001356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2500400000001264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.6686220000001413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5190809999999146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2748999999998887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5084120000001349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.6303310000000693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.18081099999994876,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916447,"endTime":1788142916467.181,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.5917259999998805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.35811199999989185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":35.743459999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":6.027532000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.67839499999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":8.491481000000022,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916407,"endTime":1788142916468.4915,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":44.254350999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.661217999999963,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142917739,"endTime":1788142917790.6611,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.698506999999836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.272479000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.3519380000000183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5552819999998064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.8812129999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.34266200000001845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4277309999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6205820000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.7418029999998907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.6247710000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.4369420000000446,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.5555110000000241,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142917690,"endTime":1788142917701.5554,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.8735070000000178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7210319999999228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.294311000000107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.43861100000003717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0421239999998306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2736720000000332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.17458099999998922,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142916425,"endTime":1788142916430.1746,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":22.203491000000213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6912319999998999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.26026999999999134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2024420000000191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.21899000000007618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7486730000000534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7614619999999377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.3255420000000413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.3356309999999212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.40628099999980805,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142917664,"endTime":1788142917690.4062,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.4711099999999533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6781960000000709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.47844099999997525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.568082000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.34750099999996564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.40478200000006836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4529009999998834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.8428730000000542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.47584199999982957,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142917716,"endTime":1788142917723.4758,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.execution.json new file mode 100644 index 0000000..96b6321 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5586.322, + "spawn_error": null, + "stdout_sha256": "sha256:38994cb8e1388b088c8e511afcc8125f2dac41bb2fa7a5b63a3d97d0e00d6eda", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stdout.log new file mode 100644 index 0000000..5e550e0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 428ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.vitest.json new file mode 100644 index 0000000..32ba2bc --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142919121,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":38.15071799999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":103.2340220000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":24.380638999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":24.83723000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.47658199999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":5.796610999999757,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.308109000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.864908000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":8.254578999999922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":13.86275999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.5646410000003925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.37770099999988815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3694709999999759,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.800134000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.0671839999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":4.3265550000000985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":8.405909999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.574167000000216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.50610000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":7.391336000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.4976120000001174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.7439369999997325,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142921087,"endTime":1788142921371.744,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.189684999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3447449999998753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6322519999998804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":27.121479000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.549005999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":4.480835999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5690019999999549,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3102209999999559,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.36442200000010416,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.37863100000004124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5509620000000268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":5.773322000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6349920000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.9653630000000248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.39443199999982426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":4.374285999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":2.979921000000104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":1.0232630000000427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.7179429999998774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5155419999998685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4735110000001441,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6491519999999582,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.41220099999986815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4356629999999768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.6012120000000323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5373019999999542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.4092940000000453,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.22142200000007506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6292120000000523,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.29022200000008525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.31480099999998856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5416520000001128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2133029999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.546045999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":2.7458090000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.619762000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5998419999998532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2726849999999104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":3.5713530000000446,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0452229999998508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0297230000001036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":3.985054999999875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6574829999999565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.9001969999999346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":3.6159630000001926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":5.86268999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":11.622002000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":3.693832999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":1.1139650000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":5.834379999999783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.9961880000000747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.4237299999999777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.8530759999998736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.027958000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":6.135882000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.9236740000001191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":4.773916999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":1.8646359999997912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":6.91010499999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":6.140751999999793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":6.131112999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.5442619999998897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":14.170350999999755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.697617000000264,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142921106,"endTime":1788142921287.6975,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.6364799999998922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6392220000000179,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.40039200000001074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.012324000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.27179099999989376,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142923368,"endTime":1788142923372.2717,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.581666000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.6793520000001081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3050109999999222,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5824729999999363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.24209000000018932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.22139100000003964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4016820000001644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.29183100000000195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.1429140000000189,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3087310000000798,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.1843010000002323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.18166100000007646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.17124100000000908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.1941900000001624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.12749099999973623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1860700000001998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.7675939999999173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.3804009999998925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1938509999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2254600000001119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.23133099999995466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.2251509999996415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.13319999999976062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.296252000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.19174100000009275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.20539099999996324,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142923232,"endTime":1788142923242.2961,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":92.34926300000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":20.521703999999772,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":19.42704999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":12.280754999999772,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":10.652798000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.308906000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.8326139999999214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":6.07821100000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.8938319999997475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.6364629999998215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":3.4424630000003162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9901640000002772,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.1668339999996533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.06646499999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.7748419999998077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":3.0946210000001884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":9.410262999999759,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":44.6131919999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.989364999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5854110000000219,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.6255719999999201,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.33914199999981065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.38635199999998804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":8.614360999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.35256100000015067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.8359040000000277,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142921108,"endTime":1788142921368.836,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.304688000000169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.9327830000001995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.605634999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.627465999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6359019999999873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5594030000002022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.8102460000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.7580629999997655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.49850100000003295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.1146049999997558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.48285100000020975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.449891999999636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.48190100000010716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.28949099999999817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.41196099999979197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.27666199999976016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9541630000003352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4724710000000414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.5828520000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5546519999998054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.6986830000000737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.33059099999991304,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142923200,"endTime":1788142923221.3306,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.724386000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.35466200000018944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":45.001571999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":19.064049000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":12.49419499999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":10.654968000000054,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142921066,"endTime":1788142921155.655,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":84.85389699999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":10.670867999999928,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142921009,"endTime":1788142921104.671,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.6856269999998403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.9046730000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.901760000000195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.48962200000005396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5352229999998599,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.24513000000024476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.365842000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3629710000000159,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.9220829999999296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.3947419999999511,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.28449000000000524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.5610110000002351,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142923209,"endTime":1788142923218.561,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.1513669999999365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8098219999999401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2762910000001284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.326560999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9747640000000501,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.4448019999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.23045999999999367,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142923219,"endTime":1788142923224.4448,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":12.427445000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.7054130000001351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3362010000000737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.5947429999998803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.44754199999988487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.7494960000001356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.3732649999999467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.3339809999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.38614099999995233,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.39212300000008327,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142920923,"endTime":1788142920942.392,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.147578000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.45342200000004595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3966710000001967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.766503000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.619021999999859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.27310099999999693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.6305029999998624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.17016999999987092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2021709999999075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.36623099999997066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.255931000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.19796100000007755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7447429999999713,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142920987,"endTime":1788142920994.7446,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":3.1802110000000994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.0575269999999364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":1.6074670000000424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6214330000000245,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3221609999998236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5369329999998627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.37354199999981574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":1.2200639999998657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.43257199999993645,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142923217,"endTime":1788142923227.4326,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-008/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.execution.json new file mode 100644 index 0000000..5596629 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 2, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4499.092, + "spawn_error": null, + "stdout_sha256": "sha256:6e1d6b535760a801e46443902ef8bf8dce5e22fd9e41029a2c9b0f3df1e60a63", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stdout.log new file mode 100644 index 0000000..7a14cb0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-008/AVS-008-typecheck.stdout.log @@ -0,0 +1,337 @@ +Already up to date +Done in 449ms using pnpm v11.3.0 +src/middleware/persist.ts(222,38): error TS2345: Argument of type '{ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined): Promise<...>; catch(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... 1 more ... |...' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to '{ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined): Promise<...>; catch(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... 1 more ... |...'. +src/middleware/persist.ts(264,43): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(267,36): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(304,11): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(317,35): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(324,9): error TS2322: Type 'Promise' is not assignable to type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(339,7): error TS2375: Type '{ name: string; storage: PersistStorage | undefined; partialize: ((state: T) => T) | ((state: Promise) => T); onRehydrateStorage?: ((state: T) => void | ((state?: T | undefined, error?: unknown) => void)) | ((state: Promise<...>) => void | ((state?: Promise<...> | undefined, error?: unknown) => void))...' is not assignable to type '{ name: string; storage: PersistStorage | undefined; partialize: (state: T) => T; onRehydrateStorage?: (state: T) => void | ((state?: T | undefined, error?: unknown) => void); version: number; migrate?: (persistedState: unknown, version: number) => T | Promise<...>; merge: (persistedState: unknown, curre...' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties. + Types of property 'partialize' are incompatible. + Type '((state: T) => T) | ((state: Promise) => T)' is not assignable to type '(state: T) => T'. + Type '(state: Promise) => T' is not assignable to type '(state: T) => T'. + Types of parameters 'state' and 'state' are incompatible. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(352,23): error TS2375: Type '{ name: string; storage: PersistStorage | undefined; partialize: (state: T) => T; onRehydrateStorage?: (state: T) => void | ((state?: T | undefined, error?: unknown) => void); version: number; migrate?: (persistedState: unknown, version: number) => T | Promise<...>; merge: (persistedState: unknown, curre...' is not assignable to type 'Partial, T, unknown>>' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties. + Types of property 'partialize' are incompatible. + Type '(state: T) => T' is not assignable to type '(state: Promise) => T'. + Types of parameters 'state' and 'state' are incompatible. + Type 'Promise' is not assignable to type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(356,30): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(359,35): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(363,36): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(366,41): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/react.ts(32,38): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'TState'. + 'TState' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/traditional.ts(38,5): error TS2345: Argument of type '() => Promise' is not assignable to parameter of type '() => TState'. + Type 'Promise' is not assignable to type 'TState'. + 'TState' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/vanilla.ts(83,56): error TS2322: Type 'T' is not assignable to type 'Promise'. +tests/basic.test.tsx(57,13): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(57,20): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(78,42): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(79,40): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(104,16): error TS2339: Property 'item' does not exist on type 'Promise<{ item: { value: number; }; }>'. +tests/basic.test.tsx(140,50): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(146,48): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(173,13): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(173,20): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(201,32): error TS2345: Argument of type '(state: State) => string' is not assignable to parameter of type '(state: Promise) => string'. + Types of parameters 'state' and 'state' are incompatible. + Type 'Promise' is missing the following properties from type 'State': one, two +tests/basic.test.tsx(231,37): error TS2345: Argument of type '(s: State) => State' is not assignable to parameter of type '(state: Promise) => State'. + Types of parameters 's' and 'state' are incompatible. + Property 'value' is missing in type 'Promise' but required in type 'State'. +tests/basic.test.tsx(350,19): error TS2345: Argument of type '(s: State) => any' is not assignable to parameter of type '(state: Promise) => any'. + Types of parameters 's' and 'state' are incompatible. + Property 'value' is missing in type 'Promise' but required in type 'State'. +tests/basic.test.tsx(400,19): error TS2345: Argument of type '(s: State) => State' is not assignable to parameter of type '(state: Promise) => State'. + Types of parameters 's' and 'state' are incompatible. + Property 'value' is missing in type 'Promise' but required in type 'State'. +tests/basic.test.tsx(428,22): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/basic.test.tsx(429,29): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/basic.test.tsx(432,21): error TS2339: Property 'getState1' does not exist on type 'Promise'. +tests/basic.test.tsx(433,21): error TS2339: Property 'getState2' does not exist on type 'Promise'. +tests/basic.test.tsx(449,14): error TS2339: Property 'setState1' does not exist on type 'Promise'. +tests/basic.test.tsx(450,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(451,14): error TS2339: Property 'setState2' does not exist on type 'Promise'. +tests/basic.test.tsx(452,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(453,14): error TS2339: Property 'setState1' does not exist on type 'Promise'. +tests/basic.test.tsx(453,25): error TS7006: Parameter 's' implicitly has an 'any' type. +tests/basic.test.tsx(454,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(455,14): error TS2339: Property 'setState2' does not exist on type 'Promise'. +tests/basic.test.tsx(455,25): error TS7006: Parameter 's' implicitly has an 'any' type. +tests/basic.test.tsx(456,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(494,19): error TS2345: Argument of type '(s: State) => number' is not assignable to parameter of type '(state: Promise) => number'. + Types of parameters 's' and 'state' are incompatible. + Type 'Promise' is missing the following properties from type 'State': a, b +tests/basic.test.tsx(533,56): error TS2339: Property 'b' does not exist on type 'Promise'. +tests/basic.test.tsx(534,19): error TS2345: Argument of type '(s: State) => number' is not assignable to parameter of type '(state: Promise) => number'. + Types of parameters 's' and 'state' are incompatible. + Type 'Promise' is missing the following properties from type 'State': a, b +tests/basic.test.tsx(586,41): error TS2339: Property 'childItems' does not exist on type 'Promise'. +tests/basic.test.tsx(591,48): error TS2339: Property 'childItems' does not exist on type 'Promise'. +tests/basic.test.tsx(623,38): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/basic.test.tsx(664,38): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/basic.test.tsx(669,38): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/devtools.test.tsx(218,20): error TS2339: Property 'setCount' does not exist on type 'Promise<{ count: number; setCount: (count: number) => void; }>'. +tests/devtools.test.tsx(306,24): error TS2339: Property 'setCount' does not exist on type 'Promise<{ count: number; setCount: (count: number) => void; }>'. +tests/devtools.test.tsx(360,22): error TS2339: Property 'setCount' does not exist on type 'Promise<{ count: number; setCount: (count: number) => void; }>'. +tests/immer.test.tsx(19,30): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/immer.test.tsx(20,37): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/immer.test.tsx(56,51): error TS2339: Property 'user' does not exist on type 'Promise'. +tests/immer.test.tsx(57,30): error TS2339: Property 'addTag' does not exist on type 'Promise'. +tests/immer.test.tsx(59,37): error TS2339: Property 'user' does not exist on type 'Promise'. +tests/immer.test.tsx(60,37): error TS2339: Property 'user' does not exist on type 'Promise'. +tests/immer.test.tsx(72,29): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(44,37): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(47,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(48,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(49,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(50,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(51,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(52,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(66,33): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(71,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(72,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(73,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(74,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(75,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(76,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(95,35): error TS2339: Property 'count' does not exist on type 'Promise & { additional: number; }>'. +tests/middlewareTypes.test.tsx(100,63): error TS2344: Type '{ additional: number; }' does not satisfy the constraint '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }'. + Type '{ additional: number; }' is missing the following properties from type '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }': [toStringTag], then, catch, finally +tests/middlewareTypes.test.tsx(109,63): error TS2344: Type '{ additional: number; }' does not satisfy the constraint '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }'. + Type '{ additional: number; }' is missing the following properties from type '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }': [toStringTag], then, catch, finally +tests/middlewareTypes.test.tsx(133,43): error TS2339: Property 'count' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(135,32): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(137,36): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(158,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(164,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(165,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(166,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(167,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(168,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(169,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(211,30): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(227,39): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(231,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(232,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(233,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(234,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(235,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(236,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(238,26): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(254,39): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(258,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(259,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(260,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(261,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(262,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(263,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(279,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(285,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(286,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(287,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(288,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(289,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(290,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(307,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(313,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(314,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(315,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(316,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(317,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(318,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(334,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(340,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(341,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(342,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(343,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(344,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(345,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(362,39): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(373,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(374,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(375,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(376,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(377,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(378,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(405,43): error TS2339: Property 'count' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(407,32): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(409,36): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(427,41): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(433,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(434,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(435,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(436,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(437,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(438,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(451,41): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(456,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(457,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(458,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(459,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(460,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(461,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(463,26): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(476,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(482,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(483,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(484,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(485,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(486,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(487,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(490,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(508,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(516,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(517,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(518,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(519,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(520,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(521,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(541,37): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(550,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(551,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(552,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(553,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(554,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(555,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(570,43): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(577,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(578,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(579,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(580,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(581,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(582,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(585,28): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(604,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(613,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(614,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(615,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(616,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(617,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(618,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(621,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(645,39): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(655,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(656,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(657,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(658,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(659,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(660,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(663,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(690,43): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(691,36): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(692,45): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(694,26): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(716,43): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(717,36): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(718,45): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(720,26): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(748,32): error TS2339: Property 'authenticated' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(751,32): error TS2339: Property 'authenticate' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(753,36): error TS2339: Property 'authenticated' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(755,25): error TS2339: Property 'authenticate' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(758,34): error TS2339: Property 'authenticated' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(761,34): error TS2339: Property 'authenticate' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(782,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(789,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(790,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(791,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(792,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(793,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(794,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(797,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(851,43): error TS2339: Property 'bears' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(852,43): error TS2339: Property 'fishes' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(853,43): error TS2339: Property 'addBear' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(854,43): error TS2339: Property 'eatFish' does not exist on type 'Promise'. +tests/persistAsync.test.tsx(84,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; name: string; }>'. +tests/persistAsync.test.tsx(84,22): error TS2339: Property 'name' does not exist on type 'Promise<{ count: number; name: string; }>'. +tests/persistAsync.test.tsx(130,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(167,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(198,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(247,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(304,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; name: string; setName: (name: string) => void; }>'. +tests/persistAsync.test.tsx(304,22): error TS2339: Property 'setName' does not exist on type 'Promise<{ count: number; name: string; setName: (name: string) => void; }>'. +tests/persistAsync.test.tsx(304,31): error TS2339: Property 'name' does not exist on type 'Promise<{ count: number; name: string; setName: (name: string) => void; }>'. +tests/persistAsync.test.tsx(359,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(404,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(456,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(500,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; unstorableMethod: () => void; }>'. +tests/persistAsync.test.tsx(553,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; actions: { unstorableMethod: () => void; }; }>'. +tests/persistAsync.test.tsx(595,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(745,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; inc: () => void; }>'. +tests/persistAsync.test.tsx(757,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; inc: () => void; }>'. +tests/persistAsync.test.tsx(791,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; bumped: boolean; }>'. +tests/persistAsync.test.tsx(791,22): error TS2339: Property 'bumped' does not exist on type 'Promise<{ count: number; bumped: boolean; }>'. +tests/persistAsync.test.tsx(843,15): error TS2339: Property 'map' does not exist on type 'Promise<{ map: Map; }>'. +tests/persistAsync.test.tsx(881,15): error TS2339: Property 'map' does not exist on type 'Promise<{ map: Map; }>'. +tests/persistAsync.test.tsx(917,15): error TS2339: Property 'map' does not exist on type 'Promise<{ map: Map; }>'. +tests/persistAsync.test.tsx(974,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1064,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1106,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1134,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1168,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1171,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1192,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1227,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1234,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistSync.test.tsx(656,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; inc: () => void; }>'. +tests/shallow.test.tsx(14,55): error TS2339: Property 'villages' does not exist on type 'Promise<{ villages: { name: string; }[]; }>'. +tests/shallow.test.tsx(26,26): error TS2339: Property 'refetchTimestamp' does not exist on type 'Promise<{ refetchTimestamp: string; }>'. +tests/shallow.test.tsx(133,33): error TS2345: Argument of type '(state: Record) => string[]' is not assignable to parameter of type '(state: Promise>) => string[]'. + Types of parameters 'state' and 'state' are incompatible. + Type 'Promise>' is not assignable to type 'Record'. + Index signature for type 'string' is missing in type 'Promise>'. +tests/ssr.test.tsx(22,33): error TS2339: Property 'bears' does not exist on type 'Promise'. +tests/ssr.test.tsx(24,8): error TS2339: Property 'increasePopulation' does not exist on type 'Promise'. +tests/ssr.test.tsx(76,47): error TS2339: Property 'bears' does not exist on type 'Promise<{ bears: number; }>'. +tests/subscribe.test.tsx(27,28): error TS2345: Argument of type '{ then(onfulfilled?: ((value: { value: number; other: string; }) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined): Promise<...>; catch(onr...' is not assignable to parameter of type '{ value: number; other: string; } | Partial<{ value: number; other: string; }> | ((state: { value: number; other: string; }) => { value: number; other: string; } | Partial<{ value: number; other: string; }>)'. +tests/subscribe.test.tsx(36,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(46,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(67,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(78,52): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(93,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; }>'. +tests/types.test.tsx(43,25): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(47,50): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(61,25): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(62,30): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(211,26): error TS2339: Property 'count' does not exist on type 'Promise | Promise>'. + Property 'count' does not exist on type 'Promise'. +tests/types.test.tsx(228,26): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/types.test.tsx(247,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(51,20): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(53,27): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(65,22): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/vanilla/basic.test.ts(66,29): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/vanilla/basic.test.ts(69,27): error TS2339: Property 'getState1' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(70,27): error TS2339: Property 'getState2' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(93,20): error TS2339: Property 'setState1' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(94,27): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(95,20): error TS2339: Property 'setState2' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(96,27): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/vanilla/subscribe.test.tsx(22,14): error TS2345: Argument of type '{ then(onfulfilled?: ((value: { value: number; other: string; }) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined): Promise<...>; catch(onr...' is not assignable to parameter of type '{ value: number; other: string; } | Partial<{ value: number; other: string; }> | ((state: { value: number; other: string; }) => { value: number; other: string; } | Partial<{ value: number; other: string; }>)'. +tests/vanilla/subscribe.test.tsx(33,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(45,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(70,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(83,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(104,32): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(106,37): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(110,13): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(111,21): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(113,39): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(129,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; }>'. +[ELIFECYCLE] Command failed with exit code 2. diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.execution.json new file mode 100644 index 0000000..4b4a0f8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10253.855, + "spawn_error": null, + "stdout_sha256": "sha256:171884481cb02e4a9d6a28edd2afc5f040e44fd320c287d2b9f346c79cc0c183", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stdout.log new file mode 100644 index 0000000..fe900e2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 418ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: created dist/vanilla.js in 62ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 19ms +. build:react: created dist/react.js in 65ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 12ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 150ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 63ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 73ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 14ms +. build:shallow: created dist/shallow.js in 49ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/esm/shallow.mjs in 20ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 77ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 21ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 68ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 16ms +. build:traditional: created dist/traditional.js in 66ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 25ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.4s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 53ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 19ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.execution.json new file mode 100644 index 0000000..c15e979 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4293.576, + "spawn_error": null, + "stdout_sha256": "sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stdout.log new file mode 100644 index 0000000..ba8fd7f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 433ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.execution.json new file mode 100644 index 0000000..6f69f01 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6205.765, + "spawn_error": null, + "stdout_sha256": "sha256:ea732f223f4696530dc6e4d69a1c7699ad0faabae2a6951ddbc47e39acd5b2d1", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stdout.log new file mode 100644 index 0000000..9654bbc --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 429ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.execution.json new file mode 100644 index 0000000..998a097 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.execution.json @@ -0,0 +1,21 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/subscribeWithSelector.ts", + "src/vanilla/shallow.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4073.451, + "spawn_error": null, + "stdout_sha256": "sha256:7c331dde9e69e75d32d3f26a9544daa46ff1016eebb63829800a6137e45bf22a", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stdout.log new file mode 100644 index 0000000..58824bf --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 451ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.vitest.json new file mode 100644 index 0000000..c236a47 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":60,"numPassedTestSuites":56,"numFailedTestSuites":4,"numPendingTestSuites":0,"numTotalTests":185,"numPassedTests":174,"numFailedTests":11,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142953594,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":6.125721000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.2600040000002082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.7101020000000062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":17.209481000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.3653050000000349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.7153619999999137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4346029999999246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2911910000000262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.30257000000005974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.41916300000002593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5094320000000607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":0.974393000000191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5231830000000173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.4081509999998616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3809510000000955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8465330000001359,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":3.1653909999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5574629999998706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6420020000000477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4629609999999502,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.7020219999999426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6099229999999807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.29058199999985845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3151709999999639,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.38110100000017155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3692510000000766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.5008339999999407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.21549099999992904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6630720000000565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.28238099999998667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.3135810000001129,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.44313099999999395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.1307530000001407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.5815259999999398,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.089964000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.45358299999998053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4855910000001131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.205114999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.5024120000000494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.8975439999999253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.82817399999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.526301999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.43827299999998104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.5649009999999635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.754312999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.5400240000001304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.4405659999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.1379340000000866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.818033000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0311149999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7791529999999511,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9635430000000724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7414329999999154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8458029999999326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.74135299999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7744019999997818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8656730000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6406919999999445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.8297459999998864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.6545149999999467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4641549999998915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.42966999999998734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.5780419999998685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0420329999999467,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955310,"endTime":1788142955385.042,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.556536000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.6285530000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3168920000000526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.588121000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.3094410000001062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.1854110000001583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.30540099999984704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.2659519999999702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.4379139999998642,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.31286100000011174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.21191099999987273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.22227999999995518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.21404099999995196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.19135199999982433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1343899999999394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.18517099999985476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.22141000000010536,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.20018100000015693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.15907999999990352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.18628000000012435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.3345910000000458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.2069010000000162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.13911099999995713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.21404099999995196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.18815100000006169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.2123109999999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955314,"endTime":1788142955324.2124,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":39.93523200000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":3.966413999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":10.124205999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":4.135833999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":4.954968000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.7754529999999704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.404397999999901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.6350640000000567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.3613319999999476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.2600790000001325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.7179859999998826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.5300210000000334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.6190429999999196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5753119999999399,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.4928279999999177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.7581269999998312,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.190886999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.3360660000000735,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.3159650000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5953419999998459,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7312029999998231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.28198199999997087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.593932999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5576330000001235,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.24101900000005116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.9814340000000357,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955298,"endTime":1788142955396.9814,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.394968999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.3147840000001452,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.392135000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8710539999999583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.2485939999999118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.7040130000000318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.9635839999998552,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.3716349999999693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.2585450000001401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.0658140000000458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.8360519999998814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.6357930000001488,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":1.4044850000000224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.35057099999994534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.38455099999987397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.26870199999984834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7788330000000769,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.547211999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2517009999999118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":1.8936160000000655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":1.0729639999999563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.22383100000001832,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955306,"endTime":1788142955330.2239,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.5306550000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.31286199999999553,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":33.137567999999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.167998000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.836051999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":5.231367999999975,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955274,"endTime":1788142955328.2314,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.497795999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.9946740000000318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.4326149999999416,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":3.89176400000008,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:38:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":0.7069419999999127,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:48:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":0.8982120000000577,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:59:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":0.5929119999999557,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:69:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.541821999999911,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:84:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3674709999999095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.48465199999998276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.30664200000001074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.41176100000006954,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142956212,"endTime":1788142956223.4846,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.9077769999998964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7852530000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2799810000001344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.23451100000011138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.427784999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2740209999999479,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.22000000000002728,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955285,"endTime":1788142955290.274,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.096667000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4584620000000541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.39209100000016406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.3518410000001495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5086109999999735,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.3036019999999553,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5208820000000287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.20795099999986633,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.24738200000001598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3161920000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.27020100000004277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.18313000000011925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7172530000000279,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142955253,"endTime":1788142955259.7173,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.0356279999999742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.342924000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":3.8450840000000426,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:35:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":0.774501999999984,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:47:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":0.7469529999999622,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:60:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":0.4810530000000881,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:72:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.48282099999994443,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:89:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"failed","title":"should keep consistent behavior with equality check","duration":1.8779769999999871,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 2 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:120:18\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.742422999999917,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142956255,"endTime":1788142956267.7424,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.execution.json new file mode 100644 index 0000000..8dc49e5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4229.379, + "spawn_error": null, + "stdout_sha256": "sha256:eea5077174a9ef0944cc60827822138b843894dafffee4e7840daf525ce55476", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stdout.log new file mode 100644 index 0000000..0a7c71a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 410ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.vitest.json new file mode 100644 index 0000000..44eb0f6 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":62,"numFailedTestSuites":4,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":213,"numFailedTests":11,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142957608,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.606796999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.96943699999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.477675999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.212938000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":7.783167000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.4670430000001033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.1059150000000955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.0356910000000425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":4.032083000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.992199000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":6.653743999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3022610000000441,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.33747199999993427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.4520119999999679,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.6599860000001172,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.016021000000137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.176341999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":5.521218999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.956382000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":6.280202000000145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.460076000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":3.2030119999999442,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959136,"endTime":1788142959264.2031,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":6.509232000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3767950000001292,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6558820000000196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":11.784340999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.7935359999999037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.7855039999999462,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4562110000001667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.376741999999922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.7668630000000576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.5021220000000994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6691220000000158,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":0.8619240000000445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.46664099999998143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.3774909999999636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3571710000001076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9188940000001367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.662563000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5156520000000455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.4626619999999093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.399550999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3947210000001178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3795909999998912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.36939200000006167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.47691200000008394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4358310000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.7907430000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3218930000000455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.20784100000014405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.4801220000001649,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3001019999999244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2735010000001239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.430712000000085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2120840000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.7960870000001705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.4409359999999651,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.46123199999988174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5209210000000439,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":3.465631999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.5311930000000302,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":2.714541000000054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.1966749999999138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":1.290653999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.4811610000001565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.48855200000002696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.6144120000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.673819999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":3.456824000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":2.184297000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":3.775154000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8547829999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6508730000000469,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":5.04692799999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.3903649999999743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9982239999999365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":1.2155339999999342,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":1.3900759999999082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.0775830000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5355919999999514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.3189480000000913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":3.4069520000000466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.013828000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3839510000000246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.568805999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.2273230000000694,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959168,"endTime":1788142959259.2273,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.5704840000000786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":1.1381039999998848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.32924100000013823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9577229999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.25127100000008795,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142960466,"endTime":1788142960473.2512,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.553339000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":1.2147130000000743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3853119999998853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6365619999999126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":1.029394999999795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.42832099999986895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":1.0269929999999476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.4123909999998432,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":2.02188799999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":1.1091350000001512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.23695999999995365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":1.10655399999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.20811000000003332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.1846499999999196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1176700000000892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":1.2431649999998626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2307419999999638,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.1887099999999009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1519900000000689,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.20297099999993407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.1892009999999118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.20187099999998281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.15363999999999578,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.26373100000000704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.20696099999986473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.21018200000003162,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959174,"endTime":1788142959191.2102,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":48.606322999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.929360000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":9.769453000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":11.288390000000163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":6.1687030000000505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":8.532630000000154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.717388999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":7.696966999999859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.820296999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.9663929999999255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.6133689999999206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.0921229999999014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9984730000001036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0781849999998485,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.4678519999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.4357789999999113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.212891000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.78803999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.857042999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6456919999998263,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.463275000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.36494100000004437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.7222140000001218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5107109999999011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.25503100000014456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6669219999998859,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959170,"endTime":1788142959306.667,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":6.929875000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.0679039999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.4041959999999563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.6895150000000285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.674893000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.47580199999993056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.7349429999999302,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.2056340000001455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.7698620000001029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3557710000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.40755300000000716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3708520000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4567509999999402,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2549910000000182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.2548910000000433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.23565199999984543,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.808612999999923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4436719999998786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3476510000000417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5607410000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7739540000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.26585000000000036,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959168,"endTime":1788142959189.2659,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.4467150000000402,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.2785309999999299,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":27.578868000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.99010700000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.788705000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":6.484823000000006,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959142,"endTime":1788142959193.4849,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":44.228677999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.6031430000000455,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142960475,"endTime":1788142960526.603,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.1601670000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.1608550000000832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.8380600000000413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":7.245234999999866,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:38:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":1.0520740000001751,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:48:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":1.3405350000000453,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:59:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":1.0294830000000275,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:69:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.9046329999998761,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx:84:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.9623440000000301,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.5250929999999698,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.34649100000001454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.2821910000000116,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142959156,"endTime":1788142959176.2822,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.9823579999999765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7384920000001785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.285432000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.3268510000000333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.7168719999999666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.23111199999993914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20953099999996994,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142960432,"endTime":1788142960437.2312,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":7.496327000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5121619999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2740110000002005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2046109999998862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.22089099999993778,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6766920000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.55385299999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.16960999999992055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.17976100000009865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2060999999998785,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142960468,"endTime":1788142960478.206,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.042306999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.3992519999999331,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3191510000001472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.26876100000004044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":1.269113999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.19743100000005143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.67101300000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.16568200000006073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.5617020000001958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.28139099999998507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.20640099999991435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1765290000000732,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6599229999999352,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142960427,"endTime":1788142960434.66,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.064777999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":8.269039999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":11.007919000000129,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:35:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":1.1365339999999833,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:47:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":1.0618630000001303,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:60:21\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":1.9291160000000218,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:72:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.9877129999999852,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:89:17\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"failed","title":"should keep consistent behavior with equality check","duration":0.7377229999999599,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 2 times\n at /tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx:120:18\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-shadow-amendment-002/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3267710000000079,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142960366,"endTime":1788142960393.3267,"status":"failed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-009/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.execution.json new file mode 100644 index 0000000..306b65c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3716.595, + "spawn_error": null, + "stdout_sha256": "sha256:bbad1e564871f07375d980a9a7434e755354d40415a248012cba995972e23104", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stdout.log new file mode 100644 index 0000000..9366206 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-009/AVS-009-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 386ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.execution.json new file mode 100644 index 0000000..c8f25d4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10379.727, + "spawn_error": null, + "stdout_sha256": "sha256:f7eda05fd7f1a54952bb1d74048fbeadc2d9726294c5802a7dbc6d7b4d595b8e", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stdout.log new file mode 100644 index 0000000..e4cd549 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 455ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 60ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 16ms +. build:react: created dist/react.js in 52ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 20ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 167ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 67ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 58ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 13ms +. build:shallow: created dist/shallow.js in 58ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 15ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 75ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 21ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 67ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 15ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 83ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 27ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.5s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 37ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.execution.json new file mode 100644 index 0000000..e50fd95 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4253.217, + "spawn_error": null, + "stdout_sha256": "sha256:e6088aa3d744f2ed2632f380ade4ede37a6b2804101dac4814470e871e655a10", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stdout.log new file mode 100644 index 0000000..d68110e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 389ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.execution.json new file mode 100644 index 0000000..d18ce56 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6533.639, + "spawn_error": null, + "stdout_sha256": "sha256:76d5c15174215f650c288cc57bf16438eb75f7484bb4ac4176b1d3e66bf462ee", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stdout.log new file mode 100644 index 0000000..e3c9f56 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 460ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.execution.json new file mode 100644 index 0000000..764fbbb --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/ssrSafe.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3145.939, + "spawn_error": null, + "stdout_sha256": "sha256:5abc8b4a2a159d8dec9e38e67eac145fe9f37b6d95355d4e59f304f65855fd0f", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stdout.log new file mode 100644 index 0000000..f87159d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 384ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-native.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.vitest.json new file mode 100644 index 0000000..662c91a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":52,"numPassedTestSuites":52,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":166,"numPassedTests":166,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142987935,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.104044000000158,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.5408750000001419,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.7154230000001007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":15.409093999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.1426739999999427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.6963330000000951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.3432110000001103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.23260100000015882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.26557099999990896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.2458599999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":1.0893039999998564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.1580340000000433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.4085410000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.41435200000000805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3585710000002109,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8266430000001037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.530873000000156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.44655200000011064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.4002410000000509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.41996099999983016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3455309999999372,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3943609999998898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3155709999998635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.36633099999994556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.37510199999996985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3024809999999434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.9388830000000326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.16103999999995722,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.42532299999993484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.22136100000011538,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.21988099999998667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.3274109999999837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":0.9531440000000657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.4533849999997983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.9397229999999581,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.9184840000000349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.8251020000000153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.6850859999999557,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.6278230000000349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.263684000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.114323000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7678529999998318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6810219999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8293840000001182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8605930000001081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.8711369999998624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.5984759999998914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.134012999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8318239999998696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9818729999999505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7722530000000916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9697040000000925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7850619999999253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8268519999999171,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.7306720000001405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7761029999999209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.876412000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6437920000000759,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.8855170000001635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.6663360000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.5366050000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.41493100000002414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.6187230000000454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.1273850000000039,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989644,"endTime":1788142989716.1274,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.0943979999999556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.6301719999999023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.39000099999998383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6733130000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.29892099999983657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.18358100000000377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":2.000725999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.5059920000001057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.6600459999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.4372310000001107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.28082099999983257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.6649019999999837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.23148099999980332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.27522099999987404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.20981999999980872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.29896099999996295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.28830200000015793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.27240999999980886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.232291000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24936099999990802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.6832119999999122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.26341200000001663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1980510000000777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.3002710000000661,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.23202100000003156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.24171100000012302,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989653,"endTime":1788142989668.2417,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":40.49592299999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":3.947753000000148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":8.692702000000054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":4.73470599999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":4.303825000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.5573199999998906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.038866000000098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":2.6463390000001255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.3655089999999745,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.0462870000001203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.734527000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.5758730000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.7705419999999776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.71311199999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":1.996786999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.6941360000000714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.0527270000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":3.2965110000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.7049030000000585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.45429200000012315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.6794119999999566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.35652299999992465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.498642000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.543711999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2749300000000403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7329419999998663,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989647,"endTime":1788142989738.733,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.894991000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7964939999999388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.9490860000000794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.1461150000000089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6401319999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5031609999998636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.39534100000014405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.1164949999999862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.4363610000000335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3419810000000325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.4095319999998992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.9835740000000897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.46000099999992017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.25517100000001847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.42029100000013386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.25314099999991413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8843430000001717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6213310000000547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.33894099999997707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5685209999999188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8379039999999804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2729199999998855,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989646,"endTime":1788142989666.273,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.156729000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.1012929999999415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.8396099999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.48306300000012925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5334219999999732,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3104110000001583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.6416619999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4532010000000355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4488619999999628,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.4518510000000333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.28354200000012497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.3025719999998273,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989639,"endTime":1788142989649.3025,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.9226169999999456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.5748430000001008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.22598100000004706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.19506200000000717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.7002820000000156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.192051999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.14429100000006656,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989638,"endTime":1788142989642.1921,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":3.0892310000001544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.0971770000001015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3785219999999754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5962110000000393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2162710000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.30142099999989114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3031220000000303,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5766009999999824,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3151700000000801,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142989640,"endTime":1788142989648.3152,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.execution.json new file mode 100644 index 0000000..b43315c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4125.83, + "spawn_error": null, + "stdout_sha256": "sha256:d671a3c5b67eb9ffb768cf710bcb8fc1cf3c78acd43dc507c209aff6357bb6db", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stdout.log new file mode 100644 index 0000000..ba5beed --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 370ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.vitest.json new file mode 100644 index 0000000..d7f9c5d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142990957,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":12.206782000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":33.88335899999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":6.824554000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":9.537902999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":15.747505000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":5.235828000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.761053999999831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.320970999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.455648999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":8.416529000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":3.334591000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.26997099999994134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3131909999999607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.37777200000004996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5904219999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.3834219999998822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.895436999999902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.7762139999999818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.864847999999938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.963226999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.310161999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3473840000001474,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992411,"endTime":1788142992547.3474,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.4830930000000535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.2448239999998805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.033192999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":13.399877999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":2.0484469999998964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.7002659999998286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5046019999999771,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2809610000001612,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.37417200000004414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.40530100000000857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5522409999998672,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3078740000000835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.44283100000006925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.5723210000001018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3843819999999596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8456029999999828,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9119339999999738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.48456099999998514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.45057199999996556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3276210000001356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.29224100000010367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4462309999998979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.24783100000013292,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.2740009999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.44685099999992417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.32217099999979837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1222540000001118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.17579099999989012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.4410819999998239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2471210000001065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.23909100000014405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.34830200000010336,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.0054039999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.1308439999997972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0211339999998472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4262309999999161,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4420830000001388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.7264460000001236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.6119830000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.9370930000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.8084639999999581,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5339309999999386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.48183300000005147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.6946419999999307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.2536740000000464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.7423969999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.3007350000000315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.8282220000000962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.5817809999998644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9087540000000445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4708419999999478,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.5548059999998713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4704910000000382,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6090719999999692,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.5755619999999908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6459529999999631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7840830000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.42108200000006946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.5920360000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.8474859999998898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.417934999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3407110000000557,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4335949999999684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0441840000000866,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992444,"endTime":1788142992511.0442,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.2097309999999197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.8938030000001618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.27876199999991513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9796830000000227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2861209999998664,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142993757,"endTime":1788142993763.2861,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.016057000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7497630000000299,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3656419999999798,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7495020000001205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.4106610000001183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2692810000000918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.46832100000005994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3168709999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.2425849999999627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.35530100000005405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.27060099999994236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.30686100000002625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.7902429999999185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.6175319999999829,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.18061999999986256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1910609999999906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.26215099999990343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.24258099999997285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.20563000000015563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2630810000000565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.28353100000003906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.4243309999999383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1873720000000958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.26418100000000777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2156800000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.22872000000006665,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992450,"endTime":1788142992463.2288,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":44.322054999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":13.081507000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":20.895263000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":12.676534000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":15.430053999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.66003499999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":6.015271999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.267794999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.007783999999901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.5240890000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.4987700000001496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.8397930000000997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9753740000001017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9272129999999379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.101331000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.6763690000000224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.2229019999999764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.483360000000175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.8232430000000477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6246529999998529,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.8702530000000479,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6538919999998143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5557719999999335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.47549199999980374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.22860100000002603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.65902200000005,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992446,"endTime":1788142992599.659,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":7.49918700000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.6053819999999632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":0.9401339999999436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.8864960000000792,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5122020000001157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.3482409999999163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.299239999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.049064000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.9276970000000802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.47107200000004923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.6203420000001643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4584620000000541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.39480299999991075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.23372999999992317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.24125200000003133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.21184100000004946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.7453259999999773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.3793709999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.25952200000006087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5046919999999773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.6207019999999375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.18471999999997024,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992442,"endTime":1788142992466.1848,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.4665050000000974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.37588099999993574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":30.749147999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.496508999999833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.424882999999909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.4430059999999685,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992412,"endTime":1788142992461.443,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":43.465643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.700122999999849,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142993805,"endTime":1788142993855.7002,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.5888949999998658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8326630000001387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.768425999999863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5164219999999204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.38427200000000994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.43044099999997343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5268929999999727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.35803200000009383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3175410000001193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":1.5777850000001763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3004009999999653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.3865610000000288,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142993577,"endTime":1788142993585.3865,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.067077000000154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7886539999999513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.29292099999997845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":1.3407050000000709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.004903000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.29892100000006394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.34468199999992066,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142993730,"endTime":1788142993736.3447,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":16.430117999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6987920000001395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.33433100000002014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.5700819999999567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.36884200000008605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.9948819999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7548229999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.21281999999996515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.2464910000001055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.27963100000010854,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142993729,"endTime":1788142993750.2795,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.436858999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.476701999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.4244419999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.31432200000017474,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5031119999998737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.22586200000000645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4731810000000678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.1747609999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.20328999999992448,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.33268100000009326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.24505999999996675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.18506999999999607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7304919999999129,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142992405,"endTime":1788142992412.7305,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.0087670000000344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.9274370000000545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.41627100000005157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5542920000000322,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2506109999999353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.6175809999999728,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.35041100000012193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5498430000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.315511000000015,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142993649,"endTime":1788142993656.5498,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/AVS-010/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.execution.json new file mode 100644 index 0000000..00db607 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3985.084, + "spawn_error": null, + "stdout_sha256": "sha256:15c897adfbf2945fa0e214de5853a4468d48d5a159af9ba2bb1eb02fa79e4b6a", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stdout.log new file mode 100644 index 0000000..2aa7a60 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/AVS-010/AVS-010-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 447ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.execution.json new file mode 100644 index 0000000..b40c60f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9153.171, + "spawn_error": null, + "stdout_sha256": "sha256:0a7ad1b05fe57fc5e70d1adbcb3216b274f105e7b4125e507926d6fd20d85659", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stdout.log new file mode 100644 index 0000000..c8b0268 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 436ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:react: src/react.ts → dist/react.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:base: src/index.ts → dist... +. build:react: created dist/react.js in 57ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/vanilla.js in 59ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/esm/react.mjs in 15ms +. build:vanilla: created dist/esm/vanilla.mjs in 15ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 164ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 64ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: created dist/shallow.js in 57ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/middleware/immer.js in 67ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/esm/shallow.mjs in 21ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 15ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 68ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 17ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 61ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 61ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 19ms +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 21ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 2.9s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 30ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.execution.json new file mode 100644 index 0000000..a41623a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4215.113, + "spawn_error": null, + "stdout_sha256": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stdout.log new file mode 100644 index 0000000..dc1ae69 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 395ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.execution.json new file mode 100644 index 0000000..5b705fa --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5897.23, + "spawn_error": null, + "stdout_sha256": "sha256:95957c9239b23557c8491d846c98e993d2b2c1fc9920c53dd1bc4d9cfda6c79d", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stdout.log new file mode 100644 index 0000000..3a3af03 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 418ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.execution.json new file mode 100644 index 0000000..9b674e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4104.673, + "spawn_error": null, + "stdout_sha256": "sha256:3a1e97871515e6b155dfa2ebc754c4c2110b9476e6927fac5ca54c8d371a7576", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stdout.log new file mode 100644 index 0000000..6d9dc73 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 410ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-1/baseline-1-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.vitest.json new file mode 100644 index 0000000..eb10b2a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142587621,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":9.217301000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":30.21427400000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.695704999999862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.830126999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":19.387995000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":2.8187619999998788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.281418999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.4669450000001234,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.861046999999871,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":8.376656999999796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.291829000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2589310000000751,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.25264099999981227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.3989919999999074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5709219999998822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.1957299999999123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.9871720000001005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.673086000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.652529000000186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.5673410000001695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.32893399999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3244359999998778,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589076,"endTime":1788142589202.3245,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.360498999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.45040599999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.880572999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":16.546873000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":11.150379000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.225595999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":2.231219999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3121609999998327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.660242000000153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.35213100000009945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.4581829999999627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":2.121268999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.443082000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8090139999999337,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.40142100000002756,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8675149999999121,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.8459430000000339,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5165719999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5916139999999359,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.7862830000001395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4316920000001119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5788729999999305,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3499819999999545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.345690999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.3323410000000422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5401620000000094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.07057500000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.19350099999996928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.41938200000004144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2056800000000294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.19894999999996799,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4148419999999078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3664459999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.2273649999999634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.111415000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.3538620000001629,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4274510000000191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.8424740000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.39785200000005716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.8786039999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.6133270000000266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7313930000000255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.616463000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8894030000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9643149999999423,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.210409000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":3.4100760000001173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.8605330000000322,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6621229999998377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9386349999999766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6267519999998967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.6824269999999615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6135329999999612,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7437130000000707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6408530000001065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.5012920000001486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7506240000000162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.44495100000017374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.6619980000000396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.1113189999998667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.3526259999998729,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.34706199999982346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4992460000000847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.7421340000000782,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589110,"endTime":1788142589198.7422,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.212380999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6711729999999534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2539209999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.738743999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.26541100000008555,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142590410,"endTime":1788142590414.2654,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.5926269999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5754220000001169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.6373929999999746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6071139999999104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2742209999998977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.20854199999985212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.3324009999998907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.21791200000006938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.3072550000001684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.2692409999999654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.43901099999993676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.19749000000001615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.24596100000007937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.6225939999999355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.18851100000006227,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.16013999999995576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.22945099999992635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.19941099999982725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1786019999999553,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.19856000000004315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.3567610000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.17586099999994076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.10497000000009393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.16875099999992926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.14886100000012448,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.17910100000017337,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589120,"endTime":1788142589131.1792,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":57.696705000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":8.318967000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":16.720283999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":9.097240000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":9.28516999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.9700729999999567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":6.916829999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.234038999999939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.337299999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.1281000000001313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.0287180000000262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.6596819999999752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.1378760000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0682940000001508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.0428929999998218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.835632999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.621065999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.03843599999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0208349999998063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7031819999999698,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.09112499999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.40057100000012724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.603162999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.6057220000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2756810000000769,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.8047839999999269,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589112,"endTime":1788142589259.8047,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":8.261135999999851,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.2479749999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.1693259999999555,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9519829999999274,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5372240000001511,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5959329999998317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.5027519999998731,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":6.10804700000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.5065929999998389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.44997200000011617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.45826099999999315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.43301100000007864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.8409229999999752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.3094820000001164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.2820609999998851,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2692810000000918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9661539999999604,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.48157100000003084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.30946300000005067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.8418739999999616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.935752999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.26784199999997327,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589114,"endTime":1788142589141.2678,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":4.368099999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.8056030000000192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":37.381815999999844,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":3.78028600000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.310497999999825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":5.391213999999991,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142590315,"endTime":1788142590373.391,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":42.44463700000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.8245909999998275,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142590413,"endTime":1788142590461.8247,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":4.211917999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8727040000001125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8538389999998799,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5827930000000379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5500119999999242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3092410000001564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.307501000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.326471999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2950710000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.4253510000000915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.4829810000001089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.4130319999999301,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142590309,"endTime":1788142590320.413,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.5102620000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8126239999999143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.30319200000008095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2888909999999214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0888049999998657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.6502030000001469,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.231548999999859,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589102,"endTime":1788142589108.6501,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.557806999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5405330000000959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.5839320000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.4868219999998473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3696610000001783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7576540000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5998620000000301,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.332971999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.29995199999984834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3953120000001036,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142590324,"endTime":1788142590339.3953,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.1894099999999526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.5739929999999731,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.43760299999985364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.32260100000007697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.7021640000000389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.1686099999999442,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4935209999998733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.18264099999987593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.3692229999999199,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.24820100000010825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.28874100000007275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.12814000000003034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.607452000000194,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142589026,"endTime":1788142589033.6074,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.5168109999999615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.2318199999999706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5281820000000153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":1.0730149999999412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3386310000000776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4384219999999459,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.46057199999995646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.738063000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.43902299999990646,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142590366,"endTime":1788142590374.439,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-1/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.execution.json new file mode 100644 index 0000000..f1145c7 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3528.323, + "spawn_error": null, + "stdout_sha256": "sha256:fed4e610dd134eac467793aef9ae99129e7fc11a66c2eceb66b05a1d59449f58", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stdout.log new file mode 100644 index 0000000..5555513 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-1/baseline-1-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 405ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.execution.json new file mode 100644 index 0000000..e96fdb3 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10373.665, + "spawn_error": null, + "stdout_sha256": "sha256:5ebc8931bb956389c3667295d3a55c4311217844fb8706358dd3ad7a335c4571", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stdout.log new file mode 100644 index 0000000..fdb789d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 426ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:base: src/index.ts → dist... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: created dist/react.js in 74ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/vanilla.js in 60ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/esm/react.mjs in 24ms +. build:vanilla: created dist/esm/vanilla.mjs in 24ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 162ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 78ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: created dist/shallow.js in 70ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 10ms +. build:middleware:immer: created dist/middleware/immer.js in 61ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 15ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 92ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 26ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 58ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 63ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 26ms +. build:traditional: created dist/esm/traditional.mjs in 31ms +. build:react:shallow: Done +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 38ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 10ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.execution.json new file mode 100644 index 0000000..058ecac --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5646.492, + "spawn_error": null, + "stdout_sha256": "sha256:15acb49974bf44ca1ea301b580dc7502545d5a6bf7f17dda4ae771abc1e931cb", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stdout.log new file mode 100644 index 0000000..5990e2e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 525ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.execution.json new file mode 100644 index 0000000..66ff96d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6042.029, + "spawn_error": null, + "stdout_sha256": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stdout.log new file mode 100644 index 0000000..d7a9876 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 420ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.execution.json new file mode 100644 index 0000000..2b38332 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4498.435, + "spawn_error": null, + "stdout_sha256": "sha256:43ca67525d603ecef2d20f96f372879a823d382b2de8a4e13da98937c226aae9", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stdout.log new file mode 100644 index 0000000..8289f2b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 450ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-2/baseline-2-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.vitest.json new file mode 100644 index 0000000..5ea7820 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142616375,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":14.259661999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":36.47283700000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.9316859999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":7.769663999999921,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":18.5462,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":2.129789999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":7.228591999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":2.564251000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":10.920086999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":23.577602999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":7.42465100000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.28856100000007245,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.22678200000018478,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.3972329999999147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":3.4468140000001313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.666670999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.633509000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.4121550000002117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":8.315016000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.769761999999901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.3175149999999576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.0891149999999925,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618081,"endTime":1788142618256.089,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":7.193849999999884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":4.871240000000171,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6753919999998743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":12.359772999999905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.231155999999828,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":4.161348000000089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.31553200000007564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.4255829999999605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.299541999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3716509999999289,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.42663199999992685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":0.8023039999998218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.42027200000006815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":2.5885410000000775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3695420000001377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.7462130000001252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.7287229999999454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.39892200000008415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":1.7623579999999492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.69280300000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.38951300000007905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5188220000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.36942999999996573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.46443199999998797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.6450330000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":1.0341149999999288,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2612859999999273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.2016000000000986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.49652100000002974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.28961200000003373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2818609999999353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.7879829999999401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.1227850000000217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.469686000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0804239999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4837630000001809,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5985630000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0723749999999654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8421329999998761,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.071685000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.9735539999999219,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.608161999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.7591230000000451,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9038230000001022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9977550000000974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.836697999999842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.6620869999999286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9211339999999382,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6652920000001359,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9676749999998719,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5755119999998897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.709037999999964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5026020000000244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.5991030000000137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6328619999999319,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.4561419999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.771052999999938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5673719999999776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.6718359999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.7983490000001439,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.6463559999999688,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3670630000001438,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5469559999999092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":2.0091690000001563,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618121,"endTime":1788142618204.0093,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.103309000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6099420000000464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2324109999999564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.767603999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.1939910000000964,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142619442,"endTime":1788142619445.7676,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":4.817011000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8351430000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3941130000000612,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6936920000000555,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":5.801515999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.35114100000009785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4528320000001713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3575510000000577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.9016880000001493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.42675099999996746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":7.340151999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.33691099999987273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.5061619999999039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5435029999998733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.21044099999994614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.2029619999998431,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.27068099999996775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2977009999999609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":2.5692609999998695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.26485200000001896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.25292100000001483,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.21907099999998536,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.12327000000004773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.19874099999992723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.1768409999999676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.2215009999999893,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618124,"endTime":1788142618156.2214,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":41.57877899999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.854064999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":10.60533600000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.437746999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":5.371304000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.9836730000001808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.4349899999999707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.663966000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.678342000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.7930780000001505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.1341500000000906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7115029999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8285739999998896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.7218630000002122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.528471999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.837966999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.469861000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.020744999999806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.7376030000000355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6184729999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9861940000000686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6476319999999305,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6167519999999058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5341519999999491,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.31839099999979226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7879539999998997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618314,"endTime":1788142618422.7878,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.665639000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.804442999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.1829760000000533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.871302999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5096920000000864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.4066309999998339,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.149445999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.960493999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.7132039999999051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.31056100000000697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.3313309999998637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.28729100000009566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.3539229999998952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.22725100000002385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.1955800000000636,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.17124100000000908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9798339999999826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5627719999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2719809999998688,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5087419999999838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7830539999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.24234100000012404,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618119,"endTime":1788142618136.2424,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.1015239999999267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.22399200000018027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":27.236028000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.342008999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":14.723403999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":16.95110199999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142619260,"endTime":1788142619324.9512,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":41.30601699999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.265446999999995,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142619451,"endTime":1788142619499.2654,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.2827859999999873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.807692999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.2747360000000754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4238110000001143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.41061199999990095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.24860100000000784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.29399100000000544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.266072000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2498120000000199,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.32413100000007944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.2687309999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.37156199999981254,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142619371,"endTime":1788142619377.3716,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":4.59920000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.0210950000000594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3746209999999337,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.33214299999985997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.191045000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.3181210000000192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.22492099999999482,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618268,"endTime":1788142618276.318,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":6.830918999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.45689100000004146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.22137100000009013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.3420410000001084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3485019999998258,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8003939999998693,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.58739300000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.19220100000006823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.20944999999983338,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.20226000000002387,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142619369,"endTime":1788142619379.2095,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.502141000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.38349300000004405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3188509999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.3074810000000525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":2.2872699999998076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.22867100000007667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5679119999999784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.19185000000015862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.14520100000004277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.2771010000001297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.24794100000008257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.15136099999995167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7353129999999055,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142618035,"endTime":1788142618043.7354,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.7286070000000109,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":3.327933999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3384310000001278,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4175720000000638,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2006819999999152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.24512099999992643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":3.5601259999998547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5000130000000809,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.36035100000003695,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142619373,"endTime":1788142619384.3604,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-2/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.execution.json new file mode 100644 index 0000000..ba7e866 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3728.544, + "spawn_error": null, + "stdout_sha256": "sha256:76226c98293cb106eacb730ab432b1e002407f3eed5c3b0c25e947f6156bb2f6", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stdout.log new file mode 100644 index 0000000..081fce6 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-2/baseline-2-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 439ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.execution.json new file mode 100644 index 0000000..aece227 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9333.913, + "spawn_error": null, + "stdout_sha256": "sha256:272b2f0ee764f88d8dfbf018f60e9b77d896c12a9c7b2869721796eaa7af62a7", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stdout.log new file mode 100644 index 0000000..8a00484 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 398ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: created dist/vanilla.js in 53ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 61ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 18ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 19ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 170ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 67ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 47ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 47ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 12ms +. build:shallow: created dist/esm/shallow.mjs in 9ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 67ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 17ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 60ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 12ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 54ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 34ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.1s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 28ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 7ms +. build:base: Done diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.execution.json new file mode 100644 index 0000000..a479e3f --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3934.101, + "spawn_error": null, + "stdout_sha256": "sha256:31d0292a0bf79b1179f319e66a3092bc330cd90413d8ad01dbe7d4a581e429e3", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stdout.log new file mode 100644 index 0000000..aebd619 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 407ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.execution.json new file mode 100644 index 0000000..0c116e2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5733.733, + "spawn_error": null, + "stdout_sha256": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stdout.log new file mode 100644 index 0000000..dc1ae69 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 395ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.execution.json new file mode 100644 index 0000000..76bb276 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4332.366, + "spawn_error": null, + "stdout_sha256": "sha256:7c9b538746ba8a3cd26ca3fd0163b225b622f79261da1ab0014a3fdc048ff632", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stdout.log new file mode 100644 index 0000000..62c3fbd --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 418ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v1/raw/baseline-3/baseline-3-tests.vitest.json diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.vitest.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.vitest.json new file mode 100644 index 0000000..06f9ab5 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788142648196,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.159332999999833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.21961299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.501749999999902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":9.943582000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":13.882219000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.550578999999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.5969729999999345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.1511430000000473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":4.629130000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.162683000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.164921000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3716019999999389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3605210000000625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.39575200000012956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.687541999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.4674159999999574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.353890999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.5296589999998105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.694355000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.023091000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.6914260000000922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3954969999999776,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649736,"endTime":1788142649868.3955,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.601008999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.429986000000099,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.7235540000001492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.948296000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.2227439999999206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":2.4705410000001393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5774329999999281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3823019999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":1.00568300000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.5990029999998114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5822319999999763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.5012469999999212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6276719999998477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8144640000000436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.48697200000015073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.2465660000000298,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.0359639999999217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.9323429999999462,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.7078939999998966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5125620000001163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.37528299999985393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5047309999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.2671419999999216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3358809999999721,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.36055099999998674,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.26674099999991085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0184940000001461,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.18923099999983606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.49210199999993165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2304110000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2150099999998929,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.33605099999999766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.417355999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.7679270000000997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5401970000000347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5653319999998985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6964230000000953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.541146000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.997854999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3931860000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.3578560000000834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7670640000001185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6727340000002187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.6928929999999127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9409849999999551,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.1164980000000924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":2.3496500000001106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9518729999999778,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6871340000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.118624999999838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5457020000001194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.7413980000001175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.49701299999992443,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8104430000000775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":3.086394000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.734672000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.9303939999999784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7239029999998365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.2032890000000407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.402319000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.390916000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.27481200000011086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.9424290000001747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.2226149999999052,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649784,"endTime":1788142649863.2227,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.6218109999999797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6615019999999276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.20636100000001534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.8260439999999107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2039310000000114,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142651047,"endTime":1788142651051.2039,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.0135190000000875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7518129999998564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.460692999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5586130000001504,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.4711819999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2537219999999252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4236829999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.26505100000008497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.145083999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3765610000000379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.3429120000000694,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.7747130000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.24458100000015293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.2243900000000849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1737510000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.19164100000011786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2588309999998728,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2483910000000833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.18614100000013423,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.27054999999995744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.26412100000015926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.21584099999995487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.11842999999998938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.20577099999991333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2275210000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.2262510000000475,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649790,"endTime":1788142649802.2275,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":50.033691999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.125320000000102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":14.377880999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":7.841261999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":10.21813300000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.463989000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":4.023547000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.714179999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.507579000000078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.9539279999999053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.056517999999869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7201829999999063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.7910620000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6667030000000977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":5.849134000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":3.777507000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":6.430176999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":8.920626999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0597949999998946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7195029999998042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.8666180000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.44735100000002603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.45392199999992044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.6642820000001848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.23071200000003955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6689630000000761,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649785,"endTime":1788142649929.669,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":7.851274000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.4830959999999322,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.7559579999999642,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9488240000000587,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.703262999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5804719999998724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.247814999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.0836449999999331,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.2214559999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.5348630000000867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5635219999999208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4553819999998723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.46980200000007244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2852410000000418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3955120000000534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2846509999999398,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9255249999998796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6696429999999509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.34981100000004517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.626732999999831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9322440000000825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.28935100000012426,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649785,"endTime":1788142649809.2893,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.4073260000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.2927110000000539,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":30.32359900000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.041381000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.072026000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.035198000000037,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142650894,"endTime":1788142650941.0352,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":44.773909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.347750000000133,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142651095,"endTime":1788142651147.3477,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.0141380000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0731949999999415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8963490000001002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5242529999998169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5909320000000662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.33001100000001315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.44813299999987066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4570629999998346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.43145099999992453,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.4750529999998889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3501099999998587,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.34537199999999757,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142650912,"endTime":1788142650921.3455,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.976280000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7940340000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.29258100000015475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2889219999999568,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0215339999999742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.33619100000009894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.252610999999888,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649766,"endTime":1788142649771.3362,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.87564599999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5424620000001141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2980209999998351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2633010000001832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.48968200000012985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7724030000001676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.9057530000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.24142200000005687,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.26003099999979895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2845509999999649,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142650992,"endTime":1788142651007.2847,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.4386799999999766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.41981299999997646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.4837319999999181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.436821000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4846110000000863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.25873200000000907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.49216200000000754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.1677910000000793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.15471999999999753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.22183100000006561,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.178382000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1203410000000531,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6062819999999647,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142649715,"endTime":1788142649722.6062,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.8769680000000335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.056630000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4984420000000682,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5985630000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3409510000001319,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.38051199999995333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5001720000000205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.6536730000000261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4735920000000533,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788142651080,"endTime":1788142651087.4736,"status":"passed","message":"","name":"/tmp/av-exp-001-shadow-amendment-002/baseline-3/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.execution.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.execution.json new file mode 100644 index 0000000..92ceeb2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3529.235, + "spawn_error": null, + "stdout_sha256": "sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stderr.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stdout.log b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stdout.log new file mode 100644 index 0000000..dc1ae69 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/raw/baseline-3/baseline-3-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 395ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-001.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-001.json new file mode 100644 index 0000000..f8a000a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-001.json @@ -0,0 +1,501 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:91f1c68ea32c22bbad767b99883dbf7071a28fb645af9204dd7da6ac4309f481", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-001", + "identity": "sha256:2bf27420ee4f1aad3159696d1cf5f43601f62f1d20ea0ff3ff42af3fe90a0406", + "patch_sha256": "sha256:8abdffcc1f1248e99db416778bf173edb49937314c36c187ecf766e0e8293628", + "changed_paths": [ + "src/middleware/ssrSafe.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:6799b0001e5e5ac543bfb5c409e061f40c0a7eb036536be45b1acd146c1ef68e", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:0c9570ce296060a4fc5842944a0e1f1dbaa16784ddbdfffe22737673cda7d52f", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:acdca341676531844ba188e0526a99a928a6bb2b81790aff0499e5112b19563b", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:00abb5ebc497826b40d48eac06aa6e9f3bd0e8944ac6749c5493ebe5845f1c1a", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-build.stdout.log=sha256:339c9ac9bdc435d42c9d4dbe4750275c46ee619e1dbd02c12a916a40fe654d75", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-format.stdout.log=sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-lint.stdout.log=sha256:4a62bb8786034c67817a27118805ff52436dffb08c978161f99fbd9fc9909fbe", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-native.stdout.log=sha256:d0969a4f9ba80d5e8f77f5bb6b2b7ca4012c1f7d94e1be90b1b7d77d9ae3e774", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-native.vitest.json=sha256:8e0ad416440c24a1a82831d302e371f55183bb11be47f06554ed1e0c1044d327", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-tests.stdout.log=sha256:e304d604fae025a88d552cdad73a7a557106b061749ad6cefe361d9179b15525", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-001/AVS-001-typecheck.stdout.log=sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-002.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-002.json new file mode 100644 index 0000000..b1c4b55 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-002.json @@ -0,0 +1,620 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:93dfedd2844627da19af374ec1cd653cbead8fe43b6941feac2c810041649568", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-002", + "identity": "sha256:f3468b0cc49c51f6bc38799c66afec4b1145a3667820839d77ca3baab18b8ee1", + "patch_sha256": "sha256:9c396e49500eef387292d080284b0f90ddee40ef3fa1e2384ce60008283e2101", + "changed_paths": [ + "src/vanilla/shallow.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:786f6518407eeff076a6a51c1e128cd9561401685c825c40f93c6a6df77cb7af", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:02cf8dfaf6ea661d2418745b3a77a9a1da8ad347c8e94a856395feed881235f2", + "relevant_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/shallow.test.tsx", + "test:tests/vanilla/shallow.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:8e66d55ccd3383b30db53080c8805dfba7626022f81ae4b9d932b9944489df84", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/shallow.test.tsx", + "test:tests/vanilla/shallow.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:f9e612eac01044d4b4fdc132f7c1a6dc3a9ce43e1d71a4ed5cfb3d453df3b7e2", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/shallow.test.tsx", + "test:tests/vanilla/shallow.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 2, + "skipped": 11 + }, + "test_executions": { + "available": 224, + "selected": 19, + "skipped": 205 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 2, + "skipped": 11 + }, + "test_executions": { + "available": 224, + "selected": 19, + "skipped": 205 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 2, + "skipped": 11 + }, + "test_executions": { + "available": 224, + "selected": 19, + "skipped": 205 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-build.stdout.log=sha256:708218f879b38def1923c78438ac3a826cf28cad68fe2a7a9396f24c0aee8616", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-format.stdout.log=sha256:e6088aa3d744f2ed2632f380ade4ede37a6b2804101dac4814470e871e655a10", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-lint.stdout.log=sha256:baf092aab3f65307b6572f0608b5484e9416a63e7eac73119ae9f5a06dac4f87", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-native.stdout.log=sha256:71be388a89a0ae3a30f49c6966b5ff784593ba31342ac4863991abd44af84bac", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-native.vitest.json=sha256:c679a5b899455243cf624c99efe0bd191aa29f8e8edacb53ad904f27223cb223", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-tests.stdout.log=sha256:0c74f8d84081f15b8ed1a9e7769fe49ed903fd13a81fe3f4a29ef3271558704b", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-002/AVS-002-typecheck.stdout.log=sha256:395cbdca9dd9cb6e1dd0e585b4c350e0e153a62c73557a960ba7ca9ee80d4d1b" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-003.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-003.json new file mode 100644 index 0000000..53678ac --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-003.json @@ -0,0 +1,404 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:fc35db2a6aec2a40c033837fce487de52983ea08136bdb00b8715330299cbe25", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-003", + "identity": "sha256:d0cffe955ccae6fe45c347853853de3081dbc07f37b509c42f76c9232f7a8f7b", + "patch_sha256": "sha256:4d84a752d7e9f3db0500ece7e40d048d263f6fa0b12a8da67f8d87a0f1d24d4c", + "changed_paths": [ + "src/vanilla.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:2e2783083c5c15223ced34fe6484e50135e8c08bd8611e655053de2f55774553", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:b57768c62849b53e02e2e5416062669f976349e57f666ad2d540d370db0ab1fe", + "relevant_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [ + "check:lint" + ] + }, + "AV_CORE": { + "plan_identity": "sha256:dc09b796895ab51e79274720afbf1083ec6eb5b93385a6dcb0af7c6283ca1a53", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:2fb4ea8d5bb074780a7780c779e32d2ec407cb2ccd13ff7972d46af04e31aabf", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-build.stdout.log=sha256:0abda2af9a4e08ef8db4c4545c92544cd353439d49f56073a8d96203e8dccda9", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-format.stdout.log=sha256:31d0292a0bf79b1179f319e66a3092bc330cd90413d8ad01dbe7d4a581e429e3", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-lint.stdout.log=sha256:0f0e56fada5329858b680804b4ccf7a25afd978745c2d5d38e64876cf8c7cafb", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-native.stdout.log=sha256:e6f11c894c687674c20604c06ad95ea7acc3200ab532cdc0febae9931dd72348", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-native.vitest.json=sha256:fff80c40cce564f5be965292e49afda3bcc2e11153274b9e7c59d01ccaa013b3", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-tests.stdout.log=sha256:dd3df4f4363510cb7d15e46b3947f982cd65c1c7bc64d43ed708f8aa2bd6a27f", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-003/AVS-003-typecheck.stdout.log=sha256:0eb83c67352bb9646c18d8c01c3f0fea0efde2efb89ac0c97a6244e889c6bf21" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-004.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-004.json new file mode 100644 index 0000000..9b7edab --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-004.json @@ -0,0 +1,505 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:37e781873455bb7d14c541cfeb58ea6934ecad31ac15e0042017aab0086f93b1", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-004", + "identity": "sha256:805855c0a5e5b972b5d77f637e3dd88b2d5db0fadd3c22488002a6e12108f625", + "patch_sha256": "sha256:7bdd67aab346fcf84697539d542bc7986e62b92abbe611f450ea05e438ef891d", + "changed_paths": [ + "src/middleware/persist.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:1dd293c293e24294eb672f4cfee45ade7424ff4e7a7f80da876b37a95608a11c", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:b2cb0a5ce4f2ddccde45b4a5a7b79a9d3cb4dcf1e8179768d3685fed5623f67d", + "relevant_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:cc776d101a9ab992b203cd79891f7afb7b9e8edae856a123bc7510a128e13e63", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:e791a95de28c0849d576e4bc5295592e03dc771c4281bd0a400813de81fe5ba6", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-build.stdout.log=sha256:7535262671cf57e4b360644198ddc80f46ba6c4b7cf3ec34458619a5e19cc7b6", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-format.stdout.log=sha256:26af779f16b7a72d4f0d63b6286d06bc38fc04dfb6897960a1a19aa7f355c73e", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-lint.stdout.log=sha256:93fb26999bf09590ff338964d196efa9e2ce29068e6f1fcdf7793964baab2dcf", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-native.stdout.log=sha256:6de0b81f4970cef331053244e1dc59887ec35c1c0d9c89a0d14246d114df1fa4", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-native.vitest.json=sha256:4b89238bae26bc8ab1f84593e08e5c5874b419d7905be6a14769e36c916c4e50", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-tests.stdout.log=sha256:bf56e09c8a03b6f619dde6be3886cc254d7baf4641f47db9fe8b58e55e8a6528", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-004/AVS-004-typecheck.stdout.log=sha256:5911379ea186f4681ce1ae82702ce7b12168d5a4cfaf3c31e70af5768b9f4bb3" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-005.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-005.json new file mode 100644 index 0000000..7cfeadd --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-005.json @@ -0,0 +1,643 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:0c15ca0b2fb45ab31eef2c13d29c8d29ea77fb4a12340afda8cb33dffbc060ed", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-005", + "identity": "sha256:86dc654c0941a62a3d002bfa8dbf49e3c066cb2782b8ca847f899bbdd09b7ec2", + "patch_sha256": "sha256:06f678c60583d04137fcd8a205e637832cb4f4fa25d250ae7aa146a21aedb382", + "changed_paths": [ + "tests/vanilla/basic.test.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:9a96bf38f996d919b6f6735583335f6e70161eedc8aaab95b40117df5b56cef2", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:48760804f14c29880268dcc56242ce16a8c0b58444d0ad824113df020880a292", + "relevant_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:759dac2e4a1fd367bdce5c1fb4d883b73298597473cf7aacd19f7c3f143babc3", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/vanilla/basic.test.ts" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:330d57ee84755473dd487ccc94941a51a2a4146d5c7f4905b6ed873cb951b638", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/vanilla/basic.test.ts" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 1, + "skipped": 12 + }, + "test_executions": { + "available": 224, + "selected": 10, + "skipped": 214 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 1, + "skipped": 12 + }, + "test_executions": { + "available": 224, + "selected": 10, + "skipped": 214 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 1, + "skipped": 12 + }, + "test_executions": { + "available": 224, + "selected": 10, + "skipped": 214 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-build.stdout.log=sha256:6450b9c9a0221055b4f90401a3e26c2d545a88faad878b7027030b0f2a463a8c", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-format.stdout.log=sha256:bb719fbbd76e64db23209c99141bfa7c4addeb9840a1ef3958441084074dd0ad", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-lint.stdout.log=sha256:c4d648abdc3cdb3f4127b99fbce39b118168c55e818386511c770762cc1b2580", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-native.stdout.log=sha256:8313e158fdf3f78fe09247058f3f09d92c8951c0cccb52f338789f5de3b05a6f", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-native.vitest.json=sha256:2a72c0e308edc61a895e14b18ab2a080386bb1e82e0fc4f61564955177db97e3", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-tests.stdout.log=sha256:7b2784c6317a5db955eb6dcef25badf2c3b1ce37065d6a7ea7943c9d356f34ad", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-005/AVS-005-typecheck.stdout.log=sha256:3cddc9bade180f48d618152cdc6514fc2559de07ba74055b6bc82ce6a2727c8d" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-006.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-006.json new file mode 100644 index 0000000..7b8d60c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-006.json @@ -0,0 +1,461 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:3bc8d876675c591786d62f3dcfa38ffdfd2d10fe515147653c82fc40c7401a6b", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-006", + "identity": "sha256:bad8eba32abf125b56617283669b329f1192a8e9be08fe9439019200b3a38c45", + "patch_sha256": "sha256:5749030cf1e3ed2d329897a30eab6d50ca9ef260d973b1458f01041cdbf8aa45", + "changed_paths": [ + "vitest.config.mts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:a46382f53c5dfd65378131dd0cf01fe8b3cf6367913a0449382d40a24e1c9fd3", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:dd65baae00d6e15acdd47c4113098aa1777ed83cfa10ea9bedc7e2bd9bc5971f", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:52c9600b87a2330ff4ebc92c15e8ecde44a9f566b7571e0f9b73d292709d6e7d", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:87e7641cde3e70cae42634fbda05b5c599d82911a2f629d07e0e814f0cf3b9d8", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 0, + "skipped": 13 + }, + "test_executions": { + "available": 224, + "selected": 0, + "skipped": 224 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-build.stdout.log=sha256:e64654a315b253722f2f3935e5a981783b098f53d030133178569774f4461b46", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-format.stdout.log=sha256:0eb83c67352bb9646c18d8c01c3f0fea0efde2efb89ac0c97a6244e889c6bf21", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-lint.stdout.log=sha256:84fe4d1f4abd6d26e28011bdbf6108988b1b87c7ada7b59b09f940d225f178f7", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-native.stdout.log=sha256:f2e4267e524b1a3da1755a410257b349fccade947e6d97fb87421c3b14e6d860", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-native.vitest.json=sha256:82e0556c94d09c0e1924a59086c3584187b2ad3af47d19269f956a4b239edc4e", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-tests.stdout.log=sha256:85bbc25d1dfa65a6f54ddcfa025e4aa524de7f0347ee547218c7756d2b16e6bc", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-006/AVS-006-typecheck.stdout.log=sha256:95957c9239b23557c8491d846c98e993d2b2c1fc9920c53dd1bc4d9cfda6c79d" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-007.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-007.json new file mode 100644 index 0000000..50fa49e --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-007.json @@ -0,0 +1,371 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:c2619a38f736f04078b6822c432d6f2bf699b647f21d537770d272f2ab6da41b", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-007", + "identity": "sha256:fde4ddc1529178c432ab1487ec5f5545732e8955b70af8927747b2d80e38d6b0", + "patch_sha256": "sha256:93c1e2d1517eb1e220a1feddca02b5343a4e0a036612cc16ce834f8d5f1e856e", + "changed_paths": [ + "package.json" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:e8af4905f13e1989e2d6e6169f8be8612edc5d54177062c9d99056c031263cca", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:e733eade19372223fa086c44a7be6075276a1fc36e3fa0dd175a2e99bab25fa7", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:2d87f2a2c341e57a1ff54d6dc7c7b4742a18227aa8053512b3e5442912a21a46", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:ac1a3825e96668e824e17a3b3f91ee0cd5c62a25d2275e7bb0352412d4414ee5", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-build.stdout.log=sha256:c0f03adfd9a17e54bedef79c739f3fe064f30f23ed64e062be36d558c48aac35", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-format.stdout.log=sha256:1105272b9c26834636050d4c414fb857d3c3cd3d58b869699c9120b8c2161ac2", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-lint.stdout.log=sha256:aa44a47853205b75555e1938193cd51fb33e21da3a6b028ea5fce1f463e404ad", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-native.stdout.log=sha256:b4f4eb1f240036401f037e32c300dd6ec3aac2b54f9d3e28f0f55f48b3f29677", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-native.vitest.json=sha256:59de0049b05096a2b866f96de3116d74b090b07e7402647f89d658b72b071c27", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-tests.stdout.log=sha256:9aaf100929c4a0e7289b846c3e855083cff8b6b0ee4c0b20a1ffd34b75aa2452", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-007/AVS-007-typecheck.stdout.log=sha256:2fb4b0fc9ac1841c8278c50c25affb0f1c45340cd314668572c70128dfb38ccc" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-008.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-008.json new file mode 100644 index 0000000..f9195a2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-008.json @@ -0,0 +1,402 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:9f2ac4c6785abf916f18e8491bcebf9429cf25a85041e7f1b03d18d501fe44af", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-008", + "identity": "sha256:250cbffd63f84c86416f4049ce6a2dd67d28cdb10bf1b4b011f4aa8ff488535d", + "patch_sha256": "sha256:86b67e0e8b7cb0815cbbf4419a028ba4d5c30b92176ac46ac23d6c62d6e4fb66", + "changed_paths": [ + "src/vanilla.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:7469a38e65d4becf93e56c44ab363db7e70690635e6d3691665ee38ac9b8cce3", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:typecheck" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:8ace04a1f6359a32359983b32418e83cd4145096cbf2130d0593fab38dc067d4", + "relevant_check_ids": [ + "check:typecheck" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [ + "check:typecheck" + ] + }, + "AV_CORE": { + "plan_identity": "sha256:8b165bb6856c43c37263c5c560ad5ea28e0e2023c1a919dc1270f0299c662ed9", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:38264420e638b2842e987a2dc0f8187f73ad78f6ceae7e57296b93c175306e31", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-build.stdout.log=sha256:34a11b240f52f7bb73b32c6de40c4aa30a823661ad1bdf9985163e349dadbf35", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-format.stdout.log=sha256:d55c076a69513cbba7f9f5abfc197e4a9454b06bd3964b184f914c26dca4b54e", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-lint.stdout.log=sha256:405e69c2cff79415fa285447479fdbadca48ec99bf12238e3c559ffeec834404", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-native.stdout.log=sha256:0159729bca512a5210b70400b84e35c9ac66c466fe8e2d348fc9546cf13f1c94", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-native.vitest.json=sha256:f01f756ffd5cca224747a463726b23fba31a69f7db318467798d605e39fc4a82", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-tests.stdout.log=sha256:38994cb8e1388b088c8e511afcc8125f2dac41bb2fa7a5b63a3d97d0e00d6eda", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-008/AVS-008-typecheck.stdout.log=sha256:6e1d6b535760a801e46443902ef8bf8dce5e22fd9e41029a2c9b0f3df1e60a63" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-009.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-009.json new file mode 100644 index 0000000..2a7d477 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-009.json @@ -0,0 +1,462 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:947ef78b3bbec40bc8d689fa82a7f12b61814a051d0654a9c2e485b71b11bb72", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-009", + "identity": "sha256:9ffabe30ba7a7e45f4079abba0e89480dfca68d0cbc1fac185fe2c0d16be88a1", + "patch_sha256": "sha256:063e1a57a509c40d1aebf35b1e054b48b9505257045f898c02018dd1b6df3662", + "changed_paths": [ + "src/middleware/subscribeWithSelector.ts", + "src/vanilla/shallow.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:59903ff4b3b6c8361c944cf381d49220fbac489805e45ab288edddf098678986", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:c7b3c4100e76ca6fe748eb41c6b606e9ddc3c5e5f9e8026016468195d5cd240c", + "relevant_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:98f67da59c2bd7b5f3c5cca95bbe91da7bdfd92fd2b8f5874752910d94558ec1", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:7333d19253e50b408a0a0d3f28f72c2c646edbf9ba1277083e852c0c1d316239", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 9, + "skipped": 4 + }, + "test_executions": { + "available": 224, + "selected": 185, + "skipped": 39 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 9, + "skipped": 4 + }, + "test_executions": { + "available": 224, + "selected": 185, + "skipped": 39 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 9, + "skipped": 4 + }, + "test_executions": { + "available": 224, + "selected": 185, + "skipped": 39 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-build.stdout.log=sha256:171884481cb02e4a9d6a28edd2afc5f040e44fd320c287d2b9f346c79cc0c183", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-format.stdout.log=sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-lint.stdout.log=sha256:ea732f223f4696530dc6e4d69a1c7699ad0faabae2a6951ddbc47e39acd5b2d1", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-native.stdout.log=sha256:7c331dde9e69e75d32d3f26a9544daa46ff1016eebb63829800a6137e45bf22a", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-native.vitest.json=sha256:4288ce76b5e5a22d72459835f58134879f7f6e796028d14ece18a5a3e40dcb3c", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-tests.stdout.log=sha256:eea5077174a9ef0944cc60827822138b843894dafffee4e7840daf525ce55476", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-009/AVS-009-typecheck.stdout.log=sha256:bbad1e564871f07375d980a9a7434e755354d40415a248012cba995972e23104" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-010.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-010.json new file mode 100644 index 0000000..0e1ad4b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/scenarios/AVS-010.json @@ -0,0 +1,407 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:a759444666a4de0ba54c79dd7c6032d18e303278f73cb37a5d7ed9cacd9d55e3", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-010", + "identity": "sha256:b236c9e5366fdc7eeb6a3a1fd000442c3178ef2eae1bfb1cdc469ffe6536de84", + "patch_sha256": "sha256:8dee6a157976f26f8a572bfa848b43ea22c7fb3b22cd8c941ea75f1bcdcbe669", + "changed_paths": [ + "src/middleware/ssrSafe.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "full_run": { + "identity": "sha256:be972967a88cf2c98e747975203deac34a229bcdc99baf685d8eea7f68a7625a", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:4b9af9d8e0bc3c28c54b4886210dd08831bff90cf64bc7972af4dd8d379cb463", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:53c733b92e6152b802a364b892e001b81dfaa67bc6dbe14dbe3faa2775207de1", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "PRESENT", + "reasons": [ + "DEPENDENCY_EVIDENCE_INCOMPLETE" + ] + }, + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:6af0dd8e86733c3cde19cdea108c50f0a7460f948f1ec7786039c47809b1b131", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "PRESENT", + "reasons": [ + "DEPENDENCY_EVIDENCE_INCOMPLETE" + ] + }, + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-build.stdout.log=sha256:f7eda05fd7f1a54952bb1d74048fbeadc2d9726294c5802a7dbc6d7b4d595b8e", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-format.stdout.log=sha256:e6088aa3d744f2ed2632f380ade4ede37a6b2804101dac4814470e871e655a10", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-lint.stdout.log=sha256:76d5c15174215f650c288cc57bf16438eb75f7484bb4ac4176b1d3e66bf462ee", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-native.stdout.log=sha256:5abc8b4a2a159d8dec9e38e67eac145fe9f37b6d95355d4e59f304f65855fd0f", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-native.vitest.json=sha256:3c5ae5b0a93378b477a9c1b0d5a060d8636cc0238a7b2020df02209e28e986e1", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-tests.stdout.log=sha256:d671a3c5b67eb9ffb768cf710bcb8fc1cf3c78acd43dc507c209aff6357bb6db", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v1/raw/AVS-010/AVS-010-typecheck.stdout.log=sha256:15c897adfbf2945fa0e214de5853a4468d48d5a159af9ba2bb1eb02fa79e4b6a" + ] +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/summary.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/summary.json new file mode 100644 index 0000000..dd9d688 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/summary.json @@ -0,0 +1,71 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-summary.v1", + "experiment_id": "AV-EXP-001", + "preregistration_sha": "0544362d7659093b7f0b4f89ee8f68023fd269c3", + "amendment_identities": [ + "sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357", + "sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e" + ], + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "baseline_identity": "sha256:f60b3c5d52fdfb56a78b516a3a3482ae2729e746b01245a5f348c65a71e8a74e", + "scenario_count": 10, + "scenarios_with_relevant_failures": 6, + "selector_results": { + "NATIVE": { + "relevant_checks": 8, + "selected_relevant_checks": 6, + "missed_relevant_checks": 2, + "relevant_check_recall": "6/8", + "scenario_level_miss_count": 2, + "escalations": 0, + "misses": [ + { + "scenario_id": "AVS-003", + "check_id": "check:lint" + }, + { + "scenario_id": "AVS-008", + "check_id": "check:typecheck" + } + ] + }, + "AV_CORE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + } + }, + "scenario_result_identities": { + "AVS-001": "sha256:91f1c68ea32c22bbad767b99883dbf7071a28fb645af9204dd7da6ac4309f481", + "AVS-002": "sha256:93dfedd2844627da19af374ec1cd653cbead8fe43b6941feac2c810041649568", + "AVS-003": "sha256:fc35db2a6aec2a40c033837fce487de52983ea08136bdb00b8715330299cbe25", + "AVS-004": "sha256:37e781873455bb7d14c541cfeb58ea6934ecad31ac15e0042017aab0086f93b1", + "AVS-005": "sha256:0c15ca0b2fb45ab31eef2c13d29c8d29ea77fb4a12340afda8cb33dffbc060ed", + "AVS-006": "sha256:3bc8d876675c591786d62f3dcfa38ffdfd2d10fe515147653c82fc40c7401a6b", + "AVS-007": "sha256:c2619a38f736f04078b6822c432d6f2bf699b647f21d537770d272f2ab6da41b", + "AVS-008": "sha256:9f2ac4c6785abf916f18e8491bcebf9429cf25a85041e7f1b03d18d501fe44af", + "AVS-009": "sha256:947ef78b3bbec40bc8d689fa82a7f12b61814a051d0654a9c2e485b71b11bb72", + "AVS-010": "sha256:a759444666a4de0ba54c79dd7c6032d18e303278f73cb37a5d7ed9cacd9d55e3" + }, + "trust_stage": "SHADOW", + "trust_decision": "REMAIN_SHADOW", + "claim_limit": "No miss was observed only if the miss count is zero; either outcome is bounded to this frozen calibration corpus.", + "summary_identity": "sha256:e516f03c007b11174446e6bc8cf9b61a8b83e5bea1079f806dcaadbbd6da7b97" +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-001.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-001.txt new file mode 100644 index 0000000..6ede859 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-001.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-001 +Selected tests: 166 / 224 +Skipped tests: 58 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 0 / 0 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-002.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-002.txt new file mode 100644 index 0000000..58eba46 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-002.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-002 +Selected tests: 19 / 224 +Skipped tests: 205 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-003.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-003.txt new file mode 100644 index 0000000..2e67ebc --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-003.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-003 +Selected tests: 211 / 224 +Skipped tests: 13 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_BROADENED +Shadow relevant checks: 2 / 2 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-004.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-004.txt new file mode 100644 index 0000000..660efb9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-004.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-004 +Selected tests: 166 / 224 +Skipped tests: 58 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-005.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-005.txt new file mode 100644 index 0000000..e1ea787 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-005.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-005 +Selected tests: 10 / 224 +Skipped tests: 214 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-006.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-006.txt new file mode 100644 index 0000000..c8e77ea --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-006.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-006 +Selected tests: 224 / 224 +Skipped tests: 0 +Other selected checks: format, typecheck, lint, build +Sufficiency: FULL_VERIFICATION_REQUIRED +Shadow relevant checks: 0 / 0 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-007.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-007.txt new file mode 100644 index 0000000..3efd5dd --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-007.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-007 +Selected tests: 224 / 224 +Skipped tests: 0 +Other selected checks: format, typecheck, lint, build +Sufficiency: FULL_VERIFICATION_REQUIRED +Shadow relevant checks: 0 / 0 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-008.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-008.txt new file mode 100644 index 0000000..ae706fe --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-008.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-008 +Selected tests: 211 / 224 +Skipped tests: 13 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_BROADENED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-009.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-009.txt new file mode 100644 index 0000000..d015a2b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-009.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-009 +Selected tests: 185 / 224 +Skipped tests: 39 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 2 / 2 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-010.txt b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-010.txt new file mode 100644 index 0000000..9890084 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/telemetry/AVS-010.txt @@ -0,0 +1,6 @@ +[Affected Verification] +Scenario: AVS-010 +Impact evidence incomplete +Targeted skipping denied +Verification broadened: FULL +Selection miss risk: unresolved, fail-closed diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_CORE.json new file mode 100644 index 0000000..778cae0 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-001:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:acdca341676531844ba188e0526a99a928a6bb2b81790aff0499e5112b19563b", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:acdca341676531844ba188e0526a99a928a6bb2b81790aff0499e5112b19563b", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..02303d4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-001:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:00abb5ebc497826b40d48eac06aa6e9f3bd0e8944ac6749c5493ebe5845f1c1a", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:00abb5ebc497826b40d48eac06aa6e9f3bd0e8944ac6749c5493ebe5845f1c1a", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_CORE.json new file mode 100644 index 0000000..89f6ac3 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-002:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:8e66d55ccd3383b30db53080c8805dfba7626022f81ae4b9d932b9944489df84", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 19, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 205, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "205/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:8e66d55ccd3383b30db53080c8805dfba7626022f81ae4b9d932b9944489df84", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 2 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..f5c3b6c --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-002:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:f9e612eac01044d4b4fdc132f7c1a6dc3a9ce43e1d71a4ed5cfb3d453df3b7e2", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 19, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 205, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "205/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:f9e612eac01044d4b4fdc132f7c1a6dc3a9ce43e1d71a4ed5cfb3d453df3b7e2", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 2 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_CORE.json new file mode 100644 index 0000000..fe6fa52 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-003:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:dc09b796895ab51e79274720afbf1083ec6eb5b93385a6dcb0af7c6283ca1a53", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:dc09b796895ab51e79274720afbf1083ec6eb5b93385a6dcb0af7c6283ca1a53", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..8580e6d --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-003:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:2fb4ea8d5bb074780a7780c779e32d2ec407cb2ccd13ff7972d46af04e31aabf", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:2fb4ea8d5bb074780a7780c779e32d2ec407cb2ccd13ff7972d46af04e31aabf", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_CORE.json new file mode 100644 index 0000000..e6423a9 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-004:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:cc776d101a9ab992b203cd79891f7afb7b9e8edae856a123bc7510a128e13e63", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:cc776d101a9ab992b203cd79891f7afb7b9e8edae856a123bc7510a128e13e63", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..551034a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-004:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:e791a95de28c0849d576e4bc5295592e03dc771c4281bd0a400813de81fe5ba6", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:e791a95de28c0849d576e4bc5295592e03dc771c4281bd0a400813de81fe5ba6", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_CORE.json new file mode 100644 index 0000000..0c5aa46 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-005:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:759dac2e4a1fd367bdce5c1fb4d883b73298597473cf7aacd19f7c3f143babc3", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 5, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 12, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 10, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 214, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "214/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:759dac2e4a1fd367bdce5c1fb4d883b73298597473cf7aacd19f7c3f143babc3", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 1 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..3791381 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-005:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:330d57ee84755473dd487ccc94941a51a2a4146d5c7f4905b6ed873cb951b638", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 5, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 12, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 10, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 214, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "214/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:330d57ee84755473dd487ccc94941a51a2a4146d5c7f4905b6ed873cb951b638", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 1 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_CORE.json new file mode 100644 index 0000000..6d6ccd4 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-006:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:52c9600b87a2330ff4ebc92c15e8ecde44a9f566b7571e0f9b73d292709d6e7d", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:52c9600b87a2330ff4ebc92c15e8ecde44a9f566b7571e0f9b73d292709d6e7d", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..e30ff55 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-006:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:87e7641cde3e70cae42634fbda05b5c599d82911a2f629d07e0e814f0cf3b9d8", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:87e7641cde3e70cae42634fbda05b5c599d82911a2f629d07e0e814f0cf3b9d8", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_CORE.json new file mode 100644 index 0000000..57417dc --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-007:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:2d87f2a2c341e57a1ff54d6dc7c7b4742a18227aa8053512b3e5442912a21a46", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:2d87f2a2c341e57a1ff54d6dc7c7b4742a18227aa8053512b3e5442912a21a46", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..c03bdd3 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-007:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:ac1a3825e96668e824e17a3b3f91ee0cd5c62a25d2275e7bb0352412d4414ee5", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:ac1a3825e96668e824e17a3b3f91ee0cd5c62a25d2275e7bb0352412d4414ee5", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_CORE.json new file mode 100644 index 0000000..fef0f81 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-008:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:8b165bb6856c43c37263c5c560ad5ea28e0e2023c1a919dc1270f0299c662ed9", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:8b165bb6856c43c37263c5c560ad5ea28e0e2023c1a919dc1270f0299c662ed9", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..f126589 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-008:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:38264420e638b2842e987a2dc0f8187f73ad78f6ceae7e57296b93c175306e31", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:38264420e638b2842e987a2dc0f8187f73ad78f6ceae7e57296b93c175306e31", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_CORE.json new file mode 100644 index 0000000..625652b --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-009:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:98f67da59c2bd7b5f3c5cca95bbe91da7bdfd92fd2b8f5874752910d94558ec1", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 4, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 185, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 39, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "39/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:98f67da59c2bd7b5f3c5cca95bbe91da7bdfd92fd2b8f5874752910d94558ec1", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 9 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..d08938a --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-009:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:7333d19253e50b408a0a0d3f28f72c2c646edbf9ba1277083e852c0c1d316239", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 4, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 185, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 39, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "39/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:7333d19253e50b408a0a0d3f28f72c2c646edbf9ba1277083e852c0c1d316239", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 9 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_CORE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_CORE.json new file mode 100644 index 0000000..c0633fd --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-010:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:53c733b92e6152b802a364b892e001b81dfaa67bc6dbe14dbe3faa2775207de1", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:53c733b92e6152b802a364b892e001b81dfaa67bc6dbe14dbe3faa2775207de1", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "PRESENT", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..83847f2 --- /dev/null +++ b/benchmark/av-exp-001/attempts/semantic-identity-defect-003/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:fab9cd599c7ee7e83cfd16bd6c29e5dbd82dcdf189c2ab79691a81e155d31dbd" + }, + "run": { + "id": "AVS-010:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:6af0dd8e86733c3cde19cdea108c50f0a7460f948f1ec7786039c47809b1b131", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:6af0dd8e86733c3cde19cdea108c50f0a7460f948f1ec7786039c47809b1b131", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "PRESENT", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/publish.mjs b/benchmark/av-exp-001/publish.mjs new file mode 100755 index 0000000..11b0fe1 --- /dev/null +++ b/benchmark/av-exp-001/publish.mjs @@ -0,0 +1,225 @@ +#!/usr/bin/env node +import { createHash } from 'node:crypto'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import { + buildValueReceipt, + contentIdentity, + validateShadowBenchmarkResult, +} from '../../src/index.js'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const repoRoot = path.resolve(here, '../..'); +const resultsDir = path.join(here, 'results-v2'); +const catalog = JSON.parse(fs.readFileSync(path.join(here, 'preregistration-v1', 'catalog.json'), 'utf8')); + +function readJson(file) { + return JSON.parse(fs.readFileSync(file, 'utf8')); +} + +function writeJson(file, value) { + fs.mkdirSync(path.dirname(file), { recursive: true }); + fs.writeFileSync(file, `${JSON.stringify(value, null, 2)}\n`); +} + +function sha256File(file) { + return `sha256:${createHash('sha256').update(fs.readFileSync(file)).digest('hex')}`; +} + +function sum(values) { + return values.reduce((total, value) => total + value, 0); +} + +function median(values) { + const sorted = [...values].sort((a, b) => a - b); + return sorted.length % 2 ? sorted[(sorted.length - 1) / 2] + : (sorted[sorted.length / 2 - 1] + sorted[sorted.length / 2]) / 2; +} + +function durationSummary(values) { + return { + count: values.length, + minimum_ms: Math.min(...values), + median_ms: median(values), + maximum_ms: Math.max(...values), + class: 'OBSERVED', + claim_limit: 'Direct wall-clock observations only; no causal time-saved claim.', + }; +} + +function receiptFor(result, armId) { + const arm = result.arms[armId]; + const selected = new Set(arm.selected_check_ids); + const plan = { + plan_identity: arm.plan_identity, + provenance: { + verification_catalog_identity: result.verification_catalog_identity, + policy_identity: result.planner.policy_identity, + }, + selected_checks: catalog.checks.filter((check) => selected.has(check.id)).map((check) => ({ + id: check.id, + type: check.type, + test_executions: check.test_executions, + })), + skipped_checks: catalog.checks.filter((check) => !selected.has(check.id)).map((check) => ({ + id: check.id, + type: check.type, + test_executions: check.test_executions, + })), + sufficiency: arm.sufficiency, + uncertainty: arm.uncertainty, + }; + const receipt = buildValueReceipt(plan, { + mechanismRevision: result.planner.version, + runId: `${result.scenario.id}:${armId}`, + }); + receipt.run.repository = 'https://github.com/pmndrs/zustand.git'; + receipt.run.task_classification = 'AV-EXP-001_CALIBRATION_SHADOW'; + receipt.limitations.push('The authoritative FULL arm still executed; this receipt describes a predicted plan only.'); + return receipt; +} + +const scenarioDir = path.join(resultsDir, 'scenarios'); +const results = fs.readdirSync(scenarioDir).sort().map((name) => { + const result = readJson(path.join(scenarioDir, name)); + validateShadowBenchmarkResult(result); + return result; +}); +const summary = readJson(path.join(resultsDir, 'summary.json')); + +for (const result of results) { + for (const armId of ['AV_CORE', 'AV_WITH_NATIVE_EVIDENCE']) { + writeJson(path.join(resultsDir, 'value-receipts', `${result.scenario.id}-${armId}.json`), receiptFor(result, armId)); + } +} + +const armIds = ['FULL', 'NATIVE', 'AV_CORE', 'AV_WITH_NATIVE_EVIDENCE']; +const workload = Object.fromEntries(armIds.map((armId) => [armId, { + test_files: { available: 0, selected: 0, skipped: 0 }, + test_executions: { available: 0, selected: 0, skipped: 0 }, + non_test_checks: { available: 0, selected: 0, skipped: 0 }, +}])); +for (const result of results) { + for (const armId of armIds) { + const value = result.workload.arms[armId]; + for (const unit of ['test_files', 'test_executions']) { + for (const field of ['available', 'selected', 'skipped']) workload[armId][unit][field] += value[unit][field]; + } + for (const typeValue of Object.values(value.non_test_checks)) { + for (const field of ['available', 'selected', 'skipped']) workload[armId].non_test_checks[field] += typeValue[field]; + } + } +} + +const baselineTotals = fs.readdirSync(path.join(resultsDir, 'baseline')) + .filter((name) => /^baseline-\d+\.json$/.test(name)) + .sort() + .map((name) => sum(readJson(path.join(resultsDir, 'baseline', name)).observed_durations_ms.map((item) => item.duration_ms))); +const fullTotals = fs.readdirSync(path.join(resultsDir, 'full')).sort() + .map((name) => sum(readJson(path.join(resultsDir, 'full', name)).observed_durations_ms.map((item) => item.duration_ms))); +const nativeDurations = results.map((result) => { + const record = readJson(path.join(resultsDir, 'raw', result.scenario.id, `${result.scenario.id}-native.execution.json`)); + return record.duration_ms_observed; +}); + +const perScenario = Object.fromEntries(results.map((result) => [result.scenario.id, { + relevant_check_ids: result.oracle.relevant_check_ids, + NATIVE: { + selected_test_executions: result.workload.arms.NATIVE.test_executions.selected, + skipped_test_executions: result.workload.arms.NATIVE.test_executions.skipped, + selection_misses: result.arms.NATIVE.selection_misses, + }, + AV_CORE: { + selected_test_executions: result.workload.arms.AV_CORE.test_executions.selected, + skipped_test_executions: result.workload.arms.AV_CORE.test_executions.skipped, + sufficiency: result.arms.AV_CORE.sufficiency, + escalation: result.arms.AV_CORE.escalation, + selection_misses: result.arms.AV_CORE.selection_misses, + }, + AV_WITH_NATIVE_EVIDENCE: { + selected_test_executions: result.workload.arms.AV_WITH_NATIVE_EVIDENCE.test_executions.selected, + skipped_test_executions: result.workload.arms.AV_WITH_NATIVE_EVIDENCE.test_executions.skipped, + sufficiency: result.arms.AV_WITH_NATIVE_EVIDENCE.sufficiency, + escalation: result.arms.AV_WITH_NATIVE_EVIDENCE.escalation, + selection_misses: result.arms.AV_WITH_NATIVE_EVIDENCE.selection_misses, + }, +}])); + +const analysisWithoutIdentity = { + schema: 'opsle.affected-verification.shadow-benchmark-analysis.v1', + experiment_id: 'AV-EXP-001', + summary_identity: summary.summary_identity, + target: summary.target, + corpus: { + scenarios: results.length, + synthetic_faults: 6, + synthetic_benign_change_shapes: 4, + scenarios_with_relevant_failures: summary.scenarios_with_relevant_failures, + relevant_checks: 8, + }, + safety: summary.selector_results, + workload: { + class: 'EXACT', + units_not_combined: true, + aggregate_across_10_scenarios: workload, + per_scenario: perScenario, + claim_limit: 'Proposed plan counts only; no correctness, cost, or causal savings claim.', + }, + behavior: { + av_full_escalations: results.filter((result) => result.arms.AV_CORE.escalation?.state === 'FULL').map((result) => result.scenario.id), + av_policy_broadened: results.filter((result) => result.arms.AV_CORE.escalation?.state === 'BROADENED').map((result) => result.scenario.id), + av_insufficient_evidence: results.filter((result) => result.arms.AV_CORE.sufficiency === 'INSUFFICIENT_EVIDENCE').map((result) => result.scenario.id), + native_test_selection_narrower_than_av: results.filter((result) => result.workload.arms.NATIVE.test_executions.selected < result.workload.arms.AV_CORE.test_executions.selected).map((result) => result.scenario.id), + av_core_test_selection_narrower_than_native: results.filter((result) => result.workload.arms.AV_CORE.test_executions.selected < result.workload.arms.NATIVE.test_executions.selected).map((result) => result.scenario.id), + native_evidence_changed_av_test_count: results.filter((result) => result.workload.arms.AV_CORE.test_executions.selected !== result.workload.arms.AV_WITH_NATIVE_EVIDENCE.test_executions.selected).map((result) => result.scenario.id), + av_added_non_test_policy_checks_to_native: results.map((result) => result.scenario.id), + }, + runtime_observed: { + baseline_full_catalog: durationSummary(baselineTotals), + scenario_full_catalog: durationSummary(fullTotals), + native_selector_execution: durationSummary(nativeDurations), + }, + trust_decision: { + stage: 'SHADOW', + decision: 'REMAIN_SHADOW', + reason: 'First calibration, synthetic faults, one repository and ecosystem, and no independent qualifying replication do not justify bounded trust.', + }, +}; +const analysis = { + ...analysisWithoutIdentity, + analysis_identity: contentIdentity({ ...analysisWithoutIdentity, runtime_observed: undefined }), +}; +writeJson(path.join(resultsDir, 'analysis.json'), analysis); + +const bundleFiles = []; +function collect(dir) { + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) collect(full); + else if (!full.endsWith('evidence-manifest.json')) bundleFiles.push(full); + } +} +collect(resultsDir); +const files = Object.fromEntries(bundleFiles.sort().map((file) => [ + path.relative(resultsDir, file).split(path.sep).join('/'), + sha256File(file), +])); +const manifestWithoutIdentity = { + schema: 'opsle.affected-verification.evidence-bundle-manifest.v1', + semantic_summary_identity: summary.summary_identity, + semantic_analysis_identity: analysis.analysis_identity, + files, + timing_note: 'Evidence bundle hashes may vary when raw observed telemetry varies; semantic summary and analysis identities exclude timing.', +}; +writeJson(path.join(resultsDir, 'evidence-manifest.json'), { + ...manifestWithoutIdentity, + evidence_bundle_identity: contentIdentity(manifestWithoutIdentity), +}); + +console.log(JSON.stringify({ + summary_identity: summary.summary_identity, + analysis_identity: analysis.analysis_identity, + evidence_bundle_identity: readJson(path.join(resultsDir, 'evidence-manifest.json')).evidence_bundle_identity, +}, null, 2)); diff --git a/benchmark/av-exp-001/reproduce.sh b/benchmark/av-exp-001/reproduce.sh index 0057ca3..bc0fbf7 100755 --- a/benchmark/av-exp-001/reproduce.sh +++ b/benchmark/av-exp-001/reproduce.sh @@ -4,7 +4,7 @@ set -euo pipefail root="$(cd "$(dirname "$0")/../.." && pwd)" target="${AV_TARGET:-/tmp/av-exp-001-target}" scratch="${AV_SCRATCH:-/tmp/av-exp-001-scratch}" -results="$root/benchmark/av-exp-001/results-v1" +results="$root/benchmark/av-exp-001/results-v2" if [[ ! -d "$target/.git" ]]; then node "$root/benchmark/av-exp-001/run.mjs" \ diff --git a/benchmark/av-exp-001/run.mjs b/benchmark/av-exp-001/run.mjs index 88dae78..12310bc 100755 --- a/benchmark/av-exp-001/run.mjs +++ b/benchmark/av-exp-001/run.mjs @@ -24,6 +24,7 @@ const preregistrationSha = '0544362d7659093b7f0b4f89ee8f68023fd269c3'; const amendmentIdentities = [ 'sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357', 'sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e', + 'sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde', ]; function readJson(file) { @@ -100,7 +101,11 @@ function verifyPreregistration() { throw new Error(`scenario patch/hash mismatch: ${scenario.id}`); } } - const amendmentFiles = ['001-worktree-install.md', '002-reporter-semantics.md']; + const amendmentFiles = [ + '001-worktree-install.md', + '002-reporter-semantics.md', + '003-artifact-path-normalization.md', + ]; amendmentFiles.forEach((name, index) => { const amendmentText = fs.readFileSync(path.join(here, 'amendments', name), 'utf8'); const amendmentBody = amendmentText.split('\nAmendment identity:\n')[0] + '\n'; @@ -231,7 +236,8 @@ function runFullCatalog(worktree, rawDir, catalog, runId) { outcomes: Object.fromEntries([...outcomes.entries()].sort()), complete, command_outcomes: commandRecords.map((record) => ({ - command: record.command, + command: record.command.map((token) => token.startsWith('--outputFile=') + ? '--outputFile=' : token), exit_code: record.exit_code, signal: record.signal, timed_out: record.timed_out, From 97f0301c28e9840e18c5aa35a6cbf95b95f7c6cf Mon Sep 17 00:00:00 2001 From: Deploy Date: Mon, 31 Aug 2026 02:56:58 +0000 Subject: [PATCH 5/5] Publish AV-EXP-001 shadow benchmark results --- .gitleaks.toml | 12 + BENCHMARK.md | 13 +- LIMITATIONS.md | 8 +- README.md | 5 +- benchmark/av-exp-001/REPORT.md | 177 +++++ benchmark/av-exp-001/publish.mjs | 4 +- benchmark/av-exp-001/reproduce.sh | 2 +- benchmark/av-exp-001/results-v2/analysis.json | 531 +++++++++++++++ .../results-v2/baseline/baseline-1.json | 175 +++++ .../results-v2/baseline/baseline-2.json | 175 +++++ .../results-v2/baseline/baseline-3.json | 175 +++++ .../results-v2/baseline/baseline-summary.json | 235 +++++++ .../results-v2/evidence-manifest.json | 324 +++++++++ .../av-exp-001/results-v2/full/AVS-001.json | 175 +++++ .../av-exp-001/results-v2/full/AVS-002.json | 177 +++++ .../av-exp-001/results-v2/full/AVS-003.json | 178 +++++ .../av-exp-001/results-v2/full/AVS-004.json | 177 +++++ .../av-exp-001/results-v2/full/AVS-005.json | 177 +++++ .../av-exp-001/results-v2/full/AVS-006.json | 175 +++++ .../av-exp-001/results-v2/full/AVS-007.json | 175 +++++ .../av-exp-001/results-v2/full/AVS-008.json | 177 +++++ .../av-exp-001/results-v2/full/AVS-009.json | 178 +++++ .../av-exp-001/results-v2/full/AVS-010.json | 175 +++++ .../av-exp-001/results-v2/oracle/AVS-001.json | 8 + .../av-exp-001/results-v2/oracle/AVS-002.json | 10 + .../av-exp-001/results-v2/oracle/AVS-003.json | 11 + .../av-exp-001/results-v2/oracle/AVS-004.json | 10 + .../av-exp-001/results-v2/oracle/AVS-005.json | 10 + .../av-exp-001/results-v2/oracle/AVS-006.json | 8 + .../av-exp-001/results-v2/oracle/AVS-007.json | 8 + .../av-exp-001/results-v2/oracle/AVS-008.json | 10 + .../av-exp-001/results-v2/oracle/AVS-009.json | 11 + .../av-exp-001/results-v2/oracle/AVS-010.json | 8 + .../raw/AVS-001/AVS-001-build.execution.json | 15 + .../raw/AVS-001/AVS-001-build.stderr.log | 8 + .../raw/AVS-001/AVS-001-build.stdout.log | 59 ++ .../raw/AVS-001/AVS-001-format.execution.json | 15 + .../raw/AVS-001/AVS-001-format.stderr.log | 1 + .../raw/AVS-001/AVS-001-format.stdout.log | 2 + .../raw/AVS-001/AVS-001-lint.execution.json | 15 + .../raw/AVS-001/AVS-001-lint.stderr.log | 1 + .../raw/AVS-001/AVS-001-lint.stdout.log | 2 + .../raw/AVS-001/AVS-001-native.execution.json | 20 + .../raw/AVS-001/AVS-001-native.stderr.log | 0 .../raw/AVS-001/AVS-001-native.stdout.log | 3 + .../raw/AVS-001/AVS-001-native.vitest.json | 1 + .../raw/AVS-001/AVS-001-tests.execution.json | 18 + .../raw/AVS-001/AVS-001-tests.stderr.log | 0 .../raw/AVS-001/AVS-001-tests.stdout.log | 3 + .../raw/AVS-001/AVS-001-tests.vitest.json | 1 + .../AVS-001/AVS-001-typecheck.execution.json | 15 + .../raw/AVS-001/AVS-001-typecheck.stderr.log | 1 + .../raw/AVS-001/AVS-001-typecheck.stdout.log | 2 + .../raw/AVS-002/AVS-002-build.execution.json | 15 + .../raw/AVS-002/AVS-002-build.stderr.log | 8 + .../raw/AVS-002/AVS-002-build.stdout.log | 59 ++ .../raw/AVS-002/AVS-002-format.execution.json | 15 + .../raw/AVS-002/AVS-002-format.stderr.log | 1 + .../raw/AVS-002/AVS-002-format.stdout.log | 2 + .../raw/AVS-002/AVS-002-lint.execution.json | 15 + .../raw/AVS-002/AVS-002-lint.stderr.log | 1 + .../raw/AVS-002/AVS-002-lint.stdout.log | 2 + .../raw/AVS-002/AVS-002-native.execution.json | 20 + .../raw/AVS-002/AVS-002-native.stderr.log | 0 .../raw/AVS-002/AVS-002-native.stdout.log | 3 + .../raw/AVS-002/AVS-002-native.vitest.json | 1 + .../raw/AVS-002/AVS-002-tests.execution.json | 18 + .../raw/AVS-002/AVS-002-tests.stderr.log | 0 .../raw/AVS-002/AVS-002-tests.stdout.log | 3 + .../raw/AVS-002/AVS-002-tests.vitest.json | 1 + .../AVS-002/AVS-002-typecheck.execution.json | 15 + .../raw/AVS-002/AVS-002-typecheck.stderr.log | 1 + .../raw/AVS-002/AVS-002-typecheck.stdout.log | 2 + .../raw/AVS-003/AVS-003-build.execution.json | 15 + .../raw/AVS-003/AVS-003-build.stderr.log | 8 + .../raw/AVS-003/AVS-003-build.stdout.log | 59 ++ .../raw/AVS-003/AVS-003-format.execution.json | 15 + .../raw/AVS-003/AVS-003-format.stderr.log | 1 + .../raw/AVS-003/AVS-003-format.stdout.log | 2 + .../raw/AVS-003/AVS-003-lint.execution.json | 15 + .../raw/AVS-003/AVS-003-lint.stderr.log | 1 + .../raw/AVS-003/AVS-003-lint.stdout.log | 9 + .../raw/AVS-003/AVS-003-native.execution.json | 20 + .../raw/AVS-003/AVS-003-native.stderr.log | 0 .../raw/AVS-003/AVS-003-native.stdout.log | 3 + .../raw/AVS-003/AVS-003-native.vitest.json | 1 + .../raw/AVS-003/AVS-003-tests.execution.json | 18 + .../raw/AVS-003/AVS-003-tests.stderr.log | 0 .../raw/AVS-003/AVS-003-tests.stdout.log | 3 + .../raw/AVS-003/AVS-003-tests.vitest.json | 1 + .../AVS-003/AVS-003-typecheck.execution.json | 15 + .../raw/AVS-003/AVS-003-typecheck.stderr.log | 1 + .../raw/AVS-003/AVS-003-typecheck.stdout.log | 2 + .../raw/AVS-004/AVS-004-build.execution.json | 15 + .../raw/AVS-004/AVS-004-build.stderr.log | 8 + .../raw/AVS-004/AVS-004-build.stdout.log | 59 ++ .../raw/AVS-004/AVS-004-format.execution.json | 15 + .../raw/AVS-004/AVS-004-format.stderr.log | 1 + .../raw/AVS-004/AVS-004-format.stdout.log | 2 + .../raw/AVS-004/AVS-004-lint.execution.json | 15 + .../raw/AVS-004/AVS-004-lint.stderr.log | 1 + .../raw/AVS-004/AVS-004-lint.stdout.log | 2 + .../raw/AVS-004/AVS-004-native.execution.json | 20 + .../raw/AVS-004/AVS-004-native.stderr.log | 0 .../raw/AVS-004/AVS-004-native.stdout.log | 3 + .../raw/AVS-004/AVS-004-native.vitest.json | 1 + .../raw/AVS-004/AVS-004-tests.execution.json | 18 + .../raw/AVS-004/AVS-004-tests.stderr.log | 0 .../raw/AVS-004/AVS-004-tests.stdout.log | 3 + .../raw/AVS-004/AVS-004-tests.vitest.json | 1 + .../AVS-004/AVS-004-typecheck.execution.json | 15 + .../raw/AVS-004/AVS-004-typecheck.stderr.log | 1 + .../raw/AVS-004/AVS-004-typecheck.stdout.log | 2 + .../raw/AVS-005/AVS-005-build.execution.json | 15 + .../raw/AVS-005/AVS-005-build.stderr.log | 8 + .../raw/AVS-005/AVS-005-build.stdout.log | 59 ++ .../raw/AVS-005/AVS-005-format.execution.json | 15 + .../raw/AVS-005/AVS-005-format.stderr.log | 1 + .../raw/AVS-005/AVS-005-format.stdout.log | 2 + .../raw/AVS-005/AVS-005-lint.execution.json | 15 + .../raw/AVS-005/AVS-005-lint.stderr.log | 1 + .../raw/AVS-005/AVS-005-lint.stdout.log | 2 + .../raw/AVS-005/AVS-005-native.execution.json | 20 + .../raw/AVS-005/AVS-005-native.stderr.log | 0 .../raw/AVS-005/AVS-005-native.stdout.log | 3 + .../raw/AVS-005/AVS-005-native.vitest.json | 1 + .../raw/AVS-005/AVS-005-tests.execution.json | 18 + .../raw/AVS-005/AVS-005-tests.stderr.log | 0 .../raw/AVS-005/AVS-005-tests.stdout.log | 3 + .../raw/AVS-005/AVS-005-tests.vitest.json | 1 + .../AVS-005/AVS-005-typecheck.execution.json | 15 + .../raw/AVS-005/AVS-005-typecheck.stderr.log | 1 + .../raw/AVS-005/AVS-005-typecheck.stdout.log | 2 + .../raw/AVS-006/AVS-006-build.execution.json | 15 + .../raw/AVS-006/AVS-006-build.stderr.log | 8 + .../raw/AVS-006/AVS-006-build.stdout.log | 59 ++ .../raw/AVS-006/AVS-006-format.execution.json | 15 + .../raw/AVS-006/AVS-006-format.stderr.log | 1 + .../raw/AVS-006/AVS-006-format.stdout.log | 2 + .../raw/AVS-006/AVS-006-lint.execution.json | 15 + .../raw/AVS-006/AVS-006-lint.stderr.log | 1 + .../raw/AVS-006/AVS-006-lint.stdout.log | 2 + .../raw/AVS-006/AVS-006-native.execution.json | 20 + .../raw/AVS-006/AVS-006-native.stderr.log | 0 .../raw/AVS-006/AVS-006-native.stdout.log | 3 + .../raw/AVS-006/AVS-006-native.vitest.json | 1 + .../raw/AVS-006/AVS-006-tests.execution.json | 18 + .../raw/AVS-006/AVS-006-tests.stderr.log | 0 .../raw/AVS-006/AVS-006-tests.stdout.log | 3 + .../raw/AVS-006/AVS-006-tests.vitest.json | 1 + .../AVS-006/AVS-006-typecheck.execution.json | 15 + .../raw/AVS-006/AVS-006-typecheck.stderr.log | 1 + .../raw/AVS-006/AVS-006-typecheck.stdout.log | 2 + .../raw/AVS-007/AVS-007-build.execution.json | 15 + .../raw/AVS-007/AVS-007-build.stderr.log | 8 + .../raw/AVS-007/AVS-007-build.stdout.log | 59 ++ .../raw/AVS-007/AVS-007-format.execution.json | 15 + .../raw/AVS-007/AVS-007-format.stderr.log | 1 + .../raw/AVS-007/AVS-007-format.stdout.log | 2 + .../raw/AVS-007/AVS-007-lint.execution.json | 15 + .../raw/AVS-007/AVS-007-lint.stderr.log | 1 + .../raw/AVS-007/AVS-007-lint.stdout.log | 2 + .../raw/AVS-007/AVS-007-native.execution.json | 20 + .../raw/AVS-007/AVS-007-native.stderr.log | 0 .../raw/AVS-007/AVS-007-native.stdout.log | 3 + .../raw/AVS-007/AVS-007-native.vitest.json | 1 + .../raw/AVS-007/AVS-007-tests.execution.json | 18 + .../raw/AVS-007/AVS-007-tests.stderr.log | 0 .../raw/AVS-007/AVS-007-tests.stdout.log | 3 + .../raw/AVS-007/AVS-007-tests.vitest.json | 1 + .../AVS-007/AVS-007-typecheck.execution.json | 15 + .../raw/AVS-007/AVS-007-typecheck.stderr.log | 1 + .../raw/AVS-007/AVS-007-typecheck.stdout.log | 2 + .../raw/AVS-008/AVS-008-build.execution.json | 15 + .../raw/AVS-008/AVS-008-build.stderr.log | 8 + .../raw/AVS-008/AVS-008-build.stdout.log | 59 ++ .../raw/AVS-008/AVS-008-format.execution.json | 15 + .../raw/AVS-008/AVS-008-format.stderr.log | 1 + .../raw/AVS-008/AVS-008-format.stdout.log | 2 + .../raw/AVS-008/AVS-008-lint.execution.json | 15 + .../raw/AVS-008/AVS-008-lint.stderr.log | 1 + .../raw/AVS-008/AVS-008-lint.stdout.log | 2 + .../raw/AVS-008/AVS-008-native.execution.json | 20 + .../raw/AVS-008/AVS-008-native.stderr.log | 0 .../raw/AVS-008/AVS-008-native.stdout.log | 3 + .../raw/AVS-008/AVS-008-native.vitest.json | 1 + .../raw/AVS-008/AVS-008-tests.execution.json | 18 + .../raw/AVS-008/AVS-008-tests.stderr.log | 0 .../raw/AVS-008/AVS-008-tests.stdout.log | 3 + .../raw/AVS-008/AVS-008-tests.vitest.json | 1 + .../AVS-008/AVS-008-typecheck.execution.json | 15 + .../raw/AVS-008/AVS-008-typecheck.stderr.log | 1 + .../raw/AVS-008/AVS-008-typecheck.stdout.log | 337 +++++++++ .../raw/AVS-009/AVS-009-build.execution.json | 15 + .../raw/AVS-009/AVS-009-build.stderr.log | 8 + .../raw/AVS-009/AVS-009-build.stdout.log | 59 ++ .../raw/AVS-009/AVS-009-format.execution.json | 15 + .../raw/AVS-009/AVS-009-format.stderr.log | 1 + .../raw/AVS-009/AVS-009-format.stdout.log | 2 + .../raw/AVS-009/AVS-009-lint.execution.json | 15 + .../raw/AVS-009/AVS-009-lint.stderr.log | 1 + .../raw/AVS-009/AVS-009-lint.stdout.log | 2 + .../raw/AVS-009/AVS-009-native.execution.json | 21 + .../raw/AVS-009/AVS-009-native.stderr.log | 0 .../raw/AVS-009/AVS-009-native.stdout.log | 3 + .../raw/AVS-009/AVS-009-native.vitest.json | 1 + .../raw/AVS-009/AVS-009-tests.execution.json | 18 + .../raw/AVS-009/AVS-009-tests.stderr.log | 0 .../raw/AVS-009/AVS-009-tests.stdout.log | 3 + .../raw/AVS-009/AVS-009-tests.vitest.json | 1 + .../AVS-009/AVS-009-typecheck.execution.json | 15 + .../raw/AVS-009/AVS-009-typecheck.stderr.log | 1 + .../raw/AVS-009/AVS-009-typecheck.stdout.log | 2 + .../raw/AVS-010/AVS-010-build.execution.json | 15 + .../raw/AVS-010/AVS-010-build.stderr.log | 8 + .../raw/AVS-010/AVS-010-build.stdout.log | 59 ++ .../raw/AVS-010/AVS-010-format.execution.json | 15 + .../raw/AVS-010/AVS-010-format.stderr.log | 1 + .../raw/AVS-010/AVS-010-format.stdout.log | 2 + .../raw/AVS-010/AVS-010-lint.execution.json | 15 + .../raw/AVS-010/AVS-010-lint.stderr.log | 1 + .../raw/AVS-010/AVS-010-lint.stdout.log | 2 + .../raw/AVS-010/AVS-010-native.execution.json | 20 + .../raw/AVS-010/AVS-010-native.stderr.log | 0 .../raw/AVS-010/AVS-010-native.stdout.log | 3 + .../raw/AVS-010/AVS-010-native.vitest.json | 1 + .../raw/AVS-010/AVS-010-tests.execution.json | 18 + .../raw/AVS-010/AVS-010-tests.stderr.log | 0 .../raw/AVS-010/AVS-010-tests.stdout.log | 3 + .../raw/AVS-010/AVS-010-tests.vitest.json | 1 + .../AVS-010/AVS-010-typecheck.execution.json | 15 + .../raw/AVS-010/AVS-010-typecheck.stderr.log | 1 + .../raw/AVS-010/AVS-010-typecheck.stdout.log | 2 + .../baseline-1-build.execution.json | 15 + .../baseline-1/baseline-1-build.stderr.log | 8 + .../baseline-1/baseline-1-build.stdout.log | 59 ++ .../baseline-1-format.execution.json | 15 + .../baseline-1/baseline-1-format.stderr.log | 1 + .../baseline-1/baseline-1-format.stdout.log | 2 + .../baseline-1/baseline-1-lint.execution.json | 15 + .../raw/baseline-1/baseline-1-lint.stderr.log | 1 + .../raw/baseline-1/baseline-1-lint.stdout.log | 2 + .../baseline-1-tests.execution.json | 18 + .../baseline-1/baseline-1-tests.stderr.log | 0 .../baseline-1/baseline-1-tests.stdout.log | 3 + .../baseline-1/baseline-1-tests.vitest.json | 1 + .../baseline-1-typecheck.execution.json | 15 + .../baseline-1-typecheck.stderr.log | 1 + .../baseline-1-typecheck.stdout.log | 2 + .../baseline-2-build.execution.json | 15 + .../baseline-2/baseline-2-build.stderr.log | 8 + .../baseline-2/baseline-2-build.stdout.log | 59 ++ .../baseline-2-format.execution.json | 15 + .../baseline-2/baseline-2-format.stderr.log | 1 + .../baseline-2/baseline-2-format.stdout.log | 2 + .../baseline-2/baseline-2-lint.execution.json | 15 + .../raw/baseline-2/baseline-2-lint.stderr.log | 1 + .../raw/baseline-2/baseline-2-lint.stdout.log | 2 + .../baseline-2-tests.execution.json | 18 + .../baseline-2/baseline-2-tests.stderr.log | 0 .../baseline-2/baseline-2-tests.stdout.log | 3 + .../baseline-2/baseline-2-tests.vitest.json | 1 + .../baseline-2-typecheck.execution.json | 15 + .../baseline-2-typecheck.stderr.log | 1 + .../baseline-2-typecheck.stdout.log | 2 + .../baseline-3-build.execution.json | 15 + .../baseline-3/baseline-3-build.stderr.log | 8 + .../baseline-3/baseline-3-build.stdout.log | 59 ++ .../baseline-3-format.execution.json | 15 + .../baseline-3/baseline-3-format.stderr.log | 1 + .../baseline-3/baseline-3-format.stdout.log | 2 + .../baseline-3/baseline-3-lint.execution.json | 15 + .../raw/baseline-3/baseline-3-lint.stderr.log | 1 + .../raw/baseline-3/baseline-3-lint.stdout.log | 2 + .../baseline-3-tests.execution.json | 18 + .../baseline-3/baseline-3-tests.stderr.log | 0 .../baseline-3/baseline-3-tests.stdout.log | 3 + .../baseline-3/baseline-3-tests.vitest.json | 1 + .../baseline-3-typecheck.execution.json | 15 + .../baseline-3-typecheck.stderr.log | 1 + .../baseline-3-typecheck.stdout.log | 2 + .../av-exp-001/results-v2/reproduction.json | 27 + .../results-v2/scenarios/AVS-001.json | 501 ++++++++++++++ .../results-v2/scenarios/AVS-002.json | 620 +++++++++++++++++ .../results-v2/scenarios/AVS-003.json | 404 +++++++++++ .../results-v2/scenarios/AVS-004.json | 505 ++++++++++++++ .../results-v2/scenarios/AVS-005.json | 643 ++++++++++++++++++ .../results-v2/scenarios/AVS-006.json | 461 +++++++++++++ .../results-v2/scenarios/AVS-007.json | 371 ++++++++++ .../results-v2/scenarios/AVS-008.json | 402 +++++++++++ .../results-v2/scenarios/AVS-009.json | 462 +++++++++++++ .../results-v2/scenarios/AVS-010.json | 407 +++++++++++ benchmark/av-exp-001/results-v2/summary.json | 72 ++ .../results-v2/telemetry/AVS-001.txt | 8 + .../results-v2/telemetry/AVS-002.txt | 8 + .../results-v2/telemetry/AVS-003.txt | 8 + .../results-v2/telemetry/AVS-004.txt | 8 + .../results-v2/telemetry/AVS-005.txt | 8 + .../results-v2/telemetry/AVS-006.txt | 8 + .../results-v2/telemetry/AVS-007.txt | 8 + .../results-v2/telemetry/AVS-008.txt | 8 + .../results-v2/telemetry/AVS-009.txt | 8 + .../results-v2/telemetry/AVS-010.txt | 6 + .../value-receipts/AVS-001-AV_CORE.json | 190 ++++++ .../AVS-001-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-002-AV_CORE.json | 190 ++++++ .../AVS-002-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-003-AV_CORE.json | 190 ++++++ .../AVS-003-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-004-AV_CORE.json | 190 ++++++ .../AVS-004-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-005-AV_CORE.json | 190 ++++++ .../AVS-005-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-006-AV_CORE.json | 190 ++++++ .../AVS-006-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-007-AV_CORE.json | 190 ++++++ .../AVS-007-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-008-AV_CORE.json | 190 ++++++ .../AVS-008-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-009-AV_CORE.json | 190 ++++++ .../AVS-009-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ .../value-receipts/AVS-010-AV_CORE.json | 190 ++++++ .../AVS-010-AV_WITH_NATIVE_EVIDENCE.json | 190 ++++++ benchmark/av-exp-001/verify-results.mjs | 118 ++++ package.json | 2 +- 325 files changed, 15192 insertions(+), 12 deletions(-) create mode 100644 .gitleaks.toml create mode 100644 benchmark/av-exp-001/REPORT.md create mode 100644 benchmark/av-exp-001/results-v2/analysis.json create mode 100644 benchmark/av-exp-001/results-v2/baseline/baseline-1.json create mode 100644 benchmark/av-exp-001/results-v2/baseline/baseline-2.json create mode 100644 benchmark/av-exp-001/results-v2/baseline/baseline-3.json create mode 100644 benchmark/av-exp-001/results-v2/baseline/baseline-summary.json create mode 100644 benchmark/av-exp-001/results-v2/evidence-manifest.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-001.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-002.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-003.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-004.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-005.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-006.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-007.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-008.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-009.json create mode 100644 benchmark/av-exp-001/results-v2/full/AVS-010.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-001.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-002.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-003.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-004.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-005.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-006.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-007.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-008.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-009.json create mode 100644 benchmark/av-exp-001/results-v2/oracle/AVS-010.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.execution.json create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stderr.log create mode 100644 benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stdout.log create mode 100644 benchmark/av-exp-001/results-v2/reproduction.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-001.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-002.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-003.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-004.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-005.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-006.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-007.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-008.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-009.json create mode 100644 benchmark/av-exp-001/results-v2/scenarios/AVS-010.json create mode 100644 benchmark/av-exp-001/results-v2/summary.json create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-001.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-002.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-003.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-004.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-005.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-006.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-007.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-008.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-009.txt create mode 100644 benchmark/av-exp-001/results-v2/telemetry/AVS-010.txt create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_CORE.json create mode 100644 benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json create mode 100644 benchmark/av-exp-001/verify-results.mjs diff --git a/.gitleaks.toml b/.gitleaks.toml new file mode 100644 index 0000000..5276317 --- /dev/null +++ b/.gitleaks.toml @@ -0,0 +1,12 @@ +title = "Affected Verification secret-scan policy" + +[extend] +useDefault = true + +[[allowlists]] +description = "Public immutable Git object identities used by AV-EXP-001" +regexTarget = "match" +regexes = [ + '''b57db4f86ef179285da216eeb291266da82c361c''', + '''0544362d7659093b7f0b4f89ee8f68023fd269c3''', +] diff --git a/BENCHMARK.md b/BENCHMARK.md index 1803686..4939c51 100644 --- a/BENCHMARK.md +++ b/BENCHMARK.md @@ -1,6 +1,9 @@ -# Benchmark and research plan +# Benchmark and research record -No benchmark has run and no result is claimed. +AV-EXP-001 completed the first preregistered real-repository `SHADOW` +calibration. See [benchmark/av-exp-001/REPORT.md](benchmark/av-exp-001/REPORT.md) +for the bounded result and immutable artifact identities. The method below +remains authoritative for future runs. ## Central question @@ -59,6 +62,10 @@ Unlike verification types are not added into one deceptive percentage. Counterfa - How frequently do native and composed selectors miss relevant full-run failures? - Does adding policy and non-test checks produce value above native selectors? -## Initial experiment sequence +## Experiment sequence First, freeze a real public repository with a trustworthy full-verification baseline and run in `OBSERVE`/`SHADOW`. Compare plan identities and full outcomes without replacing CI. Only after the oracle, catalog completeness, adapter fidelity, and miss classifications are independently reviewable should a bounded trust decision be considered. + +AV-EXP-001 satisfied that first calibration step for Zustand at +`b57db4f86ef179285da216eeb291266da82c361c`. It remains `SHADOW`; its absence +of observed AV misses in ten scenarios is not a bounded-trust decision. diff --git a/LIMITATIONS.md b/LIMITATIONS.md index 07e75b8..43f8da4 100644 --- a/LIMITATIONS.md +++ b/LIMITATIONS.md @@ -1,14 +1,14 @@ # Limitations and non-goals -- The prototype consumes synthetic normalized evidence; it has no Git, graph, coverage, ownership, schema, Nx, Turbo, Jest, Vitest, or testmon adapter. +- The reusable prototype still consumes normalized evidence. AV-EXP-001 adds one narrow benchmark-only Git/catalog/source-graph/Vitest adapter for pinned Zustand; it is not a general or production adapter. - The component graph and catalog completeness flags are caller claims, not independently attested. - The selection algorithm uses declared component scope and policy tags. It has no symbol/data-flow analysis, runtime coverage collection, weighted set cover, probabilistic model, or learned judgment. - Commands are opaque identities. The project does not execute, schedule, cache, distribute, retry, or report CI work. - `SUFFICIENT_*` means sufficient under the supplied model and policy, not globally safe, formally sound, or mathematically minimal. - Full catalog selection cannot compensate for an incomplete catalog; that state remains `INSUFFICIENT_EVIDENCE`. -- Shadow relevance is caller supplied. A robust real benchmark needs an independent, reproducible relevance oracle. +- AV-EXP-001 derives shadow relevance reproducibly from changed outcomes in its frozen full catalog. Other callers can still supply relevance, and one corpus does not validate every catalog or oracle. - Test execution counts are declared catalog metadata. They are exact relative to input, not observed executions. -- No real-project benchmark, comparative baseline, selection-miss corpus, computation measurement, or independent reproduction exists. -- No production trust stage is justified. This repository is at most `PROTOTYPED`. +- One preregistered real-project shadow benchmark, comparative native arm, synthetic selection-miss corpus, and same-host deterministic replay exist. There is no second ecosystem, historical real-change replay, production-quality adapter, or independent qualifying replication. +- No production trust stage is justified. AV-EXP-001 remains `SHADOW`; any lifecycle promotion is bounded to the verified prototype and frozen benchmark evidence. - No time, token, monetary, correctness, failure-prevention, or causal savings claim is supported. - Context Firewall, Decision Evidence, Agent Trajectory Profiler, Gearbox, and Opsle Tasks are external consumers or validators, not dependencies. diff --git a/README.md b/README.md index 33e1951..8291458 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,14 @@ npm run verify - [SPEC.md](SPEC.md) — normative prototype contract and sufficiency states - [PRIOR_ART.md](PRIOR_ART.md) — source-linked reconciliation with existing selectors - [ARCHITECTURE.md](ARCHITECTURE.md) — adapters, project boundaries, shadow mode, and trust ramp -- [BENCHMARK.md](BENCHMARK.md) — controlled research plan; no results are claimed +- [BENCHMARK.md](BENCHMARK.md) — controlled research method and AV-EXP-001 result +- [benchmark/av-exp-001/REPORT.md](benchmark/av-exp-001/REPORT.md) — preregistered real-repository shadow calibration - [LIMITATIONS.md](LIMITATIONS.md) — current claim ceiling and non-goals - [fixtures/scenarios.js](fixtures/scenarios.js) and [fixtures/negative-cases.js](fixtures/negative-cases.js) — twelve positive/boundary scenarios plus explicit conflicting, malformed, impossible, and tampered cases - [schemas/plan-v1.schema.json](schemas/plan-v1.schema.json) — plan shape ## Status -This is a narrow research prototype, not a trusted replacement for full verification. It has not been benchmarked on a real repository, and it has no production adapters. +This is a narrow research prototype, not a trusted replacement for full verification. AV-EXP-001 completed a preregistered shadow calibration on one pinned public repository with no observed AV miss in its frozen corpus. The result remains `SHADOW`, does not establish general safety, and does not provide a production adapter. Apache-2.0. diff --git a/benchmark/av-exp-001/REPORT.md b/benchmark/av-exp-001/REPORT.md new file mode 100644 index 0000000..3b88275 --- /dev/null +++ b/benchmark/av-exp-001/REPORT.md @@ -0,0 +1,177 @@ +# AV-EXP-001 benchmark report + +Experiment: **Minimum Defensible Verification — Real Repository Shadow +Calibration** + +## Verdict and claim boundary + +The controlled benchmark completed without a design-invalidating defect. +Affected Verification selected all eight checks that the frozen full-catalog +oracle identified as relevant in this ten-scenario corpus. The native Vitest +related-test arm selected six of eight and omitted two relevant non-test +checks. Full verification remained authoritative for every scenario. + +This is a `SHADOW` calibration result. It does not establish general safety, +correctness equivalence, causal time or cost savings, or production trust. The +precise safety claim is: **no Affected Verification selection miss was +observed in this frozen calibration corpus**. + +## Provenance + +- Starting release: `12076522c9b82501794d816f1fcc0b7775fad6e1` +- Preregistration commit: `0544362d7659093b7f0b4f89ee8f68023fd269c3` +- Target: `https://github.com/pmndrs/zustand.git` +- Target commit: `b57db4f86ef179285da216eeb291266da82c361c` +- License: MIT +- Catalog: `sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914` +- Baseline: `sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465` +- Result summary: `sha256:68b8582a9ce7b86bfa5431d89d2dea07f8c34b88d1d0350bab25c99fa5b236df` +- Analysis: `sha256:c431d8849edce79d6121a290f49288ed2710e406600d8b66d3588e6b82c73a1d` +- Evidence bundle: `sha256:1e176b7a40b5f16451797d87784f560f932b686f2fe261731526709331ff1172` + +The original preregistration is immutable. Three versioned amendments preserve +the initial failed attempts: worktree dependency preparation, Vitest JSON +report interpretation and timing-excluded semantic identities, and output-path +normalization. None changed the target, corpus, oracle, arms, selection policy, +metrics, or analysis rules. + +## Target, environment, and baseline + +Zustand was selected after evaluating Redux Toolkit and Immer against the +preregistered criteria. It offered a pinned pnpm lockfile and toolchain, a +bounded primary CI catalog, enumerated Vitest checks, and Vitest's supported +`related` selector. Redux Toolkit's multi-matrix/package surface and Immer's +built-artifact, Flow, and performance workflow ambiguity made them less +suitable for this first bounded calibration; they were not benchmarked. + +The benchmark ran on Linux x86-64 with Node 24.20.0 and pnpm 11.3.0. Frozen +target tools included Vitest 4.1.10, TypeScript 6.0.3, ESLint 9.39.4, Prettier +3.9.6, and Rollup 4.62.4. Exact environment and source hashes are in the +preregistration. + +The full catalog contained 17 compatible check units: 13 test-file checks +representing 224 test executions, plus format, typecheck, lint, and build. +Three clean baseline repetitions passed all checks with the same semantic +outcome and no observed flaky check. Full-catalog wall time was 29.329–32.807 +seconds across the three repetitions (`OBSERVED`). + +## Corpus and oracle + +The corpus contains ten frozen scenarios: six deterministic synthetic faults +and four synthetic benign change shapes. It covers isolated and direct changes, +reverse/transitive dependencies, shared code, test-only changes, +configuration, dependency/build metadata, public contracts, multi-file +changes, and deliberately incomplete impact evidence. Each scenario binds its +base SHA, patch hash, changed paths, classification, setup, and materialization +procedure. No selector input contains the full-run outcome. + +For each scenario, the oracle first relies on the passing clean baseline, +materializes the frozen patch, executes all 17 frozen catalog checks, and marks +as relevant the checks whose outcome changed because of that scenario. The +claim is only **relevant within this frozen verification catalog**; the catalog +does not prove complete software correctness. + +## Arms and safety result + +`FULL` ran every catalog check and remained authoritative. `NATIVE` used +Vitest 4.1.10 `related` with the actual changed paths. `AV_CORE` used normalized +Git change, catalog, package/source import graph, and policy evidence. +`AV_WITH_NATIVE_EVIDENCE` additionally consumed native related-test output as +one evidence source. + +| Selector | Relevant | Selected | Missed | Scenario misses | Full escalations | +|---|---:|---:|---:|---:|---:| +| FULL | 8 | 8 | 0 | 0 | n/a | +| NATIVE | 8 | 6 | 2 | 2 | 0 | +| AV_CORE | 8 | 8 | 0 | 0 | 3 | +| AV_WITH_NATIVE_EVIDENCE | 8 | 8 | 0 | 0 | 3 | + +Every observed selection miss: + +- `NATIVE`, `AVS-003`: omitted relevant `check:lint`. +- `NATIVE`, `AVS-008`: omitted relevant `check:typecheck`. + +The misses demonstrate the boundary of a tests-only native selector; they are +not characterized as Vitest defects. Both AV arms added the four policy-required +non-test checks in every scenario and selected both relevant checks. AV +broadened for public-contract changes in AVS-003 and AVS-008. It required the +full catalog for verification metadata/configuration in AVS-006 and AVS-007, +and for deliberately incomplete dependency evidence in AVS-010. Aggressive +targeted selection was therefore denied in the uncertainty scenario. + +## Workload result + +These are `EXACT` plan counts aggregated over ten scenarios. Unlike units are +kept separate and the counts are not correctness, cost, or causal savings. + +| Arm | Test files selected / available | Test executions selected / available | Non-test checks selected / available | +|---|---:|---:|---:| +| FULL | 130 / 130 | 2,240 / 2,240 | 40 / 40 | +| NATIVE | 70 / 130 | 1,358 / 2,240 | 0 / 40 | +| AV_CORE | 89 / 130 | 1,640 / 2,240 | 40 / 40 | +| AV_WITH_NATIVE_EVIDENCE | 89 / 130 | 1,640 / 2,240 | 40 / 40 | + +AV proposed skipping 41 of 130 test-file executions and 600 of 2,240 test +executions while retaining every oracle-relevant check observed in the corpus. +Native evidence did not change AV's test count in this corpus. Native selected +fewer tests in AVS-006 and AVS-010 because AV correctly broadened under policy +or uncertainty. Per-scenario counts and every skip explanation are preserved +in `results-v2/scenarios/`. + +Scenario full-catalog time was 29.088–33.442 seconds and native selection time +was 1.716–5.683 seconds (`OBSERVED`). They are telemetry, not a causal +time-saved estimate. + +## Shadow evidence, visibility, and reproducibility + +Every result binds the experiment, benchmark revision, target and scenario, +catalog, planner and policy, native selector, four arm selections, full oracle, +misses, workload, uncertainty, evidence hashes, and result identity. The +validator rejects target, patch, catalog, selector, baseline, oracle, policy, +scenario, skip-reason, trust-state, and result tampering, including attempts to +represent `SHADOW` as trusted. + +Twenty `opsle.value-receipt.v1` records provide one concise Affected +Verification indicator per AV arm and scenario. Test/check counts are `EXACT`; +wall time is `OBSERVED`. Raw full-run outputs remain in `results-v2/raw/` even +though the published summary reduces what an operator needs to inspect. Thus +Affected Verification answers what should run, while the Context Firewall +pattern answers what result should be shown; output reduction never changes +oracle truth. + +The deterministic reproduction command is: + +```bash +npm run benchmark:av-exp-001 +``` + +It prepares the exact target in disposable storage, validates identity, +installs locked dependencies, validates the catalog, materializes each patch, +runs native and AV selection, executes the full catalog, computes relevance, +and emits results. A second clean run at a different result path reproduced the +baseline, all ten scenario, summary, and analysis identities exactly. This was +a same-host, same-implementation replay, not an independent qualifying +replication. Raw bundle identities intentionally include variable observed +timing and output locations. + +## Opsle mechanisms and decision + +Actually exercised implementations: Affected Verification planning and +evidence validation; Visible Value receipts and the authoritative receipt +validator. The Context Firewall separation was exercised as a manual artifact +pattern: raw truth was retained while summaries constrained supervising +context. Decision Evidence concepts were implemented through content-addressed +bindings and validation, but its separate runtime was not invoked. Agent +Trajectory Profiler, Gearbox, and Opsle Tasks were not used. No Codex child +agents or external model/provider workloads were used. + +Affected Verification remains `OBSERVE/SHADOW`. This one-repository, +one-ecosystem, synthetic-fault-heavy corpus and same-host replay do not justify +`TRUSTED_BOUNDED`. The evidence can support lifecycle `VERIFIED` for the narrow, +revision-bound prototype and benchmark artifacts if all release and program +gates pass; it cannot support a higher stage. + +Exactly one next execution: preregister and run a second public-repository +shadow calibration in a different ecosystem with a meaningful native selector +and the same full-catalog oracle discipline. Do not begin it as part of this +experiment. diff --git a/benchmark/av-exp-001/publish.mjs b/benchmark/av-exp-001/publish.mjs index 11b0fe1..d8a3dab 100755 --- a/benchmark/av-exp-001/publish.mjs +++ b/benchmark/av-exp-001/publish.mjs @@ -12,7 +12,9 @@ import { const here = path.dirname(fileURLToPath(import.meta.url)); const repoRoot = path.resolve(here, '../..'); -const resultsDir = path.join(here, 'results-v2'); +const resultsDir = process.argv[2] + ? path.resolve(process.argv[2]) + : path.join(here, 'results-v2'); const catalog = JSON.parse(fs.readFileSync(path.join(here, 'preregistration-v1', 'catalog.json'), 'utf8')); function readJson(file) { diff --git a/benchmark/av-exp-001/reproduce.sh b/benchmark/av-exp-001/reproduce.sh index bc0fbf7..daadf31 100755 --- a/benchmark/av-exp-001/reproduce.sh +++ b/benchmark/av-exp-001/reproduce.sh @@ -4,7 +4,7 @@ set -euo pipefail root="$(cd "$(dirname "$0")/../.." && pwd)" target="${AV_TARGET:-/tmp/av-exp-001-target}" scratch="${AV_SCRATCH:-/tmp/av-exp-001-scratch}" -results="$root/benchmark/av-exp-001/results-v2" +results="${AV_RESULTS:-/tmp/av-exp-001-results}" if [[ ! -d "$target/.git" ]]; then node "$root/benchmark/av-exp-001/run.mjs" \ diff --git a/benchmark/av-exp-001/results-v2/analysis.json b/benchmark/av-exp-001/results-v2/analysis.json new file mode 100644 index 0000000..c377625 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/analysis.json @@ -0,0 +1,531 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-analysis.v1", + "experiment_id": "AV-EXP-001", + "summary_identity": "sha256:68b8582a9ce7b86bfa5431d89d2dea07f8c34b88d1d0350bab25c99fa5b236df", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "corpus": { + "scenarios": 10, + "synthetic_faults": 6, + "synthetic_benign_change_shapes": 4, + "scenarios_with_relevant_failures": 6, + "relevant_checks": 8 + }, + "safety": { + "NATIVE": { + "relevant_checks": 8, + "selected_relevant_checks": 6, + "missed_relevant_checks": 2, + "relevant_check_recall": "6/8", + "scenario_level_miss_count": 2, + "escalations": 0, + "misses": [ + { + "scenario_id": "AVS-003", + "check_id": "check:lint" + }, + { + "scenario_id": "AVS-008", + "check_id": "check:typecheck" + } + ] + }, + "AV_CORE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + } + }, + "workload": { + "class": "EXACT", + "units_not_combined": true, + "aggregate_across_10_scenarios": { + "FULL": { + "test_files": { + "available": 130, + "selected": 130, + "skipped": 0 + }, + "test_executions": { + "available": 2240, + "selected": 2240, + "skipped": 0 + }, + "non_test_checks": { + "available": 40, + "selected": 40, + "skipped": 0 + } + }, + "NATIVE": { + "test_files": { + "available": 130, + "selected": 70, + "skipped": 60 + }, + "test_executions": { + "available": 2240, + "selected": 1358, + "skipped": 882 + }, + "non_test_checks": { + "available": 40, + "selected": 0, + "skipped": 40 + } + }, + "AV_CORE": { + "test_files": { + "available": 130, + "selected": 89, + "skipped": 41 + }, + "test_executions": { + "available": 2240, + "selected": 1640, + "skipped": 600 + }, + "non_test_checks": { + "available": 40, + "selected": 40, + "skipped": 0 + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 130, + "selected": 89, + "skipped": 41 + }, + "test_executions": { + "available": 2240, + "selected": 1640, + "skipped": 600 + }, + "non_test_checks": { + "available": 40, + "selected": 40, + "skipped": 0 + } + } + }, + "per_scenario": { + "AVS-001": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-002": { + "relevant_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 19, + "skipped_test_executions": 205, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 19, + "skipped_test_executions": 205, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 19, + "skipped_test_executions": 205, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-003": { + "relevant_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "selection_misses": [ + "check:lint" + ] + }, + "AV_CORE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-004": { + "relevant_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-005": { + "relevant_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "NATIVE": { + "selected_test_executions": 10, + "skipped_test_executions": 214, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 10, + "skipped_test_executions": 214, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 10, + "skipped_test_executions": 214, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-006": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 0, + "skipped_test_executions": 224, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-007": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-008": { + "relevant_check_ids": [ + "check:typecheck" + ], + "NATIVE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "selection_misses": [ + "check:typecheck" + ] + }, + "AV_CORE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 211, + "skipped_test_executions": 13, + "sufficiency": "SUFFICIENT_BROADENED", + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "AVS-009": { + "relevant_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "NATIVE": { + "selected_test_executions": 185, + "skipped_test_executions": 39, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 185, + "skipped_test_executions": 39, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 185, + "skipped_test_executions": 39, + "sufficiency": "SUFFICIENT_TARGETED", + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "AVS-010": { + "relevant_check_ids": [], + "NATIVE": { + "selected_test_executions": 166, + "skipped_test_executions": 58, + "selection_misses": [] + }, + "AV_CORE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "selected_test_executions": 224, + "skipped_test_executions": 0, + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + } + } + }, + "claim_limit": "Proposed plan counts only; no correctness, cost, or causal savings claim." + }, + "behavior": { + "av_full_escalations": [ + "AVS-006", + "AVS-007", + "AVS-010" + ], + "av_policy_broadened": [ + "AVS-003", + "AVS-008" + ], + "av_insufficient_evidence": [], + "native_test_selection_narrower_than_av": [ + "AVS-006", + "AVS-010" + ], + "av_core_test_selection_narrower_than_native": [], + "native_evidence_changed_av_test_count": [], + "av_added_non_test_policy_checks_to_native": [ + "AVS-001", + "AVS-002", + "AVS-003", + "AVS-004", + "AVS-005", + "AVS-006", + "AVS-007", + "AVS-008", + "AVS-009", + "AVS-010" + ] + }, + "runtime_observed": { + "baseline_full_catalog": { + "count": 3, + "minimum_ms": 29329.277000000002, + "median_ms": 29506.057, + "maximum_ms": 32806.898, + "class": "OBSERVED", + "claim_limit": "Direct wall-clock observations only; no causal time-saved claim." + }, + "scenario_full_catalog": { + "count": 10, + "minimum_ms": 29088.007999999994, + "median_ms": 30226.295500000004, + "maximum_ms": 33441.569, + "class": "OBSERVED", + "claim_limit": "Direct wall-clock observations only; no causal time-saved claim." + }, + "native_selector_execution": { + "count": 10, + "minimum_ms": 1715.63, + "median_ms": 3953.683, + "maximum_ms": 5682.563, + "class": "OBSERVED", + "claim_limit": "Direct wall-clock observations only; no causal time-saved claim." + } + }, + "trust_decision": { + "stage": "SHADOW", + "decision": "REMAIN_SHADOW", + "reason": "First calibration, synthetic faults, one repository and ecosystem, and no independent qualifying replication do not justify bounded trust." + }, + "analysis_identity": "sha256:c431d8849edce79d6121a290f49288ed2710e406600d8b66d3588e6b82c73a1d" +} diff --git a/benchmark/av-exp-001/results-v2/baseline/baseline-1.json b/benchmark/av-exp-001/results-v2/baseline/baseline-1.json new file mode 100644 index 0000000..6d2cf47 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/baseline/baseline-1.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "baseline-1", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:64ae86141ad599bed9440d25845e14c32d04a1b371b773589fb45c61b79a25ab", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "duration_ms": 4721.619 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5265.953 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4722.463 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6597.883 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 11498.98 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/baseline/baseline-2.json b/benchmark/av-exp-001/results-v2/baseline/baseline-2.json new file mode 100644 index 0000000..003c371 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/baseline/baseline-2.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "baseline-2", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:70e51f23d05c80148975afdfa0116b6be9d132b5a50453ec3596a2d28b32d742", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "duration_ms": 4327.375 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4569.646 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4001.26 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6436.192 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9994.804 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/baseline/baseline-3.json b/benchmark/av-exp-001/results-v2/baseline/baseline-3.json new file mode 100644 index 0000000..35cb4d3 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/baseline/baseline-3.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "baseline-3", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:2677cb78bb578fc9eb26c3b4f1527cf7e8fe9d98b55f908b8542a0ac567faaa4", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "duration_ms": 4571.042 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4277.026 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3759.297 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6480.94 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10417.752 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/baseline/baseline-summary.json b/benchmark/av-exp-001/results-v2/baseline/baseline-summary.json new file mode 100644 index 0000000..11f4b6e --- /dev/null +++ b/benchmark/av-exp-001/results-v2/baseline/baseline-summary.json @@ -0,0 +1,235 @@ +{ + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "repetitions": [ + { + "full_run_identity": "sha256:64ae86141ad599bed9440d25845e14c32d04a1b371b773589fb45c61b79a25ab", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "test_count": 224, + "test_file_count": 13 + }, + { + "full_run_identity": "sha256:70e51f23d05c80148975afdfa0116b6be9d132b5a50453ec3596a2d28b32d742", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "test_count": 224, + "test_file_count": 13 + }, + { + "full_run_identity": "sha256:2677cb78bb578fc9eb26c3b4f1527cf7e8fe9d98b55f908b8542a0ac567faaa4", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "test_count": 224, + "test_file_count": 13 + } + ], + "stable": true, + "identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "observed_durations_ms": [ + [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "duration_ms": 4721.619 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5265.953 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4722.463 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6597.883 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 11498.98 + } + ], + [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "duration_ms": 4327.375 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4569.646 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4001.26 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6436.192 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9994.804 + } + ], + [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "duration_ms": 4571.042 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4277.026 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3759.297 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6480.94 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10417.752 + } + ] + ] +} diff --git a/benchmark/av-exp-001/results-v2/evidence-manifest.json b/benchmark/av-exp-001/results-v2/evidence-manifest.json new file mode 100644 index 0000000..56fd5b4 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/evidence-manifest.json @@ -0,0 +1,324 @@ +{ + "schema": "opsle.affected-verification.evidence-bundle-manifest.v1", + "semantic_summary_identity": "sha256:68b8582a9ce7b86bfa5431d89d2dea07f8c34b88d1d0350bab25c99fa5b236df", + "semantic_analysis_identity": "sha256:c431d8849edce79d6121a290f49288ed2710e406600d8b66d3588e6b82c73a1d", + "files": { + "analysis.json": "sha256:189799e7cbe07c351da07f0736282483227f8a5efd1b042cc5fb81ee21b51463", + "baseline/baseline-1.json": "sha256:b2e05e1b86eb9155c281379f5e370988d8f96c8690a7ce7a66379d967132388d", + "baseline/baseline-2.json": "sha256:6393da73ecb2f9e462f303d9ec1da8df6d4d924cd40b703e6be0fb785fc82962", + "baseline/baseline-3.json": "sha256:e1d59e7613a9ff236d0dcb74daca6ff8dab5c3c671ff2f1cfed535f18bd8a833", + "baseline/baseline-summary.json": "sha256:6a22b50a9a6856e4b60009e6ab2070f387b95b3bd37a2f9979f1e8833a7bb439", + "full/AVS-001.json": "sha256:39c50a23eb613866b25965492fdde6cb33ed62c563ae2d104460d11cd63833db", + "full/AVS-002.json": "sha256:fdde18a24b74b454a4257858d5c20ff64da56fbacdefebe28e7c6b6910c1ce59", + "full/AVS-003.json": "sha256:34e09f715def4f9024662a43000b4b9dd1945c185193b36d4c7d30a40ff74926", + "full/AVS-004.json": "sha256:001b85b1200d2404b700260519336732bf672d5e3284e6f5b7039702d856c889", + "full/AVS-005.json": "sha256:3da41ea8e1bfd84063e080a4af7fa28f3cfb603c40b0419175f1661cbd9eb7e5", + "full/AVS-006.json": "sha256:34b1cb9936e9b1cebf7766518c6a303f10ea8b014fee0f071a80ab7d2bfefc00", + "full/AVS-007.json": "sha256:7f69fbab8d73be29eb473101bc26d520940181f182861aae288661c719408a77", + "full/AVS-008.json": "sha256:b3f2359ff921d08eb49edf23d3523d19b5d064b98d086be62410af33e75c5f33", + "full/AVS-009.json": "sha256:4389cd396c331e73ddbd21ea25f3ae890209b07159b82e8bfdeee8e48b76d850", + "full/AVS-010.json": "sha256:b6bf15bae9faab5486d2a459bc9b95eee34d6e5e8cb92aabacaba0730fc37938", + "oracle/AVS-001.json": "sha256:ea477a835e220f3ff76ce81144b6fd3644215681453f4c0d4aabd529973b5115", + "oracle/AVS-002.json": "sha256:9666310a86517ad0352ef42e94a3cea5ac16dcc78f6ecf68959d047c6a356597", + "oracle/AVS-003.json": "sha256:a96ffc79ca8bf512a67298998083f95363e615fd9584decaca97c419c7d32fdb", + "oracle/AVS-004.json": "sha256:62f26f28cbb3892379263246eb2c9b99b5b12caaa33afc558ebbb3b750cec7a7", + "oracle/AVS-005.json": "sha256:d8c7d54e3051f9a15d73f3dfb21d15b706f0d09d356ba003f02e12422e0eaa83", + "oracle/AVS-006.json": "sha256:214cb4e5e126d1508cff189481609e0adcdc232cc3e9c94c33f0a415173c563a", + "oracle/AVS-007.json": "sha256:82e3a1676fde7a92d0ec649c7d3846ed8f440426e15af526704303d31676519f", + "oracle/AVS-008.json": "sha256:f1f9d8ef0633aabda590e1d13dbb5445d4ca69468edff0faf6d211ba6a1a2b2d", + "oracle/AVS-009.json": "sha256:0633a4ab8f9760def231b5931733ac00494e93b3026246ce7d0fd50c53c88a30", + "oracle/AVS-010.json": "sha256:8dd78349db25cdbb2cb17edefedac99ff0065fe7ea2b64332900eb9bb7ccba39", + "raw/AVS-001/AVS-001-build.execution.json": "sha256:cfae50adcb43a3df5f1e67201449ca1e679c9235458954eea00d24a75f128c9b", + "raw/AVS-001/AVS-001-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-001/AVS-001-build.stdout.log": "sha256:6c54a31158edf228b7bf3b925df87a264d73bd9493103a56903a9398ad8809bf", + "raw/AVS-001/AVS-001-format.execution.json": "sha256:2cc91a1e36f91772a6f8accb0e750c91fe74f64d4d8e7f991e56c1bc9e9777cf", + "raw/AVS-001/AVS-001-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-001/AVS-001-format.stdout.log": "sha256:4f63fd1da0ca68bc946ef26cb79f61f0ef42c30bf2dd190973b334c5427ed2f5", + "raw/AVS-001/AVS-001-lint.execution.json": "sha256:d3104d90a1844354cd566b23ebfd3134a515b0660c1eb2f47d1df30475f2824d", + "raw/AVS-001/AVS-001-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-001/AVS-001-lint.stdout.log": "sha256:58ef5a2a260cafd97cb6361e4e77d25bb33b7709e25f21c442fd3f13fb224c85", + "raw/AVS-001/AVS-001-native.execution.json": "sha256:b2464283879f19fc1d6d58702da03d1561719768d5b30d4604d530f4035b9532", + "raw/AVS-001/AVS-001-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-001/AVS-001-native.stdout.log": "sha256:f85b2371e413f9a4fdc25219cbd6f2bb5fa5110ddbe52a04d6eaf4449b5200bc", + "raw/AVS-001/AVS-001-native.vitest.json": "sha256:078a86b4b552baa2b3741278100c5fc4e8a851a3ead5944fcf4a2eefd55a04cd", + "raw/AVS-001/AVS-001-tests.execution.json": "sha256:2e793e9c37efebce98c7a3a35216ce8e02804ff1ae33263f9c21a16629f6dd9c", + "raw/AVS-001/AVS-001-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-001/AVS-001-tests.stdout.log": "sha256:75e2c58e85848de2c701315547d4a87433799dc40e34ea2794c2cb0e34872786", + "raw/AVS-001/AVS-001-tests.vitest.json": "sha256:c8b3d86581b3db58d8aef3be8bef1d5ca7251a10f6391af450e75adf434351db", + "raw/AVS-001/AVS-001-typecheck.execution.json": "sha256:bd101ffdd8299824bd902a7a7fc783763c0c1005159e218fb376709f36fe8b21", + "raw/AVS-001/AVS-001-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-001/AVS-001-typecheck.stdout.log": "sha256:2369b65deb9f22fe17ce278db91e9da845c43ee603f567f2b722650fc0fbf408", + "raw/AVS-002/AVS-002-build.execution.json": "sha256:686da420d04a6c8beed70180e1c3312d982742f7bd2dac2c406193a6606dc3fb", + "raw/AVS-002/AVS-002-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-002/AVS-002-build.stdout.log": "sha256:31026927af4b413517d9e64bea2863defbf02d3d523b54fe559ba86721f3fd96", + "raw/AVS-002/AVS-002-format.execution.json": "sha256:bd5e52307dab02b6c08ad28c9a777f0d6006a332b1406ab9ed9af8116a791f2c", + "raw/AVS-002/AVS-002-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-002/AVS-002-format.stdout.log": "sha256:4c290f875d898599dc61c394d30a8bfb4b2078c3d85370c732c1217662d07b92", + "raw/AVS-002/AVS-002-lint.execution.json": "sha256:332d8e57ee4b879a7a31ec9320e8d67762a95272182fd421b1032450bef7304d", + "raw/AVS-002/AVS-002-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-002/AVS-002-lint.stdout.log": "sha256:37961f3cd29361c3d36b03fcfc9ed1e0067954e81bdf6aaaaa3e6fabe182d602", + "raw/AVS-002/AVS-002-native.execution.json": "sha256:73ec41dd7b2ebab281d6dbe254444afa96773ec9d9ff13456f53d4970fe24a28", + "raw/AVS-002/AVS-002-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-002/AVS-002-native.stdout.log": "sha256:e1ca38ab96e306f3219acd3025f27ff48afba89554bf145ca7a670e97597767b", + "raw/AVS-002/AVS-002-native.vitest.json": "sha256:1d2b0f34f0947576348ab9f00a32be062f9363312c99e5928fc914e431fc9bca", + "raw/AVS-002/AVS-002-tests.execution.json": "sha256:0e7b9b2f61ebe2282635ff168c6b41147863af2971cb78b6c7d7bcd895cb7d7a", + "raw/AVS-002/AVS-002-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-002/AVS-002-tests.stdout.log": "sha256:e4cdd2cb48aa5f5247d890c242aa4f0a0e9c33a2f151542d735884c93985b734", + "raw/AVS-002/AVS-002-tests.vitest.json": "sha256:4b3293bd66d04533dcbe5802a0be4eb4228d0465618c6a967d04bd062dd7c837", + "raw/AVS-002/AVS-002-typecheck.execution.json": "sha256:2fadacaf7c2a1a924a1b10fde0c84e05e1b325045ca10b9386ae9ae0eac23e5f", + "raw/AVS-002/AVS-002-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-002/AVS-002-typecheck.stdout.log": "sha256:f602880758d5ae1ebc5f8c4a7b1ecab84cbc408a43caf25af84896d9df35ec98", + "raw/AVS-003/AVS-003-build.execution.json": "sha256:d9a3c8c8ed83084cc8a73d81fff2f87ed65eb09cf53c46a96b725b69743d7ad8", + "raw/AVS-003/AVS-003-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-003/AVS-003-build.stdout.log": "sha256:ad74181fea44559752bd7bc369edd9155150c814e1b56f2bc785750bc620a7e2", + "raw/AVS-003/AVS-003-format.execution.json": "sha256:71a346e9b02787906336cf6f5b0a16cb1e3e61d660d03a37d22e210f44343fad", + "raw/AVS-003/AVS-003-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-003/AVS-003-format.stdout.log": "sha256:f5cd1ac79cfbf0b733632b439e8b3b3d163c74f5fea752de1547466c5f7802fe", + "raw/AVS-003/AVS-003-lint.execution.json": "sha256:03c5742efb223bb505474b19e0922b8ac970a46d0d1255be7c22567dd72697af", + "raw/AVS-003/AVS-003-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-003/AVS-003-lint.stdout.log": "sha256:5368fd19f9c904f97094389b4884b78fd1aef0376855831bb4fbbff60a000a67", + "raw/AVS-003/AVS-003-native.execution.json": "sha256:1a31c12e831e5dd8271eaedc11cea31ed773fc9778c9c01b81685b18e049b94e", + "raw/AVS-003/AVS-003-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-003/AVS-003-native.stdout.log": "sha256:63679b418f801e4603aa7577b5f4281e318ec0fa67967461a86dac2f9ebd8345", + "raw/AVS-003/AVS-003-native.vitest.json": "sha256:c65d097d849e271c2f35cdde2109702d63948afe6ce129f6dfc7c59f6d5665e6", + "raw/AVS-003/AVS-003-tests.execution.json": "sha256:af11ea15d4331f8bfc7c8771a82f6a8341b00aae42c4f0be4b90e92a3c4b8fbf", + "raw/AVS-003/AVS-003-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-003/AVS-003-tests.stdout.log": "sha256:5957efea0df5e1eef345f5f429aae94d7cc3116e9cf2fa0b00b53ac9f7a29d0a", + "raw/AVS-003/AVS-003-tests.vitest.json": "sha256:eac6db4f5ff410abcbfa4b25fb31e18d8a1d7d2fdde9871a98ab2daf6943c0af", + "raw/AVS-003/AVS-003-typecheck.execution.json": "sha256:f5c1e34cad9c8a330b79ef0b5478b3891b35153b7f800fcc25ee2d32db034eab", + "raw/AVS-003/AVS-003-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-003/AVS-003-typecheck.stdout.log": "sha256:df5011c506ba57b945d9215149b85fd7aa8e595859cb3bc5986cb05aaad79367", + "raw/AVS-004/AVS-004-build.execution.json": "sha256:7ce4d8d40f1ec942c25c6f609a3c54a18da3b320ec92608b9595edde57acc87e", + "raw/AVS-004/AVS-004-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-004/AVS-004-build.stdout.log": "sha256:966249e09b0056be439bb97d89855d2cdc813d92ede12b6c44207488f43a3b3c", + "raw/AVS-004/AVS-004-format.execution.json": "sha256:906878b4a6d0eaa1724a793ec1b9136b09cab8e81b1b5e72edfc8dc81e1ff2ef", + "raw/AVS-004/AVS-004-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-004/AVS-004-format.stdout.log": "sha256:b70c49c9e025618c9b29f76196b6c03456caf1e1e3e501f8dd3557c7fa27994d", + "raw/AVS-004/AVS-004-lint.execution.json": "sha256:ac7d59e3059a785938aa35e71e8523e4c8fcc4e85098eaf61ffde9365ba03ac4", + "raw/AVS-004/AVS-004-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-004/AVS-004-lint.stdout.log": "sha256:ca534e3f13cddca570130fe3ea8abe812399293f998e21b3b79ab618e5955010", + "raw/AVS-004/AVS-004-native.execution.json": "sha256:ddfdf90e35a11b4b7306fb4280ce8df408d9263b91735ee33d1ed578e481e9fd", + "raw/AVS-004/AVS-004-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-004/AVS-004-native.stdout.log": "sha256:50d9bb78ad86ece6f4ff9f200467e332b293e77a5080f104fd9c23f4aeec0608", + "raw/AVS-004/AVS-004-native.vitest.json": "sha256:444bff849beddbf48efb7b863dc25c77679944ba9014d31ff11316c2a8e06433", + "raw/AVS-004/AVS-004-tests.execution.json": "sha256:7f102611468ca6deb0db30353a2e38bfb851ddc3dc4890b50c3607aaf7fd0fdd", + "raw/AVS-004/AVS-004-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-004/AVS-004-tests.stdout.log": "sha256:a5f40c753ed4f9c93830a3785f9d05b7799e181b210e66d9cfdfb5c3b95b3bf2", + "raw/AVS-004/AVS-004-tests.vitest.json": "sha256:12779c17bb8d8f7579c7fdca8fafb6109044263079241a844b1cc3e9955c5557", + "raw/AVS-004/AVS-004-typecheck.execution.json": "sha256:032a70e6fc8570709781ddcc37031d24eb82fbdfd035d4dc6d3c6fa23ec4a0f7", + "raw/AVS-004/AVS-004-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-004/AVS-004-typecheck.stdout.log": "sha256:b5ad0e57d4eaa1ae659d2c34b9493787d1e8662400ec97c7c4915b3fb0345310", + "raw/AVS-005/AVS-005-build.execution.json": "sha256:c1be79da94c2c8c2c7dd7c4a1a293ed91d32e123219d5388bcea9ed4b9ed94f6", + "raw/AVS-005/AVS-005-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-005/AVS-005-build.stdout.log": "sha256:45112e5eb97a17b8dba1c9046e443b4cba6db54da7ba9fc50d6ac0f3cdc8b677", + "raw/AVS-005/AVS-005-format.execution.json": "sha256:428adb914ef9991d85b4aa20650eabb3ef064168b61c5f3a0524e8fac5124903", + "raw/AVS-005/AVS-005-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-005/AVS-005-format.stdout.log": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "raw/AVS-005/AVS-005-lint.execution.json": "sha256:347b55f4ce26392b618607670e6635a1f257ee10b7c3534aab0662995b6f8a58", + "raw/AVS-005/AVS-005-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-005/AVS-005-lint.stdout.log": "sha256:5d06aa3e9f4e6ed3469c495de18223e060758606fa75fee1be4557a8e347b9b6", + "raw/AVS-005/AVS-005-native.execution.json": "sha256:bfd4bec6b8fda85341e4e3ada2ed2eafdd2e60befdef9805c921de677c30fedc", + "raw/AVS-005/AVS-005-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-005/AVS-005-native.stdout.log": "sha256:42be094b43203558ac9c0ae0f3fc9f22ac1027c70fdb1885c85e6eb1b3799e7d", + "raw/AVS-005/AVS-005-native.vitest.json": "sha256:986fa0d3f4fde9759cfe1f77049d3bb0d699d13a7604f0edaa6f27373818aea5", + "raw/AVS-005/AVS-005-tests.execution.json": "sha256:fbf0acc4c55097fc0288b2bc6042d9307ec83cf0168ac8977c476dd988d75ad3", + "raw/AVS-005/AVS-005-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-005/AVS-005-tests.stdout.log": "sha256:9d4bce222edfe3568745fd917312f8178bf363b35277da29ab2d61129bf6d9eb", + "raw/AVS-005/AVS-005-tests.vitest.json": "sha256:33310274d3d6b9aa2ea38fadc146232b28f3180ccd325661ed5266dc81853455", + "raw/AVS-005/AVS-005-typecheck.execution.json": "sha256:6a4a72a816ffd0f2ee1aa83e60a656f55d35046ce13bd4e26e50521b74c5bc05", + "raw/AVS-005/AVS-005-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-005/AVS-005-typecheck.stdout.log": "sha256:52d1f210026dcf43cf08892e666134a70f74ee5f1424b6a931d2eec01c94234a", + "raw/AVS-006/AVS-006-build.execution.json": "sha256:bb7ba69118e90f2a03ef8d8958a6bd4a6e3d7a5b615e69ac51227a9a8147ba34", + "raw/AVS-006/AVS-006-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-006/AVS-006-build.stdout.log": "sha256:925ce7c191721bc5d2683530592a57503aa3560e24b51e7e111fac72934bd4f4", + "raw/AVS-006/AVS-006-format.execution.json": "sha256:8de55c4bd925207f55a49b5f851fad164044a195d7b84b3599b2e6824cd0d199", + "raw/AVS-006/AVS-006-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-006/AVS-006-format.stdout.log": "sha256:57b67a51c768673de0877c668f0022242d08846044a971db7bab9c65720c68c7", + "raw/AVS-006/AVS-006-lint.execution.json": "sha256:9a190d44b1448d5c631d47ead00e47a27034cd2d133c1156065815aa2887be40", + "raw/AVS-006/AVS-006-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-006/AVS-006-lint.stdout.log": "sha256:605135cf2e73bd0b53a814e0af3e2e2806f13a860deb350332ea07dcbe1142e6", + "raw/AVS-006/AVS-006-native.execution.json": "sha256:ba054cab3b09aff70ecdc0b32f6debff77b3e295e5ac01762298a19f8b38120c", + "raw/AVS-006/AVS-006-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-006/AVS-006-native.stdout.log": "sha256:038fbaa78a79b4c282f9552edfbf20a11e282a94e6c87d9e7773c4ffd74c9f38", + "raw/AVS-006/AVS-006-native.vitest.json": "sha256:1494786096e79588bb028c1d7ff34445e270157f42a61da76d7e1a5b1a3dba91", + "raw/AVS-006/AVS-006-tests.execution.json": "sha256:ba72aec09fd2024ea17c258eac81612a48cddc1e1d844f426f8e33cd1a272cab", + "raw/AVS-006/AVS-006-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-006/AVS-006-tests.stdout.log": "sha256:daf6f1dcb52c1cccfc8892a5e121b919bf40f75af7e77e5cfa892e469ed5395f", + "raw/AVS-006/AVS-006-tests.vitest.json": "sha256:f9be1edcd3f4b6200c3abe545085cf0da67318fe8fdc93a86e6f788a05999e24", + "raw/AVS-006/AVS-006-typecheck.execution.json": "sha256:e2186856b55690d4d258b8e08b64cbc008af22d9b4cac46249c0a16bbde977d7", + "raw/AVS-006/AVS-006-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-006/AVS-006-typecheck.stdout.log": "sha256:e8ec162602400fe85a4b2e514c1a2ee8707517a40552789e737a01af3b33de59", + "raw/AVS-007/AVS-007-build.execution.json": "sha256:80e99c0329196e0afbceaafeaa863ee2c2a7dd09793ed6d588533fa14b967536", + "raw/AVS-007/AVS-007-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-007/AVS-007-build.stdout.log": "sha256:58b4acc20fcce8a626de4f40e07d55be68678378dd741ccfc9c34fa5902ef624", + "raw/AVS-007/AVS-007-format.execution.json": "sha256:6b5355a86e577d5b5bb6811458836198010dd83faff192b0192a826a0cf26e30", + "raw/AVS-007/AVS-007-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-007/AVS-007-format.stdout.log": "sha256:f5cd1ac79cfbf0b733632b439e8b3b3d163c74f5fea752de1547466c5f7802fe", + "raw/AVS-007/AVS-007-lint.execution.json": "sha256:059d091817461d3cfca3f3b23cec87df2193c342617c035b2bb33cf35598f25d", + "raw/AVS-007/AVS-007-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-007/AVS-007-lint.stdout.log": "sha256:82dd6e40ed3388999ef420f47c3801092a5cfaea1012ef2a7d90051a1c33db68", + "raw/AVS-007/AVS-007-native.execution.json": "sha256:9d9497d7fd7b48b5fb772a059d283419382c0d5b0ab0883bfa11626bafa3bbf6", + "raw/AVS-007/AVS-007-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-007/AVS-007-native.stdout.log": "sha256:57957095675d5c0099bda36233b35273a72c3519426b6f808cd21ee156a17543", + "raw/AVS-007/AVS-007-native.vitest.json": "sha256:0f234e44dbd32d1b991719556a96a1b076a62c48327b76d27083b7bca7c8c1ae", + "raw/AVS-007/AVS-007-tests.execution.json": "sha256:9a616c33a1bc65468b000c47aec41d9e0b32d2aaed2c4fdbab397243c929f706", + "raw/AVS-007/AVS-007-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-007/AVS-007-tests.stdout.log": "sha256:27071cbadf8f63946adb395262d46bcc6469b780ec3fc89af5343e5e3f4f09a9", + "raw/AVS-007/AVS-007-tests.vitest.json": "sha256:f146b927eaa7f07fbd6e9f44c389271e41a67231ef4b8439b31606807caa067d", + "raw/AVS-007/AVS-007-typecheck.execution.json": "sha256:76d3163422df737e96074b87c55410ede24247c323fea7e53790024e21dd5918", + "raw/AVS-007/AVS-007-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-007/AVS-007-typecheck.stdout.log": "sha256:ff2d4b95872ba5edead046de1efd9d7222769821df4f127623d5169079f907d0", + "raw/AVS-008/AVS-008-build.execution.json": "sha256:de9175b4ff26a14cffcb66f71085dc7b9791c9ce1016370263041c902703ae15", + "raw/AVS-008/AVS-008-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-008/AVS-008-build.stdout.log": "sha256:ad8282824475997b6eda9d637cd206e2ffd29561f2b7eafa3e163a41ad4f3bcf", + "raw/AVS-008/AVS-008-format.execution.json": "sha256:b7e0543b93ff3a1338cf69244e56a14525a3c47cd2a4fffb8d99754ae5c5d8e0", + "raw/AVS-008/AVS-008-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-008/AVS-008-format.stdout.log": "sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "raw/AVS-008/AVS-008-lint.execution.json": "sha256:4574876a71cc7efea9295fd3abfaecfbe51d3cda34842b7b7a3bb66ae32abbb1", + "raw/AVS-008/AVS-008-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-008/AVS-008-lint.stdout.log": "sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "raw/AVS-008/AVS-008-native.execution.json": "sha256:a99d436a7463c11ba76d4d0d0df9b713155b38ec0124a3daff9f0ef3c0d71d50", + "raw/AVS-008/AVS-008-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-008/AVS-008-native.stdout.log": "sha256:07b655b5dab77722bb7b9bc58f085a4c2566b087c7f061e5395b4f5976e41f83", + "raw/AVS-008/AVS-008-native.vitest.json": "sha256:2c9f0beffec973a39f3f46c42f9153f4596ff1798a90afbd884a8d6a5d64578a", + "raw/AVS-008/AVS-008-tests.execution.json": "sha256:ffe99ea96e9e5fcd36d51768d1179d4aef27d2defe9c013300ae4446420f1a6f", + "raw/AVS-008/AVS-008-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-008/AVS-008-tests.stdout.log": "sha256:9841c06f5819ac68df769d812ddfbb9873962abee37c3fc5df7065607638ca06", + "raw/AVS-008/AVS-008-tests.vitest.json": "sha256:761ec415fe27cac76926372397f534386502f8405817b5ed419b668e32680025", + "raw/AVS-008/AVS-008-typecheck.execution.json": "sha256:c8112d217d240a81189a5ad967ec2b7bdf09308fdac42bc06b232f6be6c026cd", + "raw/AVS-008/AVS-008-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-008/AVS-008-typecheck.stdout.log": "sha256:392d397999a21e7bfe75f59e0d72a682b02c93308b399f26423a8b8efc772147", + "raw/AVS-009/AVS-009-build.execution.json": "sha256:789c9712c7092dce291777a7d53bf32a1bea3a19f8acc4a04006347aedbdea8a", + "raw/AVS-009/AVS-009-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-009/AVS-009-build.stdout.log": "sha256:7f3410cb562117ef031706349ae30010df2e1e1227951f8b89dd307c4ce24a4c", + "raw/AVS-009/AVS-009-format.execution.json": "sha256:5dcfb6c22fbafaefe132c85817d811ffb464b12aeece575c31ca8b695e70ab0f", + "raw/AVS-009/AVS-009-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-009/AVS-009-format.stdout.log": "sha256:bb719fbbd76e64db23209c99141bfa7c4addeb9840a1ef3958441084074dd0ad", + "raw/AVS-009/AVS-009-lint.execution.json": "sha256:5875a35e0ccbeff15afbe335c370e8700302f562248818ff9dea113958a441a7", + "raw/AVS-009/AVS-009-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-009/AVS-009-lint.stdout.log": "sha256:ee9ee8c5d7c1ac20e0835324f6e45159be8e6f3ba6a0c312f3a30b6e32a48eb8", + "raw/AVS-009/AVS-009-native.execution.json": "sha256:b7a687d1b2725c4ebe697d9f27e29da58c033b1625879dd07900c4a68912ee9d", + "raw/AVS-009/AVS-009-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-009/AVS-009-native.stdout.log": "sha256:b8f37e3e9756372a983b8ae6d7c20ba71c6d9eeda33bd914200b76f8f8e5b088", + "raw/AVS-009/AVS-009-native.vitest.json": "sha256:fcffcf983b878bed90b4f0458a2e1c06d2e23d2298a480efe09a3e4ff2a059dc", + "raw/AVS-009/AVS-009-tests.execution.json": "sha256:b1100717cd836308b3fbd3b214418bd1938353f44464f336f784458a8fda3d66", + "raw/AVS-009/AVS-009-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-009/AVS-009-tests.stdout.log": "sha256:7afdaa66e9392dfa07e0864d23705d43eab6b657fa2da5f633867d0e1ca03c20", + "raw/AVS-009/AVS-009-tests.vitest.json": "sha256:492086ed9081b34a49967bfffd2e2bf9b2670506f920fb96ce49c33daa07e130", + "raw/AVS-009/AVS-009-typecheck.execution.json": "sha256:0a15c514129ad6d1cabd29d0c9de0577f4017a648aa3ec263c23ee3cff5c0537", + "raw/AVS-009/AVS-009-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-009/AVS-009-typecheck.stdout.log": "sha256:fa1f638b309a84c43704046e1bd0e92d74cf8dd7bc8b8d066acb356f003aebde", + "raw/AVS-010/AVS-010-build.execution.json": "sha256:f9ab454bac9d139621dd113ec64a564ca3bb0a3ebc47975f161f55ee984754d9", + "raw/AVS-010/AVS-010-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/AVS-010/AVS-010-build.stdout.log": "sha256:f949b116d55ab74cd221e8eead9ce196550d68ff8e15cac82b3d5d6f23d3e2f3", + "raw/AVS-010/AVS-010-format.execution.json": "sha256:d625d7ecf81228c70727fd2433251eba167d79de41fbbe3346932eda8efd7128", + "raw/AVS-010/AVS-010-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/AVS-010/AVS-010-format.stdout.log": "sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "raw/AVS-010/AVS-010-lint.execution.json": "sha256:669e8acb3b95759d969e953d8b4d294292a7671fffad4bf28af96605548f8ec0", + "raw/AVS-010/AVS-010-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/AVS-010/AVS-010-lint.stdout.log": "sha256:8a04c205036f23827d2beed399affb8ca0ae3506f3a02dbff8046ce8f1e56799", + "raw/AVS-010/AVS-010-native.execution.json": "sha256:8747d19d126797123aec5b8c4e03a2ac0147d29f1db13fd2a0752608f89ad9dc", + "raw/AVS-010/AVS-010-native.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-010/AVS-010-native.stdout.log": "sha256:e35b078e540e91b72637977791d28bf83c0603fc1c7b35228b4c5d4cb45e58be", + "raw/AVS-010/AVS-010-native.vitest.json": "sha256:01776d002360df3e3c7702c2300dd7610a485d220252116a6ae82798961a7006", + "raw/AVS-010/AVS-010-tests.execution.json": "sha256:457771997250f04279ad5395e302d70c3f1d159aa2bf63249664eb7c5b4514c9", + "raw/AVS-010/AVS-010-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/AVS-010/AVS-010-tests.stdout.log": "sha256:244fd2735d6e412e53ec56256bdd7752e719b2984f5cf7b4b2aa022c36685889", + "raw/AVS-010/AVS-010-tests.vitest.json": "sha256:7b750fd78032c462dec7a435ae11a4472f4a61e5ae7a2f7b295083b903ba526a", + "raw/AVS-010/AVS-010-typecheck.execution.json": "sha256:62ad41500953886fa3d48dac1463d85733535f0b21a5d861e5e5aa687d350b7d", + "raw/AVS-010/AVS-010-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/AVS-010/AVS-010-typecheck.stdout.log": "sha256:2fb4b0fc9ac1841c8278c50c25affb0f1c45340cd314668572c70128dfb38ccc", + "raw/baseline-1/baseline-1-build.execution.json": "sha256:f67f9ff7eb2b82d248efc20bb1d3679eed9433e16e281cd45c7e363f71c151b6", + "raw/baseline-1/baseline-1-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/baseline-1/baseline-1-build.stdout.log": "sha256:d390a93278bba40acdf921465b78d32fd796e5c1d25d1c3684f610b74bfd7e18", + "raw/baseline-1/baseline-1-format.execution.json": "sha256:2dc1a2beaa03ff46e70481114e9dcbf6adf87420c94c18d9294125aacaef50e5", + "raw/baseline-1/baseline-1-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/baseline-1/baseline-1-format.stdout.log": "sha256:4c290f875d898599dc61c394d30a8bfb4b2078c3d85370c732c1217662d07b92", + "raw/baseline-1/baseline-1-lint.execution.json": "sha256:73ae09f89e514d4f02a2c0d3187b4546a5cf4c7b72d80471e381bdf439d204bb", + "raw/baseline-1/baseline-1-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/baseline-1/baseline-1-lint.stdout.log": "sha256:9038624e035a8baa392a3a36fca8915222018629781d2b1180162f5729417378", + "raw/baseline-1/baseline-1-tests.execution.json": "sha256:99d9cc3d9a7e3acc5c44ed302c701413c5966c98bc39a6c3f4c076c627ac133f", + "raw/baseline-1/baseline-1-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/baseline-1/baseline-1-tests.stdout.log": "sha256:8750fb1268e678f7f5e3930697105fbc75341acb6427c13b179e5f9e2a357fcc", + "raw/baseline-1/baseline-1-tests.vitest.json": "sha256:5ef85ec8b976004d58025bea83ccfb17634c07d4a12b959695bfac59823fb45a", + "raw/baseline-1/baseline-1-typecheck.execution.json": "sha256:1b8d8d846111a7fd7a6b9314956c26eae8f50a420a5f4b92e39673f1a53caf7e", + "raw/baseline-1/baseline-1-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/baseline-1/baseline-1-typecheck.stdout.log": "sha256:bf714a224786e69a7fc40cc3d475baaf331567a6ce9372f84f7b4f07444314ea", + "raw/baseline-2/baseline-2-build.execution.json": "sha256:4eac3e7921d587370b981fc1cc3571786e681ee6b075ab3deb53a5ab1ab6100a", + "raw/baseline-2/baseline-2-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/baseline-2/baseline-2-build.stdout.log": "sha256:250bdef3f9fd85073f04e5d4dd1ba36e2252bc2e63fbc3bd68b67ba7962d0911", + "raw/baseline-2/baseline-2-format.execution.json": "sha256:94effd9831f9748841d6a8e88147562838175d673fc79dcefc1b8bb9f5fe0674", + "raw/baseline-2/baseline-2-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/baseline-2/baseline-2-format.stdout.log": "sha256:e84839eda5b71b3ad09ab725d3c07da44d957aaa0fee5fc69748303d1c07f3a6", + "raw/baseline-2/baseline-2-lint.execution.json": "sha256:8f292a3168ba814f56f07e74e81a4c7de17b700f18cf9644c6f7e16c839cc87a", + "raw/baseline-2/baseline-2-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/baseline-2/baseline-2-lint.stdout.log": "sha256:126bc5d89e49bb7fc409805a531c3c7132fb17ec0ebaf4c9089a3af3377ce694", + "raw/baseline-2/baseline-2-tests.execution.json": "sha256:4361c41666f740bfbe60dbdf22d00b5d89c32a027b622edc4844b498fcfb665c", + "raw/baseline-2/baseline-2-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/baseline-2/baseline-2-tests.stdout.log": "sha256:9bce0154b3c347fe7e836ddae5450e888b8e4fc81ba7c387b4a18b54b00ac41e", + "raw/baseline-2/baseline-2-tests.vitest.json": "sha256:c993d9beeea8f8945f118b4d55bd83e9e6171d3e898135dce0986a4a057a3381", + "raw/baseline-2/baseline-2-typecheck.execution.json": "sha256:438989c2317536a88eec5e5b456ab0c50e1ef2c7871b0b6c261b420cfb95eff9", + "raw/baseline-2/baseline-2-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/baseline-2/baseline-2-typecheck.stdout.log": "sha256:8d9fab27b3a2e7f8a3164432a10f3f0f652ee40ba04fc4e9557fcf7f929044be", + "raw/baseline-3/baseline-3-build.execution.json": "sha256:af776e4cfaf4f14ae7f5f28e7bdaf088bf2660c27b423bbc3758a5497daee8cf", + "raw/baseline-3/baseline-3-build.stderr.log": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "raw/baseline-3/baseline-3-build.stdout.log": "sha256:c43232812758dbdfde7920891317dd378932850f89812e9eff77b8e93107438e", + "raw/baseline-3/baseline-3-format.execution.json": "sha256:028a7f712469492442979be3f920bef7bacf3f2469bf6cb89f6efdfe1de29145", + "raw/baseline-3/baseline-3-format.stderr.log": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "raw/baseline-3/baseline-3-format.stdout.log": "sha256:4a62bb8786034c67817a27118805ff52436dffb08c978161f99fbd9fc9909fbe", + "raw/baseline-3/baseline-3-lint.execution.json": "sha256:cda42ea85837dc2305298166f074b65a1dca776c011daa51f08c2a867aac1e88", + "raw/baseline-3/baseline-3-lint.stderr.log": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "raw/baseline-3/baseline-3-lint.stdout.log": "sha256:82ea1a1d7adf617a81387b83fe72ee72d4ed0c226c72479f7c85c763ac41ab4a", + "raw/baseline-3/baseline-3-tests.execution.json": "sha256:94402fd2fc433bafcb87611178fc4648d6d52bed97ed063d1c500f2e4242bcd7", + "raw/baseline-3/baseline-3-tests.stderr.log": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "raw/baseline-3/baseline-3-tests.stdout.log": "sha256:9aec0ce765181a9bce2bf9803f49979909df0e18218ae32ebfc642513f9ce1b0", + "raw/baseline-3/baseline-3-tests.vitest.json": "sha256:62734a352c0aaf71037cb5a163ef0ba9ba64b796ef8fe3fa15f0a811a760904f", + "raw/baseline-3/baseline-3-typecheck.execution.json": "sha256:f9a621d1e60c116191ba5e92459901badae1dd6cf908b49a5f4ff5f6682bc289", + "raw/baseline-3/baseline-3-typecheck.stderr.log": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "raw/baseline-3/baseline-3-typecheck.stdout.log": "sha256:ca534e3f13cddca570130fe3ea8abe812399293f998e21b3b79ab618e5955010", + "reproduction.json": "sha256:2cc23b49ed0abddb31a3f3998d2bd7c5f35df5f9a23b88c6a2c064b26f3ae235", + "scenarios/AVS-001.json": "sha256:833c6e98cea2240614a1b6a7ab356bd15ed1825cd346bc3dd91ac527619357ae", + "scenarios/AVS-002.json": "sha256:28b9e7f5c0afae9b4a497938dc75bf75e091203f726a1261e8e8114f622883cf", + "scenarios/AVS-003.json": "sha256:fc7003d57e117086c7bf47b922c713e98b15de4ef4ac75466d4b0d0cd2b7252d", + "scenarios/AVS-004.json": "sha256:7d4bdee66727039060fc7cbe9e1995a0e38f6b41a61270c6223cc5729def652c", + "scenarios/AVS-005.json": "sha256:0a0d284c5e16a72ff4e65eaeb662706a6cf5435a69823d7dea642b5a98f4d75d", + "scenarios/AVS-006.json": "sha256:7362aaaf8fd9a3a67a532c7b045dd33adae9aacefd3d1d65c88297bf00860fcf", + "scenarios/AVS-007.json": "sha256:d5365821038ebdc2b6fa5df9dd38f80c27ddcc5d9c3aa46a9096907b57937830", + "scenarios/AVS-008.json": "sha256:59a65041cbc17f2a5ac6d722066a51066908846e10bd87c98bcd440a005bf151", + "scenarios/AVS-009.json": "sha256:7586f2ccdaa6b77c2df5a8cee64b8905b937305eb12506725f728edff2e5091f", + "scenarios/AVS-010.json": "sha256:9eb1a365ac64b8d0c2bb9bd5251d0a74b8c8e15d9abc0d47ff6000a61bfc686a", + "summary.json": "sha256:c955d0f40d239235f5037f8a0c78cf545950e56db089e5c5d9a7f17a47fc4e18", + "telemetry/AVS-001.txt": "sha256:8b87b08ebffc1083d60dd8b86e0e9b9a91cd21a0627eb5284bf2ce07109a6c4d", + "telemetry/AVS-002.txt": "sha256:4c58328e0b599ad75e3c794fc5a05da541fc8d83a1b11b4252918c58d7ad4914", + "telemetry/AVS-003.txt": "sha256:2be0c68a65c9bf9b290953327e03cf93ee3163786afcf64385e98c5a55f352b3", + "telemetry/AVS-004.txt": "sha256:ad008838e7ec1da1e29ce2f2d93053f1791d16a0811dfed5b8540dbf13961a93", + "telemetry/AVS-005.txt": "sha256:d4ef1f1b3e12e0c9904507ca65f24de3235c280c7ec5a7a30563398c8c147eb1", + "telemetry/AVS-006.txt": "sha256:e27178f3734e7d730576abb69b39affd0ec3e6bfa7219e176d7a785c58047777", + "telemetry/AVS-007.txt": "sha256:96ae3b144a4a6696addd0a8ce7e08357226a58535c36342e283c88036cbf127e", + "telemetry/AVS-008.txt": "sha256:e0949cb04af8106ec7efad59f11247e098bd2e0a56aea1488ec8362dbca7dac6", + "telemetry/AVS-009.txt": "sha256:4fb607e018f1a1aba6f0b162749d98d5e295c5a3b1a782f2c10f43b4dc62ccdd", + "telemetry/AVS-010.txt": "sha256:45744a9ab43aa73958e7c723b6f302727d34061753fa83dd91eb3f1974d055fb", + "value-receipts/AVS-001-AV_CORE.json": "sha256:b1cfb8b0e5f645c7de8c8487334e4b3f68447b45856fe64564ccb85c0b1a2d32", + "value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json": "sha256:280a43873227abd6210bedc322a2a7f905f201168c209f9e85edc9597b1eb18b", + "value-receipts/AVS-002-AV_CORE.json": "sha256:662e3878a2e8a4a38a27ce130297504db64c5d4e5e08f214dd880b540d650b55", + "value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json": "sha256:09ddbbdfa4e81e93fee293be21b5095aaaaa3633b779d53e77cd20d7a7b9d5dc", + "value-receipts/AVS-003-AV_CORE.json": "sha256:226e738b435fec4a3a75e56f0796bb6185339da6779d34e8c57446355d2408fa", + "value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json": "sha256:d764eafb803c2a0895d7a497d53b1a05cec145a5126eb34ac2e53c794f261717", + "value-receipts/AVS-004-AV_CORE.json": "sha256:5e2b9b2557db764820bb90dd00a6a7ab19e4bc7d51065151f0958752be19d260", + "value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json": "sha256:84a9966db4ed934c3ebb2d4c8526e571915a5fcec786970b6a20e0a42ea4476f", + "value-receipts/AVS-005-AV_CORE.json": "sha256:fd17952f6d5d08676f2125f8483a9e6ac9c618915625a2abaaed22c7b4c8d8d3", + "value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json": "sha256:acff7f708fd5d36d073573367aaa12e06aa749abfae73a2c1fd6392675abdd1d", + "value-receipts/AVS-006-AV_CORE.json": "sha256:75c0bbc786a577bfd0fdb25963fa4480ca80ad9f02513154e97ab88157c23b3b", + "value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json": "sha256:c8d60ea1630bcd5cb4eec0a8445fe33fe5140180795f93bc9f7aaa473231e1a8", + "value-receipts/AVS-007-AV_CORE.json": "sha256:053cbc31360060aa72a18adef9622f092aeec5d1da16a2d4f006aa20a0d8cd41", + "value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json": "sha256:df7fffcdcdd9e686daac158520c421a3bf3d42eee39748f48c8bf1fd9dd282ad", + "value-receipts/AVS-008-AV_CORE.json": "sha256:a3f58169aa1b3c8a0323038ca60517c3689400c6766cde0ee864504952ace138", + "value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json": "sha256:8771ec0d53e1bd9da629e621d716d3474890ce49a1c14708452e18600bc46337", + "value-receipts/AVS-009-AV_CORE.json": "sha256:45a8fa85593d4ebfa5e03e24c140ab6ee6c3530347ef18a02b761b2ad9f9d52b", + "value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json": "sha256:02ad99c4d2a2aa7e3248defdfe34aa9bee341219065decea4b92f216efc41d86", + "value-receipts/AVS-010-AV_CORE.json": "sha256:a34c2919b54aaa390312647a16b7bd501b0f86d9346361f6c537d801983e70d6", + "value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json": "sha256:cf725cccf3880879b45f8c56823293fbd50770de4a685cbe5f8b1b267a92e2c7" + }, + "timing_note": "Evidence bundle hashes may vary when raw observed telemetry varies; semantic summary and analysis identities exclude timing.", + "evidence_bundle_identity": "sha256:1e176b7a40b5f16451797d87784f560f932b686f2fe261731526709331ff1172" +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-001.json b/benchmark/av-exp-001/results-v2/full/AVS-001.json new file mode 100644 index 0000000..08a19cc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-001.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-001", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:ae94be762366dc9b66f937b737ab9247720e26c314962c91808239bfacaf5819", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json" + ], + "duration_ms": 5206.09 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5390.708 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3946.957 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6323.283 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9548.51 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-002.json b/benchmark/av-exp-001/results-v2/full/AVS-002.json new file mode 100644 index 0000000..2b1a90c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-002.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-002", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "FAIL", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:4c72b9ac11c1e9c7bcce4e9103786602bfb119c54ddc49561aab82f98a0ed351", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json" + ], + "duration_ms": 4296.975 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4560.219 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 5042.084 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6477.596 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9334.129 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-003.json b/benchmark/av-exp-001/results-v2/full/AVS-003.json new file mode 100644 index 0000000..155c3c8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-003.json @@ -0,0 +1,178 @@ +{ + "scenario_id": "AVS-003", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "FAIL", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "FAIL", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:9cdda52c781152c736b99c181c8b047be69b794c12be65465a0ba16fa762196a", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json" + ], + "duration_ms": 4444.809 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4516.942 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3811.394 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6795.636 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10721.673 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-004.json b/benchmark/av-exp-001/results-v2/full/AVS-004.json new file mode 100644 index 0000000..a4cdd99 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-004.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-004", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "FAIL", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:b59dbd68b44bbd1aa8c3a63bcb637857bc6f780419be56ff156747cc0c1b3371", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json" + ], + "duration_ms": 4866.646 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5246.564 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4261.651 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6219.747 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9567.529 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-005.json b/benchmark/av-exp-001/results-v2/full/AVS-005.json new file mode 100644 index 0000000..68edc81 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-005.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-005", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "FAIL", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:479aeda9f80cc74dcb3ad2ae60c04c2ab50ba324f89fdce336d1565b9d04f968", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json" + ], + "duration_ms": 4320.491 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4452.016 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3733.681 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6250.103 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 12594.342 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-006.json b/benchmark/av-exp-001/results-v2/full/AVS-006.json new file mode 100644 index 0000000..7881efe --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-006.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-006", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:686475c04c31430d022cdac32e16b243e7f670abc5e8f7053f0bf16c23a6ba01", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json" + ], + "duration_ms": 4906.996 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5721.867 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4434.003 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 7527.044 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10851.659 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-007.json b/benchmark/av-exp-001/results-v2/full/AVS-007.json new file mode 100644 index 0000000..484f91a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-007.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-007", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:2046a128ded511d068527e0df96c2ec4dd7f48bdba781dcd98ef1233713a9280", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json" + ], + "duration_ms": 4173.147 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5594.5 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3790.765 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6115.545 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9487.636 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-008.json b/benchmark/av-exp-001/results-v2/full/AVS-008.json new file mode 100644 index 0000000..6f9244a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-008.json @@ -0,0 +1,177 @@ +{ + "scenario_id": "AVS-008", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:typecheck" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "FAIL", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 2, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:fb88050c84886191cd1ba99f8af5071cfb3071ae90750bb97a882d53f511d9a4", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json" + ], + "duration_ms": 4208.901 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4262.044 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3869.859 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6541.436 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10255.217 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-009.json b/benchmark/av-exp-001/results-v2/full/AVS-009.json new file mode 100644 index 0000000..631257c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-009.json @@ -0,0 +1,178 @@ +{ + "scenario_id": "AVS-009", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "FAIL", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "FAIL" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:983f1f79d330f8932633ea9b777aebadd706a62ec21d67576ffd1d40e9f6d237", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json" + ], + "duration_ms": 4476.557 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 5313.875 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 4553.175 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6435.727 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 9766.565 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/full/AVS-010.json b/benchmark/av-exp-001/results-v2/full/AVS-010.json new file mode 100644 index 0000000..5245493 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/full/AVS-010.json @@ -0,0 +1,175 @@ +{ + "scenario_id": "AVS-010", + "target_sha": "b57db4f86ef179285da216eeb291266da82c361c", + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "outcomes": { + "check:build": "PASS", + "check:format": "PASS", + "check:lint": "PASS", + "check:typecheck": "PASS", + "test:tests/basic.test.tsx": "PASS", + "test:tests/devtools.test.tsx": "PASS", + "test:tests/immer.test.tsx": "PASS", + "test:tests/middlewareTypes.test.tsx": "PASS", + "test:tests/persistAsync.test.tsx": "PASS", + "test:tests/persistSync.test.tsx": "PASS", + "test:tests/shallow.test.tsx": "PASS", + "test:tests/ssr.test.tsx": "PASS", + "test:tests/subscribe.test.tsx": "PASS", + "test:tests/types.test.tsx": "PASS", + "test:tests/vanilla/basic.test.ts": "PASS", + "test:tests/vanilla/shallow.test.tsx": "PASS", + "test:tests/vanilla/subscribe.test.tsx": "PASS" + }, + "complete": true, + "command_outcomes": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "spawn_error": null + } + ], + "identity": "sha256:2c5fd02d8fe17245d56e04cd2b9bae2bdcbb79a22748659c9bdf1d512c9b703a", + "observed_durations_ms": [ + { + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json" + ], + "duration_ms": 4319.333 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "duration_ms": 4392.482 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "duration_ms": 3850.477 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "duration_ms": 6082.96 + }, + { + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "duration_ms": 10442.756 + } + ], + "evidence_files": [ + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stderr.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stdout.log", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stderr.log" + ], + "test_count": 224, + "test_file_count": 13 +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-001.json b/benchmark/av-exp-001/results-v2/oracle/AVS-001.json new file mode 100644 index 0000000..04438dc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-001.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-001", + "full_run_identity": "sha256:ae94be762366dc9b66f937b737ab9247720e26c314962c91808239bfacaf5819", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:f4114feb4fae190f0d63c32c8b95cf5efca8ae10658be6d3e175054c355fa896" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-002.json b/benchmark/av-exp-001/results-v2/oracle/AVS-002.json new file mode 100644 index 0000000..dd2de92 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-002.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-002", + "full_run_identity": "sha256:4c72b9ac11c1e9c7bcce4e9103786602bfb119c54ddc49561aab82f98a0ed351", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:0bf5d3a63a8d432da61b20f3639a25f756b231bb019d6e74179a593ed6a1a08c" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-003.json b/benchmark/av-exp-001/results-v2/oracle/AVS-003.json new file mode 100644 index 0000000..9cad54c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-003.json @@ -0,0 +1,11 @@ +{ + "scenario_id": "AVS-003", + "full_run_identity": "sha256:9cdda52c781152c736b99c181c8b047be69b794c12be65465a0ba16fa762196a", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:2567f00eb3446ec4ad3e5c1dc03a4b02a3507842776f84e1bc3de5c6d9de55e7" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-004.json b/benchmark/av-exp-001/results-v2/oracle/AVS-004.json new file mode 100644 index 0000000..4d02994 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-004.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-004", + "full_run_identity": "sha256:b59dbd68b44bbd1aa8c3a63bcb637857bc6f780419be56ff156747cc0c1b3371", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:2fd94c49dc481c86ac40a25b98f05bb8b93636a362adf72bafc8adb8d5a3d58b" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-005.json b/benchmark/av-exp-001/results-v2/oracle/AVS-005.json new file mode 100644 index 0000000..58ca27f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-005.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-005", + "full_run_identity": "sha256:479aeda9f80cc74dcb3ad2ae60c04c2ab50ba324f89fdce336d1565b9d04f968", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:2d2d927a3c64be82e374f9818f25eccfc0782f3383ecfbd823762b585d5f116c" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-006.json b/benchmark/av-exp-001/results-v2/oracle/AVS-006.json new file mode 100644 index 0000000..a0079c1 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-006.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-006", + "full_run_identity": "sha256:686475c04c31430d022cdac32e16b243e7f670abc5e8f7053f0bf16c23a6ba01", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:179373f59296b96b85f7e66cb22ee43d3bad1461a332eeb908d49224c30f03eb" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-007.json b/benchmark/av-exp-001/results-v2/oracle/AVS-007.json new file mode 100644 index 0000000..9a70cdf --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-007.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-007", + "full_run_identity": "sha256:2046a128ded511d068527e0df96c2ec4dd7f48bdba781dcd98ef1233713a9280", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:08c2cca5c0834afb6b84595e357c1bf32bcf345dbafd1caadca4197e002b9e91" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-008.json b/benchmark/av-exp-001/results-v2/oracle/AVS-008.json new file mode 100644 index 0000000..862da21 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-008.json @@ -0,0 +1,10 @@ +{ + "scenario_id": "AVS-008", + "full_run_identity": "sha256:fb88050c84886191cd1ba99f8af5071cfb3071ae90750bb97a882d53f511d9a4", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [ + "check:typecheck" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:07977c1950a17e877d77b4caba6226bce7d53bbc48b888d5b95ad48386d88134" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-009.json b/benchmark/av-exp-001/results-v2/oracle/AVS-009.json new file mode 100644 index 0000000..36dd3bd --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-009.json @@ -0,0 +1,11 @@ +{ + "scenario_id": "AVS-009", + "full_run_identity": "sha256:983f1f79d330f8932633ea9b777aebadd706a62ec21d67576ffd1d40e9f6d237", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:5e42e3816975fcdba2b06e86a95bb4d88ca10261ebe920c1ca14254f36ed333a" +} diff --git a/benchmark/av-exp-001/results-v2/oracle/AVS-010.json b/benchmark/av-exp-001/results-v2/oracle/AVS-010.json new file mode 100644 index 0000000..83a6d20 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/oracle/AVS-010.json @@ -0,0 +1,8 @@ +{ + "scenario_id": "AVS-010", + "full_run_identity": "sha256:2c5fd02d8fe17245d56e04cd2b9bae2bdcbb79a22748659c9bdf1d512c9b703a", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "relevant_check_ids": [], + "definition": "Clean PASS changed to scenario FAIL; relevant within this frozen verification catalog.", + "identity": "sha256:def51ba8fc3b732c8ae8af880387750ad32934028ad5bf20a01e46b5f7b406cf" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.execution.json new file mode 100644 index 0000000..3b78f08 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9548.51, + "spawn_error": null, + "stdout_sha256": "sha256:6c54a31158edf228b7bf3b925df87a264d73bd9493103a56903a9398ad8809bf", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stdout.log new file mode 100644 index 0000000..b78f154 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 461ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 56ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 14ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/react.js in 66ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 41ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 155ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 62ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 62ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 17ms +. build:shallow: created dist/shallow.js in 46ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/esm/shallow.mjs in 11ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 67ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 22ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 53ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 16ms +. build:traditional: created dist/traditional.js in 53ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 22ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.1s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 35ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 11ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.execution.json new file mode 100644 index 0000000..6018bcf --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5390.708, + "spawn_error": null, + "stdout_sha256": "sha256:4f63fd1da0ca68bc946ef26cb79f61f0ef42c30bf2dd190973b334c5427ed2f5", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stdout.log new file mode 100644 index 0000000..78f797c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 592ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.execution.json new file mode 100644 index 0000000..eb66ff8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6323.283, + "spawn_error": null, + "stdout_sha256": "sha256:58ef5a2a260cafd97cb6361e4e77d25bb33b7709e25f21c442fd3f13fb224c85", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stdout.log new file mode 100644 index 0000000..60d4bcb --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 448ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.execution.json new file mode 100644 index 0000000..92f97af --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/ssrSafe.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3596.022, + "spawn_error": null, + "stdout_sha256": "sha256:f85b2371e413f9a4fdc25219cbd6f2bb5fa5110ddbe52a04d6eaf4449b5200bc", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stdout.log new file mode 100644 index 0000000..2ad4dd2 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 474ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json new file mode 100644 index 0000000..36aa205 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":52,"numPassedTestSuites":52,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":166,"numPassedTests":166,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143834815,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.510643999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.5450660000001335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6506709999998748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":14.033110999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":2.4404460000000654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.6358219999999619,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.34201099999995677,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2652299999999741,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.30171199999995224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3449209999998857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.45175099999983104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.4405739999999696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5094819999999345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.48034099999995306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.475512000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8113419999999678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6154520000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.47894099999984974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.42079100000000835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3691920000001119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.33545200000003206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.37417100000016035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.2950710000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3767619999998715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.30785999999989144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.38757200000009107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0265239999998812,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.19124999999985448,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.41029200000002675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2256609999999455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.1958999999999378,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.3841709999999239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.288253000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.139274000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.9652619999999388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4649609999999029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.505710999999792,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1501439999999548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.4509210000001076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0170630000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.9277920000001814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6415610000001379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6117119999998977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7667309999999361,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.7821420000000217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.4170639999999821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.1370929999998225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.7636219999999412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6437129999999343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7641510000000835,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5294619999999668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.739341000000195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4502709999999297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6347319999999854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.856612000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6758320000001277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.6941410000001724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5047720000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.6646350000000893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.219432999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4509330000000773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3932600000000548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.6040730000001986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0457919999998921,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836773,"endTime":1788143836837.046,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.5859749999999622,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5636329999999816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.26939999999990505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5598610000001827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2669100000000526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.14509099999986574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":3.4085110000000896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.2415809999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.9506750000000466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.2681209999998373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.1803099999999631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.210550000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.13477000000011685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5349820000001273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.22841999999991458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.21763099999998303,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2720999999999094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.25562200000013036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.25551199999995333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2945799999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.5035320000001775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.2327500000001237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.14009200000009514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.27026999999998225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.27767199999993863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.28852099999994607,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836772,"endTime":1788143836786.2886,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":39.88623499999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.155398000000105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":9.662438000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":4.736243999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":5.069735000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.834088000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.4170670000000882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":2.584487999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.676008000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.2308570000000145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.0160859999998593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.6458020000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.76615199999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.7631830000000264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.279145999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.0997259999999187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.489097000000129,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.4964330000000245,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0605929999999262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5903129999999237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.6985110000000532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.34217100000000755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.4509809999999561,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.518130999999812,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.5640109999999368,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6558420000001206,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836771,"endTime":1788143836870.6558,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.0178339999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8209130000000187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.742514999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.2046629999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.7152820000001157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5746510000001308,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.746073000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.9984329999999773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.298236000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.4457709999999224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.48992100000009486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.43194099999982427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.5024809999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.28967099999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.4138020000000324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.28538000000003194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8655319999998028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4451610000000983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3443520000000717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.6130220000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8731029999999009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2610100000001694,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836770,"endTime":1788143836791.261,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.1949070000000575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.1224719999997887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.6358769999999367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.6209620000001905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.7090430000000651,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3132499999999254,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4075510000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6835729999997966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.37067099999990205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.4541509999999107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3344720000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.0675430000001143,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836762,"endTime":1788143836774.0676,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.2590160000002015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.100793000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.29044100000010076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.28238099999998667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.3190529999999399,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2908100000001923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.2067219999998997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836762,"endTime":1788143836767.319,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.9978969999999663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.590895000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.38883099999998194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.45010099999990416,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.237440000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.7363229999998566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3221099999998387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5231420000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3297210000000632,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143836762,"endTime":1788143836768.5232,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.execution.json new file mode 100644 index 0000000..4c61917 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5206.09, + "spawn_error": null, + "stdout_sha256": "sha256:75e2c58e85848de2c701315547d4a87433799dc40e34ea2794c2cb0e34872786", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stdout.log new file mode 100644 index 0000000..b43ee55 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 457ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json new file mode 100644 index 0000000..bc4e017 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143838311,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":20.60173000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":38.02533900000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.8738710000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.96895799999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.848613999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":5.667915999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.884494000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.138901000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":8.67681400000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.208899999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.475656000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.35971199999994496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.42495099999996455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5323210000001382,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7798830000001544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.1606289999999717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.149177999999665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":9.595478999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":6.797301000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":12.743557000000237,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":5.875645999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.643094999999903,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840273,"endTime":1788143840440.643,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":6.836971000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":0.9506930000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.42709100000001854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.514830000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":2.511637999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.3390039999999317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5391610000001492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.6888330000001588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.9579230000001644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.5454299999998966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6219330000001264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.4471240000000307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.580110999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":1.0604439999999613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4931619999999839,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.0214630000000398,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.8640429999998105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5460610000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.4907510000000457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4627809999999499,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.46018099999992046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6118810000000394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4022619999998369,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4292609999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4140910000000986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":1.11209400000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1891540000001442,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.4544710000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6023009999998976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3102920000001177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2994309999999132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.46652099999982966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.1586720000000241,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.5732050000001436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":2.862916999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.9186019999999644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":4.4124729999998635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.3347440000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.47268099999996593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.8609230000001844,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":2.4865280000003622,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6045820000003914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5683319999998275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.64053100000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.2504039999998895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.143235999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.8354159999998956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.8333920000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6728520000001481,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0513719999999012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.9479129999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.7311859999999797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.518931000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8230520000001889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8239130000001751,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7776420000000144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.9502320000001419,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6520809999997255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.2117760000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.7927190000000337,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.0253050000001167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.46290099999987433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.6732320000000982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.16413300000022,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840330,"endTime":1788143840414.164,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":4.078040999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.9844330000000809,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.3554509999999027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.2870739999998477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.3461810000001151,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143841950,"endTime":1788143841957.3462,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.234046000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":1.9206349999999475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.5005320000000211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5719030000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.6363409999999021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.40429100000005747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.44685099999992417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.2533210000001418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.3326540000000477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.30985099999998056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.28163999999992484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.48155100000008133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.16794900000013513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5637609999998858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1868409999999585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.16181000000005952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.31462200000009943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.19632100000012542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1350710000001527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.20671100000004117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.3972009999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.324971000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.15958999999998014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.23807099999999082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.20224099999995815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.1738599999998769,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840350,"endTime":1788143840364.238,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":49.497261999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.867279000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":16.383867999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":10.880161999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":9.652528000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":5.348885000000337,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":4.840944000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.404845000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.80085599999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.6308200000003126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":5.0110139999997045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.0077219999998306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.6047350000003462,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.2567239999998492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":5.602546999999959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":4.0386510000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":5.15456499999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":9.081126999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.3684439999997267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7279709999997976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9336429999998472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":1.250633999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.7023519999997916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.6165820000001077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":2.7263769999999568,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":1.2730040000001281,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840341,"endTime":1788143840502.273,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":8.151184000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.3497739999997975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.983365000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":2.555347999999867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.575643000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.7673419999998714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.6242409999999836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.4039849999999205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.5860219999999572,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.6045910000000276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.4032110000000557,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":1.049904000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4129499999999098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.25333999999998014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.37047099999995226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.24085200000013174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.4396340000000691,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.761391999999887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2997100000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5329219999998713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":1.346563999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.24405000000001564,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840343,"endTime":1788143840374.2441,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.6402170000001206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.4913010000000213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":46.983596000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.969937000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":13.033038000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":12.830326000000014,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840262,"endTime":1788143840344.8303,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":61.211807000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.700002999999924,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143842011,"endTime":1788143842079.7,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":3.0540790000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.556056000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.799587999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.7593329999999696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6590609999998378,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3683120000000599,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.6653519999999844,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.49612100000013015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4724719999999252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.649552999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":1.0342020000000502,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.8920619999998962,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143841818,"endTime":1788143841831.892,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.117706999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8442919999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3439410000000862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2861609999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.2971140000001924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.290911000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.21561000000019703,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143841983,"endTime":1788143841988.291,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":18.24598200000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":7.929333000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.6105609999999615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.3406710000001567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3739020000000437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":5.551255999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8549530000000232,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.27475000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.23852099999999155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2936700000000201,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143841890,"endTime":1788143841925.2937,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.222596000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.46347100000002683,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.38000099999999293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.35227099999997336,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.49269200000003366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.28904099999999744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.918132999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.20505099999991216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.25182999999992717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.34986099999991893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2653810000001613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.135379999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7651720000001205,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143840236,"endTime":1788143840243.7651,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.24660700000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.097886000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.566131999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.7776220000000649,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3147309999999379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.36328099999991537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":1.0792429999999058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.8486719999998513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":3.5317999999999756,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143841930,"endTime":1788143841942.5317,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-001/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.execution.json new file mode 100644 index 0000000..377eb91 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3946.957, + "spawn_error": null, + "stdout_sha256": "sha256:2369b65deb9f22fe17ce278db91e9da845c43ee603f567f2b722650fc0fbf408", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stdout.log new file mode 100644 index 0000000..31f9731 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 443ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.execution.json new file mode 100644 index 0000000..53c3fb4 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9334.129, + "spawn_error": null, + "stdout_sha256": "sha256:31026927af4b413517d9e64bea2863defbf02d3d523b54fe559ba86721f3fd96", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stdout.log new file mode 100644 index 0000000..939d335 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 425ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: created dist/react.js in 58ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 13ms +. build:vanilla: created dist/vanilla.js in 59ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: created dist/esm/vanilla.mjs in 17ms +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 169ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 70ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 52ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 10ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/shallow.js in 49ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 21ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 59ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 17ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:react:shallow: created dist/react/shallow.js in 69ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/esm/react/shallow.mjs in 18ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 60ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 16ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 32ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.execution.json new file mode 100644 index 0000000..a4b9ccc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4560.219, + "spawn_error": null, + "stdout_sha256": "sha256:4c290f875d898599dc61c394d30a8bfb4b2078c3d85370c732c1217662d07b92", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stdout.log new file mode 100644 index 0000000..226f410 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 462ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.execution.json new file mode 100644 index 0000000..e13c3af --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6477.596, + "spawn_error": null, + "stdout_sha256": "sha256:37961f3cd29361c3d36b03fcfc9ed1e0067954e81bdf6aaaaa3e6fabe182d602", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stdout.log new file mode 100644 index 0000000..1cea914 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 479ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.execution.json new file mode 100644 index 0000000..80b5519 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/vanilla/shallow.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 2772.415, + "spawn_error": null, + "stdout_sha256": "sha256:e1ca38ab96e306f3219acd3025f27ff48afba89554bf145ca7a670e97597767b", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stdout.log new file mode 100644 index 0000000..4478e25 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 418ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json new file mode 100644 index 0000000..a3d7b73 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":8,"numPassedTestSuites":6,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":19,"numPassedTests":17,"numFailedTests":2,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143870208,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.528436000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3471110000000408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":28.61075299999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.578594000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.642219000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.685512000000017,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143871607,"endTime":1788143871653.6855,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"failed","title":"compares primitive values","duration":8.386393999999882,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/shallow.test.tsx:6:33\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.8314429999998083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.5065919999999551,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.4232809999998608,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5460209999998824,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"failed","title":"compares functions","duration":1.1747129999998833,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/shallow.test.tsx:138:53\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.563282000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.1969800000001669,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2396320000000287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3409510000001319,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.28337099999998827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.20992999999998574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.2787909999999556,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143871548,"endTime":1788143871563.2788,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/shallow.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.execution.json new file mode 100644 index 0000000..98db5f1 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4296.975, + "spawn_error": null, + "stdout_sha256": "sha256:e4cdd2cb48aa5f5247d890c242aa4f0a0e9c33a2f151542d735884c93985b734", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stdout.log new file mode 100644 index 0000000..123a753 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 416ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json new file mode 100644 index 0000000..fb00c41 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":64,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":222,"numFailedTests":2,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143872993,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.638149999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":31.56922099999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.524495999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.992636000000175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.316692000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.098743000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.228225000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.0365620000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.15400499999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.927308000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.654275000000098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.30736000000001695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.36690199999998185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5056010000000697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.114533000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.0053580000001148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.560426000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":5.316536000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.645706000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":6.794020000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.078181000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3268729999999778,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874524,"endTime":1788143874660.327,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":2.82821899999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":0.8908229999999548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.46087099999999737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":9.071725999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":5.33208599999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.001312999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.610932000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.32910100000003695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.28656999999998334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3194820000001073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":1.0531040000000758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3888240000001133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5696510000000217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.5233619999999064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4232409999999618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.404634999999871,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.7102610000001732,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.7216519999999491,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6123309999998128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4624309999999241,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.46272099999987404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.44093199999997523,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.395080999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.42323000000010325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.3930410000000393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3848210000001018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":2.408096999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.21410999999989144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5848209999999199,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.4375009999998838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.332932000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.6662330000001475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.4145539999999528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.6899949999999535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.412034000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.41691099999979997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5507719999998244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":4.2230829999998605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.9926519999999073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":4.428322999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":3.4163989999999558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7970020000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6579920000001493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9661630000000514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.0897429999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.0079359999999724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":3.0629089999999906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.3292840000001434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":1.3211640000001807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0929830000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7835219999999481,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.2394639999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7955230000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.6779850000000351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8193230000001677,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.8065420000000358,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8662229999999909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6621010000001206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.138826999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.7777059999998528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.925615999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3689910000000509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":2.292466999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0455439999998362,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874562,"endTime":1788143874649.0457,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.6058580000001257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7494729999998526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.25816100000020015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9540130000000318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2959210000001349,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143875841,"endTime":1788143875845.296,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.9677780000001803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8640820000000531,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.41778999999996813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7229630000001634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.3376610000000255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.5497119999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.48371099999985745,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.45626100000004044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.123414000000139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3037699999999859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2815610000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.2920719999999619,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.20890000000008513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":1.0143129999999019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.22102899999981673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1970810000000256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.5542810000001737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.37405100000000857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.20613000000003012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2065820000000258,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.35883000000012544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.3290309999999863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.11432000000013431,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.16326100000014776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.21899000000007618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.16813100000013037,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874563,"endTime":1788143874577.219,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":46.152483000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.56214900000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":12.684147000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.172384000000193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":5.283914999999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.146488999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.259426000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.8286319999999705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.5584299999998166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.9090960000000905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":4.610793000000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":2.5374080000001413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.956662999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":2.071546000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.165858999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.4826479999999265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.7151300000000447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.677445999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9973829999998998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6381529999998747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.733551000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.4048319999999421,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.4422420000000784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4932509999998729,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2409620000000814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6123019999999997,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874564,"endTime":1788143874688.6123,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.5611059999998815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8254919999999402,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.6181440000000293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.029794000000038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.0744630000001507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.540070999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.8798030000000381,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.1289530000001378,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.009123000000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.411679999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.44269099999996797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.45279100000016115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4862909999999374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.28957000000013977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.432461000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2931499999999687,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.339033999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6828729999999723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3379899999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.6465820000000804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9433830000000398,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.27498100000002523,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874564,"endTime":1788143874584.275,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":5.856287000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.34692100000006576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":39.953565000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.532452999999805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.52096900000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":6.826839999999947,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143875733,"endTime":1788143875796.827,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":45.234361000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.010170000000016,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143875917,"endTime":1788143875970.0103,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.6232950000000983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8912829999999303,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.4798040000000583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4295609999999215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4977519999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2669419999999718,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3363209999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3338810000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3404800000000705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.38403199999993376,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.2911019999999098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.3074410000001535,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143875754,"endTime":1788143875761.3074,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.4203379999999015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.1652919999999085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3685920000000351,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.3850209999998242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.1253340000000662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2929819999999381,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.23807000000010703,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874547,"endTime":1788143874553.293,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.692041000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6357419999999365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.31567100000006576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.29448999999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.40425200000004224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8348130000001674,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7537529999999606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.514171000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.25321099999996477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2762000000000171,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143875838,"endTime":1788143875853.2761,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"failed","title":"compares primitive values","duration":7.020730000000185,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/shallow.test.tsx:6:33\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":2.0636560000000372,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.5428119999999126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.4575520000000779,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.42125099999998383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"failed","title":"compares functions","duration":1.052073000000064,"failureMessages":["AssertionError: expected false to be true // Object.is equality\n at /tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/shallow.test.tsx:138:53\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-002/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.44738100000017766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.15176999999994223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.15211100000010447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.25438099999996666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2750300000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.22188099999993938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.22239999999987958,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143874480,"endTime":1788143874494.2224,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.932649000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.703025000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3859109999998509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":2.894937999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.30635099999994964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3585009999999329,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.34684100000004037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":2.337737000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.36071100000003753,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143875776,"endTime":1788143875787.3606,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-002/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.execution.json new file mode 100644 index 0000000..0b197fa --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5042.084, + "spawn_error": null, + "stdout_sha256": "sha256:f602880758d5ae1ebc5f8c4a7b1ecab84cbc408a43caf25af84896d9df35ec98", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stdout.log new file mode 100644 index 0000000..8fee152 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 1.2s using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.execution.json new file mode 100644 index 0000000..69936d7 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10721.673, + "spawn_error": null, + "stdout_sha256": "sha256:ad74181fea44559752bd7bc369edd9155150c814e1b56f2bc785750bc620a7e2", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stdout.log new file mode 100644 index 0000000..b05f47a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 455ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: created dist/react.js in 83ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 20ms +. build:vanilla: created dist/vanilla.js in 72ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: created dist/esm/vanilla.mjs in 38ms +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 193ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 80ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:middleware:immer: created dist/middleware/immer.js in 56ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 16ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:shallow: created dist/shallow.js in 56ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 80ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 17ms +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 23ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:react:shallow: created dist/react/shallow.js in 65ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 25ms +. build:react:shallow: Done +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:traditional: created dist/traditional.js in 63ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 29ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.7s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 39ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 12ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.execution.json new file mode 100644 index 0000000..0c17a79 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4516.942, + "spawn_error": null, + "stdout_sha256": "sha256:f5cd1ac79cfbf0b733632b439e8b3b3d163c74f5fea752de1547466c5f7802fe", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stdout.log new file mode 100644 index 0000000..eb70e6b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 422ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.execution.json new file mode 100644 index 0000000..d7c63ef --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6795.636, + "spawn_error": null, + "stdout_sha256": "sha256:5368fd19f9c904f97094389b4884b78fd1aef0376855831bb4fbbff60a000a67", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stdout.log new file mode 100644 index 0000000..7d50a67 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stdout.log @@ -0,0 +1,9 @@ +Already up to date +Done in 502ms using pnpm v11.3.0 + +/tmp/av-exp-001-results-v2-scratch/AVS-003/src/vanilla.ts + 74:13 error 'previousState' is assigned a value but never used. Allowed unused vars must match /^_/u @typescript-eslint/no-unused-vars + +✖ 1 problem (1 error, 0 warnings) + +[ELIFECYCLE] Command failed with exit code 1. diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.execution.json new file mode 100644 index 0000000..f5e7496 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/vanilla.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4342.861, + "spawn_error": null, + "stdout_sha256": "sha256:63679b418f801e4603aa7577b5f4281e318ec0fa67967461a86dac2f9ebd8345", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stdout.log new file mode 100644 index 0000000..7adfc21 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 416ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json new file mode 100644 index 0000000..dce66cb --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":61,"numPassedTestSuites":59,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":211,"numPassedTests":210,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143904256,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.229139999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":32.441262999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":6.196287999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.855495999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":25.387083000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":6.1200280000000475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.279635000000098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":6.299496999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":7.067111000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.692767999999887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.793683999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.29062100000010105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.26232100000015635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.46252099999992424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.9668319999998403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.7721579999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.671953999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.260651000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.897795000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.974873000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.7476210000002084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.0683329999999387,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905922,"endTime":1788143906073.0684,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.8133809999999357,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.2729739999999765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.1668230000000221,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":11.491461999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.275904999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.7314730000000509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":1.05031299999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.41338999999993575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.9971530000000257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.5253219999999601,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.590581999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3909939999998642,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5459110000001601,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8539630000000216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4274110000001201,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.2197929999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.118793000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.847293000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6548929999999018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5471220000001722,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4390209999999115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.47652100000004793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.38012099999991733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.48246099999983016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.42214100000001054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":1.0038730000001124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.450264000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.22027100000013888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6052219999999124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.5087110000001758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.3276109999999335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5665620000002036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2917730000001484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":2.004527000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.8404250000000957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4975609999999051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6248329999998532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.3813340000001517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8912520000001223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1534320000000662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.3914850000001024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.9849520000000211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.639840999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8210630000000947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.170703999999887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.6480280000000675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.9082550000000538,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.10001299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":1.4517930000001797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.172503000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.742661999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.86256800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6908010000001923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8528810000000249,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8349330000000919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6293920000000526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8131030000001829,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6076709999999821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.0958060000000387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.524787999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.8487350000000333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.32377199999996265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5692840000001524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.1467929999998887,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905953,"endTime":1788143906034.1467,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.7703170000002046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.8081710000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.27924099999995633,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9957319999998617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2639009999998052,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143907201,"endTime":1788143907206.264,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.4206440000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":2.1820459999999002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4385409999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":1.5269639999999072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2791310000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.16588099999989936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.2537600000000566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.416932000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.6552350000001752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.9019029999999475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.31516099999998914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.5296409999998559,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.29701999999997497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5601220000000922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1748809999999139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.13823999999999614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.1791800000000876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.18999200000007477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1979799999999159,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.21069099999999708,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.41620100000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.3327409999999418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1379699999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2017609999998058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.179691000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.18320999999991727,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905964,"endTime":1788143905978.2017,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":50.9927560000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":10.178368999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":21.65953300000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":6.995560000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":6.342589000000089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":7.558070999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.3881690000000617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.678413000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.88227199999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.405787000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.4929469999999583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.091893999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.0174620000000232,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.6475150000001122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.1328289999999015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":3.101239000000078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.256409000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.832518000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9433229999999639,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6255020000000968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.845681999999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.3363019999999324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.3957909999999174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5007020000000466,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.30312000000003536,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.8296230000000833,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905950,"endTime":1788143906095.8296,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.320215999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7432320000000345,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.3193739999999252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9994630000001052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.353742999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5117219999999634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.43650000000002365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.521464000000151,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.8454219999998713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3306509999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5655810000000656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.36334099999999125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.39317099999993843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.23977000000013504,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.33896099999992657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.25561100000004444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7618519999998625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6105820000000222,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.29211999999984073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5554120000001603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8327830000000631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2547700000000077,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905950,"endTime":1788143905969.255,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.4141649999999117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.31526999999982763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":28.840812000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":3.8798710000000938,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":5.9590670000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":9.812068999999838,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905929,"endTime":1788143905978.812,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":49.2449509999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":9.539467999999943,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143907236,"endTime":1788143907295.5396,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.1071170000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0271839999998065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.3495960000000196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.48039200000016535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5562820000000102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.34141099999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5730109999999513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.43083200000000943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.43549099999995633,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"failed","title":"should pass previous and current state to listener","duration":11.055321999999933,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called with arguments: [ { count: 1 }, { count: +0 } ]\n\nReceived:\n\n 1st vi.fn() call:\n\n [\n {\n \"count\": 1,\n },\n {\n- \"count\": 0,\n+ \"count\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1487:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-003/tests/subscribe.test.tsx:106:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.46659100000010767,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.3147509999998874,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143907052,"endTime":1788143907073.3147,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.0447159999998803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7931019999998625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2836810000001151,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.24389100000007602,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":3.5333700000001045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.46182199999998375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.27848100000005616,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143905938,"endTime":1788143905946.2786,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.510659999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5938320000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3152509999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.29500099999995655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.35718999999994594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.373894000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7411420000000817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.3582409999999072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.3145210000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2768510000000788,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143907160,"endTime":1788143907175.2769,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.6648549999999886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.48050400000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3888409999999567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.41061100000001716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.210421000000224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.2612209999999777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.27137999999990825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.4080709999998362,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2864509999999427,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143907145,"endTime":1788143907150.408,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.execution.json new file mode 100644 index 0000000..fcb482e --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4444.809, + "spawn_error": null, + "stdout_sha256": "sha256:5957efea0df5e1eef345f5f429aae94d7cc3116e9cf2fa0b00b53ac9f7a29d0a", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stdout.log new file mode 100644 index 0000000..3502245 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 466ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json new file mode 100644 index 0000000..ab02d0b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":64,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":223,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143908776,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":11.335984000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.41028399999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.0270779999998467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":10.073609000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":15.048123000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.9285910000000968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.45598300000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.697930999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":9.68468699999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.186118999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.043760999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.27901999999994587,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.28889200000003257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.42245100000013736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7563419999999041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.556528000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.667165999999952,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.481933000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.524574999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.653716000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.912800999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.347114000000147,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910378,"endTime":1788143910514.3472,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.961421999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3765240000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.661871999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":17.67259100000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.2754930000000968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.6890510000000631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4028619999999137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3312620000001516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3627010000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3875820000000658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5665910000000167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":3.958750999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6155519999999797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.7527029999998831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.5087210000001505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9927439999999024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.0563730000001215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":1.000182999999879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6004129999998895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4885509999999158,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4172209999999268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6567519999998694,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.38621100000000297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.40195199999993747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.5640820000000986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.42483100000004015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2401640000000498,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.23315100000013445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.7882520000000568,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.5260310000001027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.307350999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5165810000000874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":2.2074270000000524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.6697149999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":2.7003270000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.47912099999985003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5872809999998481,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2130239999999048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8333729999999377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2242040000000998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.227863999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6928909999999178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.603162999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8819119999998293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.1202920000000631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.0086059999998724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.749885999999833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.776691000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6229920000000675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7509529999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5685809999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.9879539999999452,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.570062999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.5332710000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8111730000000534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.48469100000011167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7909629999999197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5885310000001027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7155850000001465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.354616999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.1846069999999145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.4003609999999753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.6284740000000966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.5280549999999948,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910409,"endTime":1788143910493.528,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.18473599999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6003319999999803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.19722100000012688,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.037702999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.27428200000008474,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143911744,"endTime":1788143911748.2742,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":3.1410000000000764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7928609999999026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4350210000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.730652000000191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.44263100000011946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.23759099999983846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4212320000001455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3119019999999182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.5255240000001322,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.41344200000003184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2551009999999678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.23662000000012995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.2357510000001639,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.37932100000011815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.31187099999988277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.26729999999997744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2768309999999019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.20187000000009903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.2908910000001015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.21109099999989667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2516899999998259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.18944099999998798,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.13750000000004547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2731610000000728,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.16032900000004702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.17867200000000594,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143911735,"endTime":1788143911748.2732,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":41.163828000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.999803999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.69444599999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":7.545671999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.326401000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.456908999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.210696999999982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.647232000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.4846999999999753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.1005660000000717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.8362879999999677,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.3983549999998104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9844030000001567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0995230000000902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":4.3120329999999285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":4.376422000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.4321500000000924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.437538000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.8804520000001048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5709610000001248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9115429999999378,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6109209999999621,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5683620000002065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5513109999999415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.21309100000007675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7375919999999496,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910413,"endTime":1788143910536.7375,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.7953959999999825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.845491999999922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.296004000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8504520000001321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6021620000001349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.448701999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.5497620000001007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.1371229999999741,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.7389520000001539,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.6371819999999389,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.529100999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3647120000000541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.37053100000002814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.24538000000006832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3632509999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2279399999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.931154000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":3.0325980000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.34314100000005965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5347410000001673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7614929999999731,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2247810000001209,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143911661,"endTime":1788143911682.7615,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.7464449999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3998509999998987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":37.75518800000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.547146000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":7.847302000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":7.778093000000126,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910381,"endTime":1788143910442.778,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":49.330331000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":10.788182000000006,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910368,"endTime":1788143910428.788,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.4458340000001044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0464019999999437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.599425999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.31582000000003063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.321760999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.19287099999996826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":1.1471030000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.2849710000000414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.8746929999999793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"failed","title":"should pass previous and current state to listener","duration":7.648842000000059,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called with arguments: [ { count: 1 }, { count: +0 } ]\n\nReceived:\n\n 1st vi.fn() call:\n\n [\n {\n \"count\": 1,\n },\n {\n- \"count\": 0,\n+ \"count\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1487:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-003/tests/subscribe.test.tsx:106:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-003/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.4756720000000314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.41659200000003693,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910402,"endTime":1788143910417.4756,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.02187600000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.077442999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2919809999998506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2962009999998827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9689330000001064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.22194100000001526,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20195000000012442,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143911723,"endTime":1788143911728.222,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":15.206205000000182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5103119999998853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.34670200000005025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2654419999998936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.2700199999999313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.2641340000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5486809999999878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.18677099999990787,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.16161000000010972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2895309999998972,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143911723,"endTime":1788143911742.2896,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.0852259999999205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4889210000001185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3806010000000697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.2990709999999126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.467241999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2513500000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.6359709999999268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.20923999999990883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.23036000000001877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.38082200000008015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.21493999999984226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.12934100000006765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.5923410000000331,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143910342,"endTime":1788143910349.5923,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":3.6252499999998236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6322339999999258,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.39322200000015073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.3559909999999036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.280971000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4865709999999126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3693020000000615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5075919999999314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3684009999999489,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143911735,"endTime":1788143911742.5076,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-003/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.execution.json new file mode 100644 index 0000000..9be5661 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3811.394, + "spawn_error": null, + "stdout_sha256": "sha256:df5011c506ba57b945d9215149b85fd7aa8e595859cb3bc5986cb05aaad79367", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stdout.log new file mode 100644 index 0000000..8259bf0 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 409ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.execution.json new file mode 100644 index 0000000..41c5a45 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9567.529, + "spawn_error": null, + "stdout_sha256": "sha256:966249e09b0056be439bb97d89855d2cdc813d92ede12b6c44207488f43a3b3c", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stdout.log new file mode 100644 index 0000000..39efcda --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 434ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 84ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 67ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 17ms +. build:react: created dist/esm/react.mjs in 30ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 175ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 86ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 66ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 12ms +. build:shallow: created dist/shallow.js in 45ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/esm/shallow.mjs in 13ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 58ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 19ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 58ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 13ms +. build:traditional: created dist/traditional.js in 64ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 22ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.2s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 34ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.execution.json new file mode 100644 index 0000000..3bf1f88 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5246.564, + "spawn_error": null, + "stdout_sha256": "sha256:b70c49c9e025618c9b29f76196b6c03456caf1e1e3e501f8dd3557c7fa27994d", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stdout.log new file mode 100644 index 0000000..6fc106a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 454ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.execution.json new file mode 100644 index 0000000..a1440d5 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6219.747, + "spawn_error": null, + "stdout_sha256": "sha256:ca534e3f13cddca570130fe3ea8abe812399293f998e21b3b79ab618e5955010", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stdout.log new file mode 100644 index 0000000..aa4dab9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 441ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.execution.json new file mode 100644 index 0000000..131b7ac --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/persist.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5682.563, + "spawn_error": null, + "stdout_sha256": "sha256:50d9bb78ad86ece6f4ff9f200467e332b293e77a5080f104fd9c23f4aeec0608", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stdout.log new file mode 100644 index 0000000..15df362 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 577ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json new file mode 100644 index 0000000..f08835c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":52,"numPassedTestSuites":50,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":166,"numPassedTests":158,"numFailedTests":8,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143941522,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":6.643569999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":2.4982370000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.2455239999999321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":16.644727999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":2.2998059999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.80686199999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.56661199999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.40582100000005994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.6005709999999453,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":1.191583000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.783533000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3290529999999308,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6388110000000324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":1.1397239999998874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.7385320000000775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.4114129999998113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.1663739999999052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.71507100000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.682252999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5184009999998125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4525509999998576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.49655200000006516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4030910000001313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.44135199999982433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.5671310000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5313009999999849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2701230000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.3830720000000838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.589783000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.36300199999982397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.35405100000002676,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.49461199999996097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3496539999998731,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.9384259999999358,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.415693999999803,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.8746419999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6205410000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5618550000001505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.5688809999999194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.495984000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.4495240000001104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7285010000000511,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.7677229999999327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8669620000000577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.3779239999998936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.9911490000001777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.7049749999998767,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.16963399999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.888781999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9106529999999111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7424120000000585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.3148039999998673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7569230000001426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7679419999999482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.684432999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6771309999999175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7760530000000472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.570261999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.6735140000000683,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.3587950000001001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.264462999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3620700000001307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.5309119999999439,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9565929999998843,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945015,"endTime":1788143945100.9565,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.2441060000001016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":1.0617530000001807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.43084200000021156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.8194519999999557,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.37025100000005295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.36805200000003424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.48561100000006263,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.340891000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":2.060995000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3979910000000473,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2743009999999231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.2715809999999692,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":2.3152359999999135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.3197020000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.22084000000018023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.2857120000001032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.27258099999994556,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.3315509999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.3264599999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2953210000000581,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.31616100000019287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.3082009999998263,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.19066000000020722,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.31260100000008606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.28658999999993284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.26792999999997846,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945025,"endTime":1788143945041.2866,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":53.34537300000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.7931740000001355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":7.339810999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":5.846035999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.829202000000123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.809641000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.00988899999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":2.929268000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.006499000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.4022460000001047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.3694859999998243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9931619999999839,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9388020000001234,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.8050530000000435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.0043479999999363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.2890760000000228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.0031890000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.432573000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.8952620000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6024620000000596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7429420000000846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.34291000000007443,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6872230000001309,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5357709999998406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.25901199999998425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6540019999999913,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945021,"endTime":1788143945138.654,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"failed","title":"can rehydrate state","duration":17.680850999999848,"failureMessages":["AssertionError: expected { count: +0, name: 'empty' } to deeply equal { count: 42, name: 'test-storage' }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:67:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.5525749999999334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"failed","title":"can persist state","duration":2.5348180000000866,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 42 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:132:39\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"failed","title":"can non-async migrate persisted state","duration":1.8495560000001205,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 99 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:161:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.9519520000001194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.6209109999999782,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"failed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.172591999999895,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:263:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"failed","title":"gives the merged state to onRehydrateStorage","duration":1.2575329999999667,"failureMessages":["AssertionError: expected { count: +0, …(1) } to deeply equal { count: 1, …(1) }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:291:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"failed","title":"can custom merge the stored state","duration":1.7271350000000893,"failureMessages":["AssertionError: expected { count: +0, actions: { …(1) } } to deeply equal { count: 1, actions: { …(1) } }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:327:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"failed","title":"can merge the state when the storage item doesn't have a version","duration":1.743494999999939,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:354:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5701919999999063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.6564330000001064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.9389430000001084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.30254100000001927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3472300000000814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2668710000000374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8553529999999228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.41083100000014383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"failed","title":"handles state updates during onRehydrateStorage","duration":0.9838919999999689,"failureMessages":["AssertionError: expected +0 to deeply equal 2\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:656:44\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.7713220000000547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8429530000000796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2300199999999677,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945019,"endTime":1788143945057.23,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.3510769999998047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.9429219999999532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8553560000000289,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5477429999998549,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4128209999998944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.25073999999995067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.35954100000003564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.35306100000002516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.2991119999999228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.42289099999993596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3334100000001854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.127572999999984,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945008,"endTime":1788143945017.1277,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":3.209389000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.1439329999998336,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3842219999999088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.27416999999991276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.3770739999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.3067710000000261,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.2450410000001284,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945005,"endTime":1788143945012.307,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.9864990000000944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.595858000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.555411999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.9521229999998013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3723010000001068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4373809999999594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4218510000000606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.7341320000000451,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4754920000000311,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143945009,"endTime":1788143945019.4756,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.execution.json new file mode 100644 index 0000000..18ea597 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4866.646, + "spawn_error": null, + "stdout_sha256": "sha256:a5f40c753ed4f9c93830a3785f9d05b7799e181b210e66d9cfdfb5c3b95b3bf2", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stdout.log new file mode 100644 index 0000000..924333d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 487ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json new file mode 100644 index 0000000..97bb402 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":64,"numFailedTestSuites":2,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":216,"numFailedTests":8,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143946676,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":13.413417999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":36.7960250000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.514466000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.925276000000167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":9.417007000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.865361000000121,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.914923999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.6354720000001635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":9.7254989999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":11.705134000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.585622999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.344220999999834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.40812099999993734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6078919999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.9539330000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":4.120292000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.406225000000177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.971324999999979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.318714999999884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.724046999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.001359999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":2.6183169999999336,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948446,"endTime":1788143948590.6184,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.47409000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3009039999999459,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.8142829999999321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":11.848093999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":5.759436999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.3493030000001909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.49399099999982354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.39813100000014856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.4141509999999471,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.43675200000006953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":1.2063640000001215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":6.097837000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":4.0995020000000295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.7549819999999272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.5861409999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.106903999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9413429999999607,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6036310000001777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.577013000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5111809999998513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.5722109999999248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.7754120000001876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.39914100000009967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.7002230000000509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4679519999999684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.4805410000001302,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3398339999998825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.233400999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.571721000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3130519999999706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.30423099999984515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5542820000000575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.4454229999998915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":4.984405000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.3201229999999669,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":3.8919110000001638,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":1.4516759999999067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.6115330000000085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.5187330000001111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":4.301381999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.1335830000000442,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7255029999998897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":4.292342999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.1848019999999906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.0546059999999216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":5.586745999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.5920840000001135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":5.708497000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8960320000001047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.5919679999999516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":2.8423479999999017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.030405999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6446820000001026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":3.146319000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":1.2042240000000675,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6964319999999589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7522519999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":3.537270000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.5836480000000392,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.191515999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":5.502525999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3722109999998793,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":4.792253999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.6740850000001046,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948492,"endTime":1788143948620.674,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.438668000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6063810000000558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2162620000001425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9818319999999403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.28601099999991675,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143949947,"endTime":1788143949951.2861,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.627475000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.6923529999999118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3678219999999328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6922119999999268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.3607409999999618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.22484099999996943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.8094430000001012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3298609999999371,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.245394000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.35954100000003564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.36118099999998776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.3873309999999037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.16749000000004344,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.16583199999990939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.11870999999996457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.18506100000013248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.18346100000007937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.20911000000000968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.20847100000014507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.3045509999999467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2680609999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.22202100000004066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.15600999999992382,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.266901000000189,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.19913099999985207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.24390999999991436,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948500,"endTime":1788143948511.2668,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":51.30431700000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.932893000000149,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":12.946635999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.359584999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.139390999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.354512999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.1142190000000483,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.346072000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.875831000000062,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.568027000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.707938000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.102433000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9706840000001193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.7722619999999552,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.6496069999998326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.6391269999999167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.261220000000094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.778166999999939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9327729999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.8409630000001016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9639220000001387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.7502109999998083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6000119999998788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4518909999999323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.20940999999993437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.5665010000000166,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948494,"endTime":1788143948626.5664,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"failed","title":"can rehydrate state","duration":13.32499800000005,"failureMessages":["AssertionError: expected { count: +0, name: 'empty' } to deeply equal { count: 42, name: 'test-storage' }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:67:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.5781540000000405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"failed","title":"can persist state","duration":3.1326289999999517,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 42 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:132:39\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"failed","title":"can non-async migrate persisted state","duration":2.009896000000026,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 99 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:161:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.485384999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.6693109999998796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"failed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.2062639999999192,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:263:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"failed","title":"gives the merged state to onRehydrateStorage","duration":1.2668340000000171,"failureMessages":["AssertionError: expected { count: +0, …(1) } to deeply equal { count: 1, …(1) }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:291:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"failed","title":"can custom merge the stored state","duration":2.141787000000022,"failureMessages":["AssertionError: expected { count: +0, actions: { …(1) } } to deeply equal { count: 1, actions: { …(1) } }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:327:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"failed","title":"can merge the state when the storage item doesn't have a version","duration":1.7100350000000617,"failureMessages":["AssertionError: expected { count: +0 } to deeply equal { count: 1 }\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:354:38\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5470510000000104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.5451709999999821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":1.0750530000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.31080100000008315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3018600000000333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2764009999998507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9530520000000706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.453021999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"failed","title":"handles state updates during onRehydrateStorage","duration":1.2612340000000586,"failureMessages":["AssertionError: expected +0 to deeply equal 2\n at /tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx:656:44\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-004/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.8184429999998883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":1.4825640000001385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.24937100000011014,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948491,"endTime":1788143948528.4827,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.0321460000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.33999100000005456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":35.12991000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.379535000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.461667000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":7.743703000000096,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948447,"endTime":1788143948507.7437,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":52.80066000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":9.505257000000029,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143949945,"endTime":1788143950007.5054,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.668474999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.957922999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8825759999999718,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.37822000000005573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4283619999998791,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2237800000000334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3710320000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3654709999998431,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.31348000000002685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.41223199999990356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3046520000000328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.2655409999999847,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143949883,"endTime":1788143949890.3047,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.131127000000106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8556630000000496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.37245100000018283,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.31963100000007216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0582629999998971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2688109999999142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.4384019999999964,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143949843,"endTime":1788143949849.4385,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":9.328727000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5304610000000594,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2890709999999217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2622209999999541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.29222200000003795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8693819999998595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7502830000000813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.19356999999990876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.2272210000000996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2719299999998839,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143949842,"endTime":1788143949855.272,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.2095070000000305,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4846110000000863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.4081710000000385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.33194000000003143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5488410000000385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.3192710000000716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5210709999998926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.22770200000013574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.21774099999993268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3348110000001725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.27031000000010863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.20628199999987373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":1.8179139999999734,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143948437,"endTime":1788143948444.8179,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.253195999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7226650000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.47164199999997436,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5231519999999819,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.269600999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.2834609999999884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4895120000001043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.7778520000001663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.5636219999998957,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143949733,"endTime":1788143949740.5637,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-004/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.execution.json new file mode 100644 index 0000000..db80fd9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4261.651, + "spawn_error": null, + "stdout_sha256": "sha256:b5ad0e57d4eaa1ae659d2c34b9493787d1e8662400ec97c7c4915b3fb0345310", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stdout.log new file mode 100644 index 0000000..e39d7ec --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 491ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.execution.json new file mode 100644 index 0000000..b45a760 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 12594.342, + "spawn_error": null, + "stdout_sha256": "sha256:45112e5eb97a17b8dba1c9046e443b4cba6db54da7ba9fc50d6ac0f3cdc8b677", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stdout.log new file mode 100644 index 0000000..6b65f7a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 466ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: created dist/vanilla.js in 132ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 112ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 39ms +. build:react: created dist/esm/react.mjs in 29ms +. build:middleware: created dist/middleware.js in 342ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/esm/middleware.mjs in 111ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:base: src/index.ts → dist... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: created dist/shallow.js in 107ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 24ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: created dist/middleware/immer.js in 161ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 22ms +. build:vanilla:shallow: created dist/vanilla/shallow.js in 97ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 42ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:react:shallow: created dist/react/shallow.js in 75ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/esm/react/shallow.mjs in 23ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 81ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 33ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.8s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 30ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.execution.json new file mode 100644 index 0000000..940c179 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4452.016, + "spawn_error": null, + "stdout_sha256": "sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stdout.log new file mode 100644 index 0000000..d7a9876 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 420ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.execution.json new file mode 100644 index 0000000..ba7e022 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6250.103, + "spawn_error": null, + "stdout_sha256": "sha256:5d06aa3e9f4e6ed3469c495de18223e060758606fa75fee1be4557a8e347b9b6", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stdout.log new file mode 100644 index 0000000..6d819bf --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 414ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.execution.json new file mode 100644 index 0000000..864fb1b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "tests/vanilla/basic.test.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 2704.536, + "spawn_error": null, + "stdout_sha256": "sha256:42be094b43203558ac9c0ae0f3fc9f22ac1027c70fdb1885c85e6eb1b3799e7d", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stdout.log new file mode 100644 index 0000000..3e49af4 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 436ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json new file mode 100644 index 0000000..17bde69 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":1,"numPassedTestSuites":0,"numFailedTestSuites":1,"numPendingTestSuites":0,"numTotalTests":10,"numPassedTests":9,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":1,"total":1,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143978319,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":7.6800009999999475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"failed","title":"uses the store","duration":3.98045100000013,"failureMessages":["AssertionError: expected 1 to be 2 // Object.is equality\n at /tmp/av-exp-001-results-v2-scratch/AVS-005/tests/vanilla/basic.test.ts:53:34\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.32009100000004764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.30308100000002014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.36853100000007544,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6871520000001965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.36395100000004277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.19752100000005157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.25605000000018663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.32000200000015866,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143979638,"endTime":1788143979652.32,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/vanilla/basic.test.ts"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.execution.json new file mode 100644 index 0000000..21ff932 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4320.491, + "spawn_error": null, + "stdout_sha256": "sha256:9d4bce222edfe3568745fd917312f8178bf363b35277da29ab2d61129bf6d9eb", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stdout.log new file mode 100644 index 0000000..8a5a235 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 421ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json new file mode 100644 index 0000000..547c9da --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":65,"numFailedTestSuites":1,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":223,"numFailedTests":1,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143980988,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":12.44063600000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":42.155921000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.184183999999959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.670859999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":9.096176000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.903340999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.636700000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":2.816658999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.8752680000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.612737000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.840387000000192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.23007000000006883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.2221110000000408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.3622699999998531,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5858330000000933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.731596999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":5.9985169999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.430392000000211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.684836000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.632826000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.0379219999999805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.3551939999999831,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982577,"endTime":1788143982716.3552,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.3337790000000496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3722729999999501,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.577212000000145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":11.378433000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.5609749999998712,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.6478050000000621,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5310409999999592,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3174910000000182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3736719999999423,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.4031809999999041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.7742220000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.8236960000001545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6499619999999595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":2.250586999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.8309130000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.7587250000001404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.0835140000001502,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.7982719999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5760119999999915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6298810000000685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4792210000000523,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.8461729999999079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.6420829999999569,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4867410000001655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.6080409999999574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.45334200000002056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":2.6588870000000497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.37758099999996375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":1.0312830000000304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.4055510000000595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.6161720000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.846482000000151,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.5447549999998955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.9005149999998139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.6821650000001682,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5287220000000161,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":1.0363330000000133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.5171139999999923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.4724510000000919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":2.3466869999999744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.3483739999999216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.8078219999999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6247309999998834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7695810000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.2137940000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.3351259999999456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.980485999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0944930000000568,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.8112720000001445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9348830000001271,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6577120000001742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8749920000000202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7104309999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.8330379999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.885082999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7032819999999447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.1497130000000197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6938419999999041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.403397000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.016736000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4695639999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.2940410000001066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.6793950000001132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.9449529999999413,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982614,"endTime":1788143982699.945,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.8059880000000703,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7917119999999613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.6290409999999156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.035923000000139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2614589999998316,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143983898,"endTime":1788143983903.2615,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.904079000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7678230000001349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4051910000000589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":1.1915530000001127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.7997420000001512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.4541910000000371,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4258820000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3338810000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.1194439999999304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":1.0741829999999482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.5661720000000514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":2.8709490000001097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.38494200000013734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":1.5778650000002017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.21235999999998967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.19353099999989354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.3093300000000454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2676400000000285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.1958910000000742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.3917509999998856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.38889100000005783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.24360000000001492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":3.515401000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.3288910000001124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.22596199999998134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.28492099999994025,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982634,"endTime":1788143982659.285,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":45.88113099999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.5416660000000775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":12.456935999999814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":9.262005999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":6.201098000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.8282980000001317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.4348869999998897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.26070199999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.302732999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.5864369999999326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":3.058907999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.9461629999998422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.1305429999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0537340000000768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.976077999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.4476170000000366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.8972180000000662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.473205000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9414229999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5848320000000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7975529999998798,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6217909999998028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5511120000001029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4782230000000709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.18409999999994398,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6574020000000473,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982620,"endTime":1788143982740.6575,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.423005999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.839102000000139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.344613999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.427214000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.9592529999999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5042010000001937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.44166100000006736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.3240539999999328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.9980929999999262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.5518819999999778,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5591719999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.41114200000015444,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4588619999999537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.27421000000003914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.4043309999999565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2563119999999799,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.0584529999998722,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6670129999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3199019999999564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5691620000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8282030000000304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.26834099999996397,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982618,"endTime":1788143982638.2683,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.237423999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3233799999998155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":28.663522000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.224782000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":5.841047000000117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.689033000000109,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143983891,"endTime":1788143983935.689,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":46.518072000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.752013000000034,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143983935,"endTime":1788143983989.752,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.4725139999998191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8152929999998832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.558234000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.38000099999999293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.3537309999999252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2304509999999027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.37447199999996883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3477909999999156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4056709999999839,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.40368100000000595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3626219999998739,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.4397409999999127,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143983760,"endTime":1788143983767.4397,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.040155999999797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7880730000001677,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.29261099999985163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2128499999998894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0924139999999625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.27198999999995976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.6176330000000689,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982598,"endTime":1788143982603.6177,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":9.024144999999862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"failed","title":"uses the store","duration":3.8743709999998828,"failureMessages":["AssertionError: expected 1 to be 2 // Object.is equality\n at /tmp/av-exp-001-results-v2-scratch/AVS-005/tests/vanilla/basic.test.ts:53:34\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-005/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.29021099999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2522999999998774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.2856620000000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8556330000001253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.3686410000000251,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.25119999999992615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.17506100000014158,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3146900000001551,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143983886,"endTime":1788143983902.3147,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.7223050000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.3851209999997991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3348510000000715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.28003100000000813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.3648799999998573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.1937399999999343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4201510000000326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.16883000000007087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.19760200000018813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3187110000001212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.22420099999999366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1942700000001878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7179120000000694,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143982549,"endTime":1788143982554.718,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":8.38124300000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7114050000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":1.539404999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6135309999999663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2733109999999215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.27179100000012113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.38910199999986617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.4772609999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.6595019999999749,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143983787,"endTime":1788143983800.6594,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-005/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.execution.json new file mode 100644 index 0000000..05fba7c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3733.681, + "spawn_error": null, + "stdout_sha256": "sha256:52d1f210026dcf43cf08892e666134a70f74ee5f1424b6a931d2eec01c94234a", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stdout.log new file mode 100644 index 0000000..d541d39 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 457ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.execution.json new file mode 100644 index 0000000..08da792 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10851.659, + "spawn_error": null, + "stdout_sha256": "sha256:925ce7c191721bc5d2683530592a57503aa3560e24b51e7e111fac72934bd4f4", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stdout.log new file mode 100644 index 0000000..aad1744 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 486ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: created dist/vanilla.js in 80ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 24ms +. build:react: created dist/react.js in 78ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 24ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 191ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 96ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 76ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 66ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 22ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 24ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 76ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 20ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 78ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 71ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 20ms +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 51ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 38ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.execution.json new file mode 100644 index 0000000..726ded8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5721.867, + "spawn_error": null, + "stdout_sha256": "sha256:57b67a51c768673de0877c668f0022242d08846044a971db7bab9c65720c68c7", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stdout.log new file mode 100644 index 0000000..f95630d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 512ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.execution.json new file mode 100644 index 0000000..346d2bb --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 7527.044, + "spawn_error": null, + "stdout_sha256": "sha256:605135cf2e73bd0b53a814e0af3e2e2806f13a860deb350332ea07dcbe1142e6", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stdout.log new file mode 100644 index 0000000..d1b232c --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 502ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.execution.json new file mode 100644 index 0000000..deb35b1 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "vitest.config.mts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 1715.63, + "spawn_error": null, + "stdout_sha256": "sha256:038fbaa78a79b4c282f9552edfbf20a11e282a94e6c87d9e7773c4ffd74c9f38", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stdout.log new file mode 100644 index 0000000..309b2ff --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 452ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json new file mode 100644 index 0000000..afabbc6 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":0,"numPassedTestSuites":0,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":0,"numPassedTests":0,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144013968,"success":true,"testResults":[]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.execution.json new file mode 100644 index 0000000..7f192a6 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4906.996, + "spawn_error": null, + "stdout_sha256": "sha256:daf6f1dcb52c1cccfc8892a5e121b919bf40f75af7e77e5cfa892e469ed5395f", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stdout.log new file mode 100644 index 0000000..ed4c6b5 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 461ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json new file mode 100644 index 0000000..b993c02 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144015777,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.583921000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":32.212291999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.093744999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.383137999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":11.463093000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.517581999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.4152500000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":2.701767000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":4.086381999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.916030000000092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":3.4390900000000784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2520309999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":1.8140450000000783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.48390200000017103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8077820000000884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.5080870000001596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":7.113849999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.350952000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.858942999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.616696000000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.5485899999998765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.2122730000000956,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017617,"endTime":1788144017747.2122,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.186772000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3106339999999363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.4892809999998917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":15.292893999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.3381640000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.6961630000000696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.44859100000007857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3345419999998285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.31753100000014456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.9458320000001095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5473210000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.1524529999999231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.51849100000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.7440009999997983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.451560999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.1055740000001606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.7211119999999482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.7258110000000215,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5086429999998927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.45930199999997967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3948210000000927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4096009999998387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3643600000000333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4284410000000207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4130999999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.426330999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.5883349999999155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.22516099999984363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6638909999999214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3219409999999243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2726920000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5172110000000885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.5363139999999476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.9198669999998401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2453330000000733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5657510000000912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":2.680357999999842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.443804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.46343199999978424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0346930000000611,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0046820000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6155610000000706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.6037820000001375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.727860999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8157430000001114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.9515759999999318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.9005839999999807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9463729999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7648630000001049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9933719999999084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6055820000001404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.7458650000000944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6206009999998514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6872019999998429,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.9511219999999412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.8602529999998296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7495930000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6519519999999375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.3461569999999483,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":3.006749000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.7542650000000322,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.436181999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4401550000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.6561549999998988,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017654,"endTime":1788144017733.6562,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.939728999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6949220000001333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.20901000000003478,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9412730000001375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.23848099999986516,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144019042,"endTime":1788144019047.2385,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.032626000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7342830000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4088200000001052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6261719999999968,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.35986099999990984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":1.0698019999999815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.9490019999998367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.30984200000011697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.640425999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":1.0559720000001107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.28035099999988233,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.521172000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.32617099999993115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.465891000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.14425999999980377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.18498999999997068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2244709999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.1981909999999516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.21308999999996558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.23634100000003855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.35041100000012193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.32552099999998063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.11469899999997324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2428219999999328,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.19587999999998829,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.21549099999992904,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017668,"endTime":1788144017682.243,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":53.497892999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.414671999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":11.944013999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.805914999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":9.259446000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.1374929999999495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":4.8677940000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.072084000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.490563000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.614027999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.522216999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.8963019999998778,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.996862000000192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.8537420000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.100259000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.5699369999999817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.525041000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.185216999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0061640000001262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6724309999999605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.8818229999999403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.37740099999996346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.9362029999999777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.6340909999998985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2654009999998834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7691219999999248,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017670,"endTime":1788144017808.769,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":6.591379000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":1.0204129999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.4363840000000891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.0020419999998467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.2934439999999086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.1400129999999535,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.4977610000000823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.4861339999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.7924730000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3376220000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.39815999999996166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3748599999998987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4165210000001025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.23994199999992816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.2576409999999214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.22916000000009262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.1235939999999118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6045910000000276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.27644099999997707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.51782100000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9465520000001106,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2482399999998961,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017664,"endTime":1788144017686.2483,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":5.505055000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.28917100000012397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":39.01698099999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.685607000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.855715000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":8.761434999999892,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144018965,"endTime":1788144019036.7615,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":50.61998399999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":8.102392999999893,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144019132,"endTime":1788144019191.1023,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.668134000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8895919999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6134139999999206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.45895199999995384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4965910000000804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3674510000000737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3436619999999948,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3490220000001045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3547609999998258,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.9775130000000445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.2759410000001026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.6630709999999453,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144018963,"endTime":1788144018971.663,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.493496999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8836719999999332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3049710000000232,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2127900000000409,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.9998540000001412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.30743200000006254,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.720690999999988,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017645,"endTime":1788144017651.7207,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":13.724538000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.8615419999998721,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":1.2511140000001433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.9027829999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.8622420000001512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.309554000000162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6651320000000851,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.4701910000001135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.7364219999999477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3108119999999417,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144018945,"endTime":1788144018967.3108,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.742828000000145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.6977119999999104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.35825100000010934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.33263000000010834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5663410000001932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2529110000000401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4678329999999278,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.161200000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2662310000000616,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.24480100000005223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.24583000000006905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1947020000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.5487619999998969,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144017569,"endTime":1788144017576.5488,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":3.161158999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6571349999999256,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5111719999999877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4385509999999613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2879710000001978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.41683100000000195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6256610000000364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5242909999999483,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.35094200000003184,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144019006,"endTime":1788144019014.3508,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-006/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.execution.json new file mode 100644 index 0000000..09f1559 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4434.003, + "spawn_error": null, + "stdout_sha256": "sha256:e8ec162602400fe85a4b2e514c1a2ee8707517a40552789e737a01af3b33de59", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stdout.log new file mode 100644 index 0000000..3196ee3 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 539ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.execution.json new file mode 100644 index 0000000..e084cb6 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9487.636, + "spawn_error": null, + "stdout_sha256": "sha256:58b4acc20fcce8a626de4f40e07d55be68678378dd741ccfc9c34fa5902ef624", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stdout.log new file mode 100644 index 0000000..622fd8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 426ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:base: src/index.ts → dist... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: created dist/vanilla.js in 61ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/react.js in 61ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 21ms +. build:react: created dist/esm/react.mjs in 15ms +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 192ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 55ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 62ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/shallow.js in 55ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 11ms +. build:shallow: created dist/esm/shallow.mjs in 12ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 76ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 24ms +. build:vanilla:shallow: Done +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:react:shallow: created dist/react/shallow.js in 60ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: created dist/traditional.js in 71ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 32ms +. build:traditional: created dist/esm/traditional.mjs in 41ms +. build:react:shallow: Done +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.2s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 27ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.execution.json new file mode 100644 index 0000000..9165edf --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5594.5, + "spawn_error": null, + "stdout_sha256": "sha256:f5cd1ac79cfbf0b733632b439e8b3b3d163c74f5fea752de1547466c5f7802fe", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stdout.log new file mode 100644 index 0000000..eb70e6b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 422ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.execution.json new file mode 100644 index 0000000..21f10e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6115.545, + "spawn_error": null, + "stdout_sha256": "sha256:82dd6e40ed3388999ef420f47c3801092a5cfaea1012ef2a7d90051a1c33db68", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stdout.log new file mode 100644 index 0000000..d6ce493 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 401ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.execution.json new file mode 100644 index 0000000..006749d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "package.json", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4729.929, + "spawn_error": null, + "stdout_sha256": "sha256:57957095675d5c0099bda36233b35273a72c3519426b6f808cd21ee156a17543", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stdout.log new file mode 100644 index 0000000..94215c4 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 492ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json new file mode 100644 index 0000000..c1586cd --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144050898,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":12.771735999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":30.845526999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.412413000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.384934999999814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":10.43491999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.708693000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.492362999999841,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.5387899999998353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":6.430657999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.69604100000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.695674999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.24749199999996563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3436810000000605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.525291000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8044930000000932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.8253500000000713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.324838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.9740820000001804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":6.3759379999999055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.516126999999869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.165400999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.554264000000103,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052653,"endTime":1788144052787.5542,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":7.315172000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":3.6245100000001003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6961629999998422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":19.22807499999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.556675000000041,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8138219999998455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5357609999998658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":3.9296620000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":1.284443999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":1.4801640000000589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.843073000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.248014000000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5506909999999152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.39774099999999635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.45097100000020873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":2.3185269999999036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6825509999998758,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.9081720000001496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5018709999999373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4834319999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.46481100000005426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5891010000000279,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.36662999999998647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.32134100000007493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4024909999998272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.43227200000001176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0950739999998405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.20549099999993814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.537471000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.23489100000006147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.24882099999990714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.7563010000001213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2204629999998815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.1907839999998941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1963329999998678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.3612909999999374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5217910000001211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0679540000000998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8580020000001696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.9368120000001454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.3499930000000404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5859120000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.43564100000003236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7664320000001226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9437830000001668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.6660649999998896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.85899500000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.8931830000001355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.9943420000001879,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0578830000001744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6653520000002118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.194146000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7032709999998588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.678861999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.7946520000000419,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.669353000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.2682529999999588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7266329999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.9053650000000744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.9310370000000603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.54071399999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.29561100000000806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.6127440000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0568630000000212,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052702,"endTime":1788144052795.057,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.9711879999999837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.9304819999999836,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.3253599999998187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.1878939999999147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.32367100000010396,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144054101,"endTime":1788144054106.3237,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":2.6400679999999284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":1.6426449999999022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4730709999998908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.8230019999998603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.4943719999998848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.29809099999988575,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.6847020000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.6772129999999379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.5949949999999262,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.39023999999994885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2671609999999873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":1.3328139999998712,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.36734200000000783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.7922429999998712,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.21206999999981235,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.21117099999992206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.38688100000013037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2964799999999741,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.21749099999988175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.28858100000002196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.415510999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.48674099999993814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.17777099999989332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.2712699999999586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2954909999998563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.22289099999989048,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052703,"endTime":1788144052720.2954,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":46.50286099999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.099320999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":16.095014999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":12.994826999999987,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":8.485994000000119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":4.228381000000127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":5.68662600000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":7.1298199999998815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.555842999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":4.214472999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.3328659999999672,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.3587729999999283,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.0439930000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9333220000000892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.792799999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.388046000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.9653690000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":9.79970800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.0217230000000654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5406109999998989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.8248630000000503,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6098409999999603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5079009999999471,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":1.7144549999998162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.24929099999985738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6335010000000239,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052703,"endTime":1788144052851.6335,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.019414000000097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8302330000001348,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.6298950000000332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9414730000000873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.5662310000000161,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.1730729999999312,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.35189100000002327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.8369830000001457,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.6288609999999153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.46631200000001627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.4457119999999577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.35148099999992155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.40297099999997954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.2052610000000641,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.25399099999981445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.19178000000010798,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8822709999999461,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5246429999999691,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3634710000001178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5875819999998839,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9460030000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.25101999999992586,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052702,"endTime":1788144052720.251,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.655824000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.37540999999987434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":39.90811400000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.997967000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.873425000000225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":11.28070200000002,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144053981,"endTime":1788144054049.2808,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":43.44214299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.851210999999921,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144054125,"endTime":1788144054174.8513,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.5307640000000902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.946632000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.330997000000025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4736719999998513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":3.878840999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.4756519999998545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.5980420000000777,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5137210000000323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.46847200000001976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":1.0528730000000905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.5205320000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.5049209999999675,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144053990,"endTime":1788144054003.5205,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.1369159999999283,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7278109999999742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.29421099999990474,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.4510219999999663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.2678040000000692,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.6825619999999617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.3632700000000568,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052682,"endTime":1788144052687.6826,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":10.364938999999822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.7556230000000141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3464510000001155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.6010209999999461,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.38237099999992097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.719532000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5587820000000647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.3585419999999431,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.4746909999998934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.310750999999982,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144054007,"endTime":1788144054022.3108,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.2401170000000548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.5079419999999573,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.444501000000173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.3564899999998943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.505820999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2623399999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.6078730000001542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.21902099999988422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.21002100000009705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3152419999998983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.24269200000003366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.17497000000003027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6897819999999228,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144052618,"endTime":1788144052625.6897,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":3.331598999999869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.1017460000000483,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.46802100000013525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.8230330000001231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3493419999999787,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.39188100000001214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.54162099999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.7797829999999522,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.636551000000054,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144054053,"endTime":1788144054062.6365,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.execution.json new file mode 100644 index 0000000..e6c94cf --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4173.147, + "spawn_error": null, + "stdout_sha256": "sha256:27071cbadf8f63946adb395262d46bcc6469b780ec3fc89af5343e5e3f4f09a9", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stdout.log new file mode 100644 index 0000000..2531afc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 442ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json new file mode 100644 index 0000000..a4bf0dc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144055581,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":8.986655000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":28.08310000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.228472000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":7.110670999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":9.69017800000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.4636809999999514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.1161319999998796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":5.25605500000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":5.199583999999959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.946002000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.296765999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.23710000000005493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.2632009999999809,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.328811000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6766319999999268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.183436000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.538823000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.5508800000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.862863999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.043892000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":5.6992159999999785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.5947740000001431,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057031,"endTime":1788144057151.5947,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.5207699999998567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.0837440000000242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.4828909999998814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":13.336897999999792,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":0.9765120000001843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":3.840150999999878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.36302100000011706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.28674999999998363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.258352000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.34894099999996797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.4402910000001157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":6.117678000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6454109999999673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8882730000000265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.38232200000015837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.2221739999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.887822000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6589920000001257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5717220000001362,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3821909999999207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.38384099999984755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.43353100000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.2943609999999808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":1.0786629999997785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.35568100000000413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3388609999999517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.61654499999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.166302000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.49525100000005295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.27838100000008126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.24630000000001928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4416720000001533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.34351300000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.4072340000000167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.9546429999998054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6035710000001018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.49933099999998376,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.9117129999999634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.6260620000000472,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.8691819999999097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.9711730000001353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6540319999999156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.39895099999989725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7260619999999562,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.7646819999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.724185000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.4721440000000712,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.7477429999999003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.5693610000000717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7738620000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4727510000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9365520000001197,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6325509999999213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6713320000001204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":1.6493050000001404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.5925819999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7980730000001586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5165110000000368,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.768165000000181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.030567000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4687039999998888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.2729309999999714,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5774240000000646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.8026350000000093,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057055,"endTime":1788144057131.8027,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.1354969999999867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6031209999998737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.19998000000009597,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.8514419999999063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.21324000000004162,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144058292,"endTime":1788144058295.8516,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.9033849999998438,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7954420000000937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4115719999999783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.820020999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.425811000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2257799999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.40030099999989943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.370920999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.219763999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":4.0975719999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.8925119999998969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.2884999999998854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.5196109999999408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.6035410000001775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.21347100000002683,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.19388000000003558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2716419999999289,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.24608100000000377,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.21136000000001332,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24347099999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.38101099999994403,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.26672099999996135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.19463100000007216,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.25210100000003877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.25852999999983695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.22497100000009596,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057057,"endTime":1788144057073.2585,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":46.66278299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":9.520496999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":19.71554600000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":13.791789999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":16.254735999999866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.897531000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.9951390000001084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.926962000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.0570909999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.8230989999999565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.423766000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.1047139999998308,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.02518299999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9996430000001055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.852716999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.378208000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.2886590000000524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.833966000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9788430000000972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7225819999998748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.0394330000001446,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6873729999999796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6146820000001298,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5800619999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.29939199999989796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7519419999998718,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057058,"endTime":1788144057208.752,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.1988249999999425,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.792212999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.7204249999999774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9145020000000841,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6689519999999902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5112409999999272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.5844649999999092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.1578730000001087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.1769540000000234,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3869119999999384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":1.1869739999999638,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.5341910000001917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.48767099999986385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.27686100000005354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3155899999999292,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.28722099999981765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.7442349999998896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.795423000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.34708200000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.6242919999999685,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9359329999999773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2697920000000522,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057055,"endTime":1788144057077.936,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.3083240000000842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.2538419999998496,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":34.7844590000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":6.282838000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":7.78129100000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":8.142072999999982,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057037,"endTime":1788144057095.142,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":47.85132599999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":9.747548000000052,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144057018,"endTime":1788144057075.7476,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.9145940000000792,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.1889430000001084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.9968160000000807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.47556100000019796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6217319999998381,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.30965100000003076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4130710000001727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4492609999999786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.40067199999998593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.637422000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3547710000000279,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.3221810000000005,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144058256,"endTime":1788144058265.3223,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.449694000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.5420619999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.193320999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.19105000000013206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.7033619999999701,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.17709100000001854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20236099999988255,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144058364,"endTime":1788144058367.2024,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":9.37073700000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":1.4918250000000626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.4052510000001348,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.31997099999989587,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.7777419999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.048221999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8662420000000566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.24198099999989608,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.2901120000001356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3208309999999983,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144058190,"endTime":1788144058205.3208,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.5056640000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.44011199999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.2641199999998207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.2232209999999668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.6609019999998509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.15654000000017732,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4844820000000709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.13397999999983767,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2610810000001038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.23947999999995773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.171619999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.32536000000004606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.5556220000000849,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144058190,"endTime":1788144058196.5557,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.1425460000000385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6955749999999625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.41350099999999657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5099119999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.24986100000000988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.34562000000005355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3365610000000743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.6104010000001381,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.37281099999995604,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144058252,"endTime":1788144058258.3728,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-007/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.execution.json new file mode 100644 index 0000000..6ba0d98 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3790.765, + "spawn_error": null, + "stdout_sha256": "sha256:ff2d4b95872ba5edead046de1efd9d7222769821df4f127623d5169079f907d0", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stdout.log new file mode 100644 index 0000000..80bae69 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 426ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.execution.json new file mode 100644 index 0000000..eb7655f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10255.217, + "spawn_error": null, + "stdout_sha256": "sha256:ad8282824475997b6eda9d637cd206e2ffd29561f2b7eafa3e163a41ad4f3bcf", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stdout.log new file mode 100644 index 0000000..5a45931 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 473ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: created dist/react.js in 69ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:react: created dist/esm/react.mjs in 16ms +. build:vanilla: created dist/vanilla.js in 75ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: created dist/esm/vanilla.mjs in 31ms +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 181ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 82ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: created dist/shallow.js in 57ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 61ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/esm/shallow.mjs in 14ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 16ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: created dist/vanilla/shallow.js in 74ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 17ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 65ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 14ms +. build:traditional: created dist/traditional.js in 58ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 19ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.4s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 35ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 12ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.execution.json new file mode 100644 index 0000000..84b29a5 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4262.044, + "spawn_error": null, + "stdout_sha256": "sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stdout.log new file mode 100644 index 0000000..f74db88 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 417ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.execution.json new file mode 100644 index 0000000..8b7c131 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6541.436, + "spawn_error": null, + "stdout_sha256": "sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stdout.log new file mode 100644 index 0000000..f74db88 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 417ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.execution.json new file mode 100644 index 0000000..65edfcc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/vanilla.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4311.344, + "spawn_error": null, + "stdout_sha256": "sha256:07b655b5dab77722bb7b9bc58f085a4c2566b087c7f061e5395b4f5976e41f83", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stdout.log new file mode 100644 index 0000000..2341698 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 429ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json new file mode 100644 index 0000000..613362f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":61,"numPassedTestSuites":61,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":211,"numPassedTests":211,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144086251,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.900460000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.85064299999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.447936000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.038782000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":13.665058000000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.618825999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.64716599999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.7621760000001814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":6.905743999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.452811999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.511355999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3645899999999074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.40693999999984953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5798889999998664,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7973400000000765,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.406368000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":9.519272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":12.64601800000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":13.372047000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":5.924533999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.8397359999999026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.5318989999998394,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087952,"endTime":1788144088106.532,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.197636000000102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.3117979999999534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":1.0527289999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":14.563736999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":0.9594090000000506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.9091100000000552,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.34025999999994383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2345500000001266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3668699999998353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.24442100000010214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.39031900000009045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.3158779999998842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.46836899999993875,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.6374789999999848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4849410000001626,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.8859580000000733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.7053300000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5522599999999329,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.45153000000004795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.36152900000001864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.31181900000001406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.449619999999868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.27912900000001173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.29561899999998786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.391638999999941,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.39690999999993437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.003460000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.1600109999999404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.43483000000014727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.22784999999998945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.19404899999994996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4040010000001075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.0031389999999192,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.173539000000119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1054400000000442,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.3430789999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4493689999999333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.8364090000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.5743990000000849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.7595290000001569,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.9183090000001357,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5031989999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.3716490000001613,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.6062400000000707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.6684999999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.570649000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.25329899999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.7397699999999077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.5150200000000495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.5808489999999438,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5562889999998788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.238478000000214,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5172900000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6130390000000716,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8388390000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.5908990000000358,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7735490000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.57545099999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7095979999999145,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.1407779999999548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4338689999999588,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3546289999999317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4024380000000747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.115778999999975,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087978,"endTime":1788144088045.1157,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.673627000000124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7201000000000022,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2812300000000505,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.7932189999999082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2785109999999804,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144089176,"endTime":1788144089180.2786,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.726408999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.6893889999998919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.2990789999998924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6183089999999538,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.35029000000008637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.19268000000010943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.49022899999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3233189999998558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.3896790000001147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.33874100000002727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2867790000000241,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":1.0609299999998711,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.2143700000001445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":1.0292190000000119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.19347900000002483,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.18822000000000116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.23839999999995598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2591300000001411,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.2025499999999738,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.27195899999992434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.29874100000006365,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.24664899999993395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.15530100000000857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.27386999999998807,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2169690000000628,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.24565999999981614,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087993,"endTime":1788144088006.2456,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":47.25522799999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.027686000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":12.79961800000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":11.576490000000149,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":5.2153749999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.1288069999998243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.8253769999998894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.0477069999999458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.047896000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.3474069999999756,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.9087280000001101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7293600000000424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8296589999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.6019300000000385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.609997000000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.265536999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.202966999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":9.435781000000134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":1.071078999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7382299999999304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.8720579999999245,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.38857899999993606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6030989999999292,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5784700000001521,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2930900000001202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.8749090000001161,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087982,"endTime":1788144088108.875,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.883085000000165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8384289999999055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.4491590000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.1344480000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.8030599999999595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.48777899999981855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.3912399999999252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.3307490000001962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.7958790000000135,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.5776600000001508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.43336999999996806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.369570000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.3680500000000393,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.24858900000003814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3016299999999319,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.20039900000006128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7327189999998609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.4690109999999095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2783389999999599,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.43121900000005553,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7788900000000467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.19168000000013308,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087978,"endTime":1788144087996.1917,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.2887590000000273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3926890000000185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":30.339392999999973,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.374875000000202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":8.905252999999902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":6.9638129999998455,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087959,"endTime":1788144088013.9639,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":47.37387799999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.8410539999999855,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144089179,"endTime":1788144089232.841,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.693868000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.1529390000000603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.2839380000000347,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5056910000000698,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5980799999999817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.469579000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":1.4655190000000857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6724189999999908,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.34778899999992063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.3562899999999445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.27038900000002286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.21715999999992164,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144089132,"endTime":1788144089143.2705,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.880527999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.011259999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.21402899999998226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2101599999998598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.7701700000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.18707999999992353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.14954899999997906,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144087962,"endTime":1788144087966.187,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":9.518201999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.4297199999998611,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.23096899999995912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.19878000000016982,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.2696089999999458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.7075600000000577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5667699999999058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.25672000000008666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.26854000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.19133899999997084,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144089144,"endTime":1788144089156.2686,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.230309000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.757389000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4369690000000901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5209990000000744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.29892999999992753,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.36746900000002825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.38309000000003834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5635389999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.41633999999999105,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144089162,"endTime":1788144089169.4163,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.execution.json new file mode 100644 index 0000000..4a60234 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4208.901, + "spawn_error": null, + "stdout_sha256": "sha256:9841c06f5819ac68df769d812ddfbb9873962abee37c3fc5df7065607638ca06", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stdout.log new file mode 100644 index 0000000..8d149d3 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 397ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json new file mode 100644 index 0000000..a8fa01a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144090501,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":11.178480000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.538894000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.1750170000000253,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":5.409304999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":12.78410000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.836246000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.776646000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.710687000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":9.120312000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":13.088588999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.607765999999856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.33890999999994165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3543799999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.4894289999999728,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7541089999999713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.0959960000000137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.203864999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.997204999999894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.457286000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":7.35799400000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.395766999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.5161880000000565,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144092035,"endTime":1788144092173.516,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.766145999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":2.6989390000001094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.7104179999998905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":15.821536000000151,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.1701990000001388,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.6438100000000304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.39651899999989837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2657600000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.31334900000001653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":1.412108999999873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.4514199999998709,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.2545900000000074,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.4070289999999659,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":1.4881800000000567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3396699999998418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9691000000000258,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.8301500000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5792099999998754,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5018090000000939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.35954999999989923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.6761189999999715,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.8671300000000883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3659099999999853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4074000000000524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.589909999999918,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.49450000000001637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":4.8031559999999445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.23685900000009497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5082590000001801,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2927109999998265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.28897100000017417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.49718000000007123,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.1218089999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":4.763046000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":4.444635999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5856900000001133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5168599999999515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":5.3972459999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.4741790000000492,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":5.437755000000152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.323748999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6140489999997953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.3913190000000668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9604590000001281,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.350259000000051,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.2222679999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.674109000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.293389000000161,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":1.1290490000001228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.4304290000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.9449090000000524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.0981990000000224,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.8003089999999702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6673200000000179,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":1.3355889999997999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7044600000001537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.1006399999998848,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5003899999999248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7810080000001562,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.6888890000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.7036490000000413,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.4498990000001868,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4465089999998781,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.1703899999999976,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144092085,"endTime":1788144092186.1704,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.52307699999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":1.0319690000001174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.32304999999996653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.2171290000001136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.33345900000017537,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144093431,"endTime":1788144093437.3335,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.9073480000001837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8653479999998126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4405309999999645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.660570000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2692289999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.25337999999987915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.46812899999986257,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.27624100000002727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":0.9361180000000786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.40589999999997417,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.4825590000000375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.20721000000003187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.16296900000020287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.46370999999999185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.182788999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1790800000001127,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.17836000000011154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.1896600000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.20968900000002577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2124900000001162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.23072099999990314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.15619999999989886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.11402899999984584,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.1908010000001923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.18995899999981702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.18849999999997635,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144093210,"endTime":1788144093220.191,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":71.11625900000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.3063150000000405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":13.896728999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":9.324061999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.0724740000000565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.210117000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.4953879999998207,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.940896000000066,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.658678000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":8.714242999999897,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.0387080000000424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":4.795935999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8856789999999819,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0271790000001602,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.9692179999999553,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.0459869999999682,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.1310379999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.588336000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.828228000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6693000000000211,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.9811090000000604,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.637241000000131,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5613799999998719,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5073600000000624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.20270899999991343,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6319390000001022,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144092085,"endTime":1788144092244.6318,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.4854559999998855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7576690000000781,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.1495689999999286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.6614289999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.622199000000137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5421389999999064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.4265989999998965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.7863569999999527,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.8385390000000825,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.5027689999999438,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5957389999998668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4590890000001764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":1.2320489999999609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.283429999999953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.34207900000001246,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2824209999998857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9837489999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5155889999998635,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.23535999999990054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.416780000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.6570090000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.18201100000010229,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144092081,"endTime":1788144092101.657,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.8156679999999596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":2.110119000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":36.236409000000094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":8.915703000000121,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.79588200000012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":8.407932000000073,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144092052,"endTime":1788144092120.408,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":55.87505299999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":11.643769999999904,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144092025,"endTime":1788144092092.6438,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.6059089999998832,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.9563290000000961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.8073190000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.45398900000009235,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4800589999999829,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2957010000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4250179999999091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5107390000000578,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.43853900000021895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.5107700000000932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.4320589999999811,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.30516999999986183,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144093331,"endTime":1788144093339.4321,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.0633379999999306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.8695490000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.3364289999999528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.3386600000001181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.1879389999999148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2602309999999761,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.1784979999999905,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144093396,"endTime":1788144093402.1785,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":11.003801000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.6525489999999081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.37726999999995314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.5791289999999663,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.303908999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8412990000001628,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.795319999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.34389899999996487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.21298000000001593,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.26949999999987995,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144091954,"endTime":1788144091970.2695,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":5.588694000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.5111790000000838,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.40861999999992804,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.27387899999985166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.9778000000001157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.33249899999987065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.5734500000000935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.18075999999996384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2401199999999335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.31252999999992426,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2834100000000035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.19703000000004067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":1.0588990000001104,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144093320,"endTime":1788144093331.0588,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.302408999999898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.88450899999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4467290000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.6903389999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3151310000000649,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.38215900000000147,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5335290000000441,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.738309000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.5623889999999392,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144093338,"endTime":1788144093345.5625,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-008/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.execution.json new file mode 100644 index 0000000..b75ec40 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 2, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3869.859, + "spawn_error": null, + "stdout_sha256": "sha256:392d397999a21e7bfe75f59e0d72a682b02c93308b399f26423a8b8efc772147", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stdout.log new file mode 100644 index 0000000..d7e93d9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stdout.log @@ -0,0 +1,337 @@ +Already up to date +Done in 400ms using pnpm v11.3.0 +src/middleware/persist.ts(222,38): error TS2345: Argument of type '{ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined): Promise<...>; catch(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... 1 more ... |...' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to '{ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined): Promise<...>; catch(onrejected?: ((reason: any) => TResult | PromiseLike<...>) | ... 1 more ... |...'. +src/middleware/persist.ts(264,43): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(267,36): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(304,11): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(317,35): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(324,9): error TS2322: Type 'Promise' is not assignable to type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(339,7): error TS2375: Type '{ name: string; storage: PersistStorage | undefined; partialize: ((state: T) => T) | ((state: Promise) => T); onRehydrateStorage?: ((state: T) => void | ((state?: T | undefined, error?: unknown) => void)) | ((state: Promise<...>) => void | ((state?: Promise<...> | undefined, error?: unknown) => void))...' is not assignable to type '{ name: string; storage: PersistStorage | undefined; partialize: (state: T) => T; onRehydrateStorage?: (state: T) => void | ((state?: T | undefined, error?: unknown) => void); version: number; migrate?: (persistedState: unknown, version: number) => T | Promise<...>; merge: (persistedState: unknown, curre...' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties. + Types of property 'partialize' are incompatible. + Type '((state: T) => T) | ((state: Promise) => T)' is not assignable to type '(state: T) => T'. + Type '(state: Promise) => T' is not assignable to type '(state: T) => T'. + Types of parameters 'state' and 'state' are incompatible. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(352,23): error TS2375: Type '{ name: string; storage: PersistStorage | undefined; partialize: (state: T) => T; onRehydrateStorage?: (state: T) => void | ((state?: T | undefined, error?: unknown) => void); version: number; migrate?: (persistedState: unknown, version: number) => T | Promise<...>; merge: (persistedState: unknown, curre...' is not assignable to type 'Partial, T, unknown>>' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties. + Types of property 'partialize' are incompatible. + Type '(state: T) => T' is not assignable to type '(state: Promise) => T'. + Types of parameters 'state' and 'state' are incompatible. + Type 'Promise' is not assignable to type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/middleware/persist.ts(356,30): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(359,35): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(363,36): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/middleware/persist.ts(366,41): error TS2345: Argument of type 'PersistListener>' is not assignable to parameter of type 'PersistListener'. + Type 'T' is not assignable to type 'Promise'. +src/react.ts(32,38): error TS2345: Argument of type 'Promise' is not assignable to parameter of type 'TState'. + 'TState' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/traditional.ts(38,5): error TS2345: Argument of type '() => Promise' is not assignable to parameter of type '() => TState'. + Type 'Promise' is not assignable to type 'TState'. + 'TState' could be instantiated with an arbitrary type which could be unrelated to 'Promise'. +src/vanilla.ts(83,56): error TS2322: Type 'T' is not assignable to type 'Promise'. +tests/basic.test.tsx(57,13): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(57,20): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(78,42): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(79,40): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(104,16): error TS2339: Property 'item' does not exist on type 'Promise<{ item: { value: number; }; }>'. +tests/basic.test.tsx(140,50): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(146,48): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(173,13): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/basic.test.tsx(173,20): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/basic.test.tsx(201,32): error TS2345: Argument of type '(state: State) => string' is not assignable to parameter of type '(state: Promise) => string'. + Types of parameters 'state' and 'state' are incompatible. + Type 'Promise' is missing the following properties from type 'State': one, two +tests/basic.test.tsx(231,37): error TS2345: Argument of type '(s: State) => State' is not assignable to parameter of type '(state: Promise) => State'. + Types of parameters 's' and 'state' are incompatible. + Property 'value' is missing in type 'Promise' but required in type 'State'. +tests/basic.test.tsx(350,19): error TS2345: Argument of type '(s: State) => any' is not assignable to parameter of type '(state: Promise) => any'. + Types of parameters 's' and 'state' are incompatible. + Property 'value' is missing in type 'Promise' but required in type 'State'. +tests/basic.test.tsx(400,19): error TS2345: Argument of type '(s: State) => State' is not assignable to parameter of type '(state: Promise) => State'. + Types of parameters 's' and 'state' are incompatible. + Property 'value' is missing in type 'Promise' but required in type 'State'. +tests/basic.test.tsx(428,22): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/basic.test.tsx(429,29): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/basic.test.tsx(432,21): error TS2339: Property 'getState1' does not exist on type 'Promise'. +tests/basic.test.tsx(433,21): error TS2339: Property 'getState2' does not exist on type 'Promise'. +tests/basic.test.tsx(449,14): error TS2339: Property 'setState1' does not exist on type 'Promise'. +tests/basic.test.tsx(450,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(451,14): error TS2339: Property 'setState2' does not exist on type 'Promise'. +tests/basic.test.tsx(452,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(453,14): error TS2339: Property 'setState1' does not exist on type 'Promise'. +tests/basic.test.tsx(453,25): error TS7006: Parameter 's' implicitly has an 'any' type. +tests/basic.test.tsx(454,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(455,14): error TS2339: Property 'setState2' does not exist on type 'Promise'. +tests/basic.test.tsx(455,25): error TS7006: Parameter 's' implicitly has an 'any' type. +tests/basic.test.tsx(456,21): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/basic.test.tsx(494,19): error TS2345: Argument of type '(s: State) => number' is not assignable to parameter of type '(state: Promise) => number'. + Types of parameters 's' and 'state' are incompatible. + Type 'Promise' is missing the following properties from type 'State': a, b +tests/basic.test.tsx(533,56): error TS2339: Property 'b' does not exist on type 'Promise'. +tests/basic.test.tsx(534,19): error TS2345: Argument of type '(s: State) => number' is not assignable to parameter of type '(state: Promise) => number'. + Types of parameters 's' and 'state' are incompatible. + Type 'Promise' is missing the following properties from type 'State': a, b +tests/basic.test.tsx(586,41): error TS2339: Property 'childItems' does not exist on type 'Promise'. +tests/basic.test.tsx(591,48): error TS2339: Property 'childItems' does not exist on type 'Promise'. +tests/basic.test.tsx(623,38): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/basic.test.tsx(664,38): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/basic.test.tsx(669,38): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/devtools.test.tsx(218,20): error TS2339: Property 'setCount' does not exist on type 'Promise<{ count: number; setCount: (count: number) => void; }>'. +tests/devtools.test.tsx(306,24): error TS2339: Property 'setCount' does not exist on type 'Promise<{ count: number; setCount: (count: number) => void; }>'. +tests/devtools.test.tsx(360,22): error TS2339: Property 'setCount' does not exist on type 'Promise<{ count: number; setCount: (count: number) => void; }>'. +tests/immer.test.tsx(19,30): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/immer.test.tsx(20,37): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/immer.test.tsx(56,51): error TS2339: Property 'user' does not exist on type 'Promise'. +tests/immer.test.tsx(57,30): error TS2339: Property 'addTag' does not exist on type 'Promise'. +tests/immer.test.tsx(59,37): error TS2339: Property 'user' does not exist on type 'Promise'. +tests/immer.test.tsx(60,37): error TS2339: Property 'user' does not exist on type 'Promise'. +tests/immer.test.tsx(72,29): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(44,37): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(47,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(48,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(49,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(50,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(51,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(52,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(66,33): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(71,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(72,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(73,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(74,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(75,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(76,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(95,35): error TS2339: Property 'count' does not exist on type 'Promise & { additional: number; }>'. +tests/middlewareTypes.test.tsx(100,63): error TS2344: Type '{ additional: number; }' does not satisfy the constraint '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }'. + Type '{ additional: number; }' is missing the following properties from type '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }': [toStringTag], then, catch, finally +tests/middlewareTypes.test.tsx(109,63): error TS2344: Type '{ additional: number; }' does not satisfy the constraint '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }'. + Type '{ additional: number; }' is missing the following properties from type '{ [toStringTag]: "Expected: never, Actual: string"; then: "Expected: never, Actual: function"; catch: "Expected: never, Actual: function"; finally: "Expected: never, Actual: function"; additional: "Expected: number, Actual: never"; }': [toStringTag], then, catch, finally +tests/middlewareTypes.test.tsx(133,43): error TS2339: Property 'count' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(135,32): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(137,36): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(158,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(164,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(165,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(166,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(167,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(168,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(169,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(211,30): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(227,39): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(231,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(232,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(233,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(234,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(235,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(236,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(238,26): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(254,39): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(258,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(259,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(260,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(261,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(262,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(263,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(279,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(285,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(286,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(287,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(288,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(289,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(290,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(307,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(313,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(314,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(315,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(316,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(317,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(318,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(334,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(340,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(341,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(342,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(343,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(344,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(345,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(362,39): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(373,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(374,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(375,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(376,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(377,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(378,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(405,43): error TS2339: Property 'count' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(407,32): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(409,36): error TS2339: Property 'dispatch' does not exist on type 'Promise>>'. +tests/middlewareTypes.test.tsx(427,41): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(433,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(434,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(435,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(436,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(437,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(438,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(451,41): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(456,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(457,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(458,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(459,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(460,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(461,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(463,26): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(476,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(482,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(483,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(484,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(485,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(486,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(487,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(490,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(508,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(516,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(517,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(518,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(519,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(520,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(521,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(541,37): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(550,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(551,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(552,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(553,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(554,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(555,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(570,43): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/middlewareTypes.test.tsx(577,43): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(578,43): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(579,36): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(580,36): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(581,45): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(582,45): error TS2339: Property 'inc' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(585,28): error TS2339: Property 'count' does not exist on type 'Promise void; }>>'. +tests/middlewareTypes.test.tsx(604,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(613,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(614,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(615,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(616,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(617,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(618,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(621,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(645,39): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(655,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(656,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(657,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(658,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(659,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(660,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(663,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(690,43): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(691,36): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(692,45): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(694,26): error TS2339: Property 'foo' does not exist on type 'Promise<{ foo: boolean; }>'. +tests/middlewareTypes.test.tsx(716,43): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(717,36): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(718,45): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(720,26): error TS2339: Property 'foo' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(748,32): error TS2339: Property 'authenticated' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(751,32): error TS2339: Property 'authenticate' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(753,36): error TS2339: Property 'authenticated' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(755,25): error TS2339: Property 'authenticate' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(758,34): error TS2339: Property 'authenticated' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(761,34): error TS2339: Property 'authenticate' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(782,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(789,43): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(790,43): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(791,36): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(792,36): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(793,45): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(794,45): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(797,28): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(851,43): error TS2339: Property 'bears' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(852,43): error TS2339: Property 'fishes' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(853,43): error TS2339: Property 'addBear' does not exist on type 'Promise'. +tests/middlewareTypes.test.tsx(854,43): error TS2339: Property 'eatFish' does not exist on type 'Promise'. +tests/persistAsync.test.tsx(84,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; name: string; }>'. +tests/persistAsync.test.tsx(84,22): error TS2339: Property 'name' does not exist on type 'Promise<{ count: number; name: string; }>'. +tests/persistAsync.test.tsx(130,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(167,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(198,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(247,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(304,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; name: string; setName: (name: string) => void; }>'. +tests/persistAsync.test.tsx(304,22): error TS2339: Property 'setName' does not exist on type 'Promise<{ count: number; name: string; setName: (name: string) => void; }>'. +tests/persistAsync.test.tsx(304,31): error TS2339: Property 'name' does not exist on type 'Promise<{ count: number; name: string; setName: (name: string) => void; }>'. +tests/persistAsync.test.tsx(359,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(404,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(456,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(500,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; unstorableMethod: () => void; }>'. +tests/persistAsync.test.tsx(553,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; actions: { unstorableMethod: () => void; }; }>'. +tests/persistAsync.test.tsx(595,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(745,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; inc: () => void; }>'. +tests/persistAsync.test.tsx(757,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; inc: () => void; }>'. +tests/persistAsync.test.tsx(791,15): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; bumped: boolean; }>'. +tests/persistAsync.test.tsx(791,22): error TS2339: Property 'bumped' does not exist on type 'Promise<{ count: number; bumped: boolean; }>'. +tests/persistAsync.test.tsx(843,15): error TS2339: Property 'map' does not exist on type 'Promise<{ map: Map; }>'. +tests/persistAsync.test.tsx(881,15): error TS2339: Property 'map' does not exist on type 'Promise<{ map: Map; }>'. +tests/persistAsync.test.tsx(917,15): error TS2339: Property 'map' does not exist on type 'Promise<{ map: Map; }>'. +tests/persistAsync.test.tsx(974,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1064,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1106,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1134,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1168,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1171,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1192,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1227,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistAsync.test.tsx(1234,29): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; }>'. +tests/persistSync.test.tsx(656,37): error TS2339: Property 'count' does not exist on type 'Promise<{ count: number; inc: () => void; }>'. +tests/shallow.test.tsx(14,55): error TS2339: Property 'villages' does not exist on type 'Promise<{ villages: { name: string; }[]; }>'. +tests/shallow.test.tsx(26,26): error TS2339: Property 'refetchTimestamp' does not exist on type 'Promise<{ refetchTimestamp: string; }>'. +tests/shallow.test.tsx(133,33): error TS2345: Argument of type '(state: Record) => string[]' is not assignable to parameter of type '(state: Promise>) => string[]'. + Types of parameters 'state' and 'state' are incompatible. + Type 'Promise>' is not assignable to type 'Record'. + Index signature for type 'string' is missing in type 'Promise>'. +tests/ssr.test.tsx(22,33): error TS2339: Property 'bears' does not exist on type 'Promise'. +tests/ssr.test.tsx(24,8): error TS2339: Property 'increasePopulation' does not exist on type 'Promise'. +tests/ssr.test.tsx(76,47): error TS2339: Property 'bears' does not exist on type 'Promise<{ bears: number; }>'. +tests/subscribe.test.tsx(27,28): error TS2345: Argument of type '{ then(onfulfilled?: ((value: { value: number; other: string; }) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined): Promise<...>; catch(onr...' is not assignable to parameter of type '{ value: number; other: string; } | Partial<{ value: number; other: string; }> | ((state: { value: number; other: string; }) => { value: number; other: string; } | Partial<{ value: number; other: string; }>)'. +tests/subscribe.test.tsx(36,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(46,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(67,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(78,52): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/subscribe.test.tsx(93,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; }>'. +tests/types.test.tsx(43,25): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(47,50): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(61,25): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(62,30): error TS2339: Property 'num' does not exist on type 'Promise'. +tests/types.test.tsx(211,26): error TS2339: Property 'count' does not exist on type 'Promise | Promise>'. + Property 'count' does not exist on type 'Promise'. +tests/types.test.tsx(228,26): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/types.test.tsx(247,41): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(51,20): error TS2339: Property 'inc' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(53,27): error TS2339: Property 'count' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(65,22): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/vanilla/basic.test.ts(66,29): error TS2739: Type 'Promise' is missing the following properties from type 'State': value, getState1, getState2 +tests/vanilla/basic.test.ts(69,27): error TS2339: Property 'getState1' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(70,27): error TS2339: Property 'getState2' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(93,20): error TS2339: Property 'setState1' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(94,27): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(95,20): error TS2339: Property 'setState2' does not exist on type 'Promise'. +tests/vanilla/basic.test.ts(96,27): error TS2339: Property 'value' does not exist on type 'Promise'. +tests/vanilla/subscribe.test.tsx(22,14): error TS2345: Argument of type '{ then(onfulfilled?: ((value: { value: number; other: string; }) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | ... 1 more ... | undefined): Promise<...>; catch(onr...' is not assignable to parameter of type '{ value: number; other: string; } | Partial<{ value: number; other: string; }> | ((state: { value: number; other: string; }) => { value: number; other: string; } | Partial<{ value: number; other: string; }>)'. +tests/vanilla/subscribe.test.tsx(33,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(45,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(70,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(83,38): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(104,32): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(106,37): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(110,13): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(111,21): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(113,39): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; other: string; }>'. +tests/vanilla/subscribe.test.tsx(129,24): error TS2339: Property 'value' does not exist on type 'Promise<{ value: number; }>'. +[ELIFECYCLE] Command failed with exit code 2. diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.execution.json new file mode 100644 index 0000000..1f5d2b8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9766.565, + "spawn_error": null, + "stdout_sha256": "sha256:7f3410cb562117ef031706349ae30010df2e1e1227951f8b89dd307c4ce24a4c", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stdout.log new file mode 100644 index 0000000..78cee04 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 423ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: created dist/vanilla.js in 64ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 16ms +. build:react: created dist/react.js in 65ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 17ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 184ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 70ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 56ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 15ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/shallow.js in 53ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 18ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 79ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 21ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:react:shallow: created dist/react/shallow.js in 65ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/esm/react/shallow.mjs in 16ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 73ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 21ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 39ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.execution.json new file mode 100644 index 0000000..2a60992 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5313.875, + "spawn_error": null, + "stdout_sha256": "sha256:bb719fbbd76e64db23209c99141bfa7c4addeb9840a1ef3958441084074dd0ad", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stdout.log new file mode 100644 index 0000000..5d2a1f9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 481ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.execution.json new file mode 100644 index 0000000..5222e3a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6435.727, + "spawn_error": null, + "stdout_sha256": "sha256:ee9ee8c5d7c1ac20e0835324f6e45159be8e6f3ba6a0c312f3a30b6e32a48eb8", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stdout.log new file mode 100644 index 0000000..527007e --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 576ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.execution.json new file mode 100644 index 0000000..5ece90a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.execution.json @@ -0,0 +1,21 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/subscribeWithSelector.ts", + "src/vanilla/shallow.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5473.298, + "spawn_error": null, + "stdout_sha256": "sha256:b8f37e3e9756372a983b8ae6d7c20ba71c6d9eeda33bd914200b76f8f8e5b088", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stdout.log new file mode 100644 index 0000000..e2602c1 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 673ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json new file mode 100644 index 0000000..314d524 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":60,"numPassedTestSuites":56,"numFailedTestSuites":4,"numPendingTestSuites":0,"numTotalTests":185,"numPassedTests":174,"numFailedTests":11,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144122472,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":5.651466999999911,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.4104499999998552,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.5902390000001105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":14.151669999999967,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.31479000000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.974529000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5038209999997889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3818590000000768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3302599999999529,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.39336900000012065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.4319399999999405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.0808690000001206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5124909999999545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.9543780000001334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3959910000000946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.846960000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.215889000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6915890000000218,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.518880000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.45519000000012966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.5289689999999609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5548599999999624,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.42786999999998443,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3690990000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.5220409999999447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.3542290000000321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1503590000002077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.2792900000001737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5009589999999662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.49890099999993254,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2722390000001269,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4445099999998092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.141809000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.4828979999999774,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0766989999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4421589999999469,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4470410000001266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0700100000001385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":1.6275089999999182,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.8908089999999902,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":3.808488000000125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7817099999999755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5887889999999061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7112409999999727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.1443790000000718,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.9149989999998525,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.4428490000000238,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9063979999998537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.9621099999999387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8579789999998866,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.0004899999998997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8741499999998723,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.621349999999893,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.838598999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8272699999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7220290000000205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7814300000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5866390000001047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.8352879999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.3932199999999284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.34025900000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3575189999999111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.4717110000001412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.8915789999998651,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124633,"endTime":1788144124707.8916,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.9162179999998443,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7392799999997806,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.39093899999988935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6618590000000495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.371511000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.24206900000012865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.5512599999999566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.4479799999999159,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.4260489999999209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.5259810000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.2763390000000072,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.24132000000008702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.5843389999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.22514999999998508,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.30366000000003623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.3682899999998881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.22904000000016822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.23786100000006627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.2466110000000299,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2347700000000259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.2479000000000724,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.22646000000008826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.18939000000000306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.22118899999986752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2008299999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.21939999999995052,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124637,"endTime":1788144124650.2195,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":44.26163100000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.347156999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":13.110241000000087,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":5.655355999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":8.129374000000098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.7774470000001656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":4.409827999999834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.2788379999999506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.9450980000001437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.528137999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.3082889999998315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.8225399999998899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8470600000000559,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.8078989999999067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.9692479999998795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.5439980000001015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.3441069999998945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.958266999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9127089999999498,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5960489999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.7902289999999539,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.36964899999998124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.4593890000001011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5613590000000386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.2735900000000129,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6881500000001779,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124634,"endTime":1788144124751.6882,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":7.403104999999869,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7652199999999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.9995490000001155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.316298000000188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6169589999999516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5066889999998239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.373990000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.0683690000000752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.9324189999999817,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.47199899999986883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5114209999999275,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.36873900000000503,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.40879000000018095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.22933000000011816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3634799999999814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.23474000000010165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8236980000001495,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.5789509999999609,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3081889999998566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.537119999999959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.7651299999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.25434900000004745,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124635,"endTime":1788144124657.2544,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.6270790000000943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.45873900000015055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":40.24166300000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":8.09684500000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":12.757740999999896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":9.022693000000118,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124601,"endTime":1788144124674.0227,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.7412999999999101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.34288800000013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.9737189999998463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":4.9951260000000275,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:38:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":0.9986989999999878,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:48:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":1.0638989999999922,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:59:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":0.695699999999988,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:69:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.4578400000000329,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:84:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.39434000000005653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.6451289999999972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3568799999998191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.2583999999999378,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144125644,"endTime":1788144125659.357,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":3.347558000000163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.3042590000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":1.343499999999949,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.32262999999989006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0332700000001296,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.274359000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20749000000000706,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124618,"endTime":1788144124626.2075,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.501897999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.520821000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3455690000000686,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.2074800000000323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4948389999999563,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.1737510000000384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.358728999999812,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.28140000000007603,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.1665699999998651,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.22634899999980007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.27422100000012506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.15150900000003276,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6197000000001935,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144124578,"endTime":1788144124585.6196,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.4256980000000112,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.9940079999998943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":5.451046000000133,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:35:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":1.0855300000000625,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:47:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":1.1175080000000435,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:60:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":0.690710000000081,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:72:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.6929310000000442,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:89:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"failed","title":"should keep consistent behavior with equality check","duration":0.868659000000207,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 2 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:120:18\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4346499999999196,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144125707,"endTime":1788144125721.4346,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.execution.json new file mode 100644 index 0000000..810f250 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json" + ], + "exit_code": 1, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4476.557, + "spawn_error": null, + "stdout_sha256": "sha256:7afdaa66e9392dfa07e0864d23705d43eab6b657fa2da5f633867d0e1ca03c20", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stdout.log new file mode 100644 index 0000000..3319811 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 423ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json new file mode 100644 index 0000000..a7b0b0b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":62,"numFailedTestSuites":4,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":213,"numFailedTests":11,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144127136,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":7.356585000000223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":34.10128799999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":5.186007000000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.352005999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":10.240362999999888,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":4.961137000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.465427000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":2.2911780000001727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":13.73679100000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":9.29613500000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":4.975126000000046,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.299460000000181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.27381100000002334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.4395689999998922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":1.7318689999999606,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":5.351405999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.867604999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.932585999999901,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":7.94384500000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.840306999999939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":3.806547000000137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.286337999999887,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128716,"endTime":1788144128860.2864,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.923027999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.560118999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6990690000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.079674000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.100928999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8502000000000862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4883589999999458,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3609009999997852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3798290000001998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.29118099999982405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5165489999999409,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.0600799999999708,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5136589999999615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.4492299999999432,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.5032799999999042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9866300000001047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6583689999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.5926990000000387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6275900000000547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.37150100000008024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4071890000000167,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.32617000000004737,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.5149200000000747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.32544999999981883,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.4842989999999645,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.38754999999991924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1518690000000333,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.30321100000014667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.4832300000000487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.25670999999988453,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.26996900000017376,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4896799999999075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":0.9764190000000781,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.1659480000000713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0026189999998678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4597289999999248,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.9308399999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":0.9251299999998537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.34364899999991394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":0.8783089999999447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.7582700000000386,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.4611489999999776,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.4972099999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.500919999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.0994900000000598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.3577089999998861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.4620990000000802,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.7700690000001487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.5811809999997877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.6447989999999209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5813399999999547,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.0483990000000176,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4488890000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.5211690000000999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.5887900000000172,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":1.782468000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":1.0182600000000548,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7070989999999711,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.099879000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.1070589999999356,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.7608090000001084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3872199999998429,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5213280000000395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.8664499999999862,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128746,"endTime":1788144128809.8665,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.6400390000001153,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.7744900000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2518600000000788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.9214790000000903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.26634999999987485,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144130167,"endTime":1788144130171.2664,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.696189000000004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":1.1196199999999408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4300399999999627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5557200000000648,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.5505599999999049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.18425999999999476,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":1.125778000000082,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.4988789999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.50296000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.37111899999990783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.24627000000009502,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.19717900000000554,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.17093100000010963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.7335100000000239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.1773599999999078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.21619000000009692,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2527589999999691,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.18883999999980006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.12783999999987827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.18309900000008383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.42246000000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.1647400000001653,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.10393999999996595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.17172000000005028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.19488000000001193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.1561300000000756,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128747,"endTime":1788144128759.1948,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":45.80278999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.755516000000171,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.538480000000163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":7.891515000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":8.670344000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.944838000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.1895090000000437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":3.0547679999999673,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.056688000000122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.059237999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.2560490000000755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.6185599999998885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8260890000001382,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.8778979999999592,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.2106300000000374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.8211370000001352,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.4408690000000206,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":5.4576660000000174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.7865200000001096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.5021100000001297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.6735200000000532,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.5898190000000341,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.4633889999997791,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.4222310000000107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.18044899999995323,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.5043900000000576,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128746,"endTime":1788144128866.5044,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.050747000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7133499999999913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.208159999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.3721689999999853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.6233589999999367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5289210000000821,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":1.2391190000000734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.9925399999999627,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.4335989999999583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.36502999999993335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.3932489999999689,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4032199999999193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.45860000000016043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.24585100000012972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.5295800000001236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.2549199999998564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.8626199999998789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.41409999999996217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3290199999999004,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.5502989999999954,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8136600000000271,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2436800000000403,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128743,"endTime":1788144128761.8137,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.2251280000000406,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.2601110000000517,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":29.00546099999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":5.084116999999878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.323155000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":7.758094999999912,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128717,"endTime":1788144128770.758,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":46.47795099999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.942976000000044,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144130179,"endTime":1788144130231.9429,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.7641790000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.95833000000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7474379999998746,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":6.049765999999863,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:38:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":0.8053390000000036,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:48:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":1.3303890000001957,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:59:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":1.1436989999999696,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:69:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.8021390000001247,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx:84:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.5714199999999892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.7072490000000471,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.5111500000000433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.2656209999997827,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144128734,"endTime":1788144128751.2656,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":3.7858870000000024,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.5449000000000979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.4169009999998252,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.5036589999999705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":0.8765599999999267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2300999999999931,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.21219899999982772,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144130114,"endTime":1788144130122.23,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":18.955359000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.8143700000000536,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.38160999999990963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":3.1373180000000502,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.6180990000000293,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.3890690000000632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7535909999999149,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.40974899999991976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.7402900000001864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2909109999998236,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144130075,"endTime":1788144130103.291,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.6985789999998815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.40800100000001294,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.39267000000018015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.28700000000003456,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4725390000000971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.1559909999998581,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.34956099999999424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.145870000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2068810000000667,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":1.9708279999999831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.3829200000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.224809999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":1.8119090000000142,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144130108,"endTime":1788144130118.812,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.521487999999863,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7292090000000826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"failed","title":"should not be called when state slice is the same","duration":15.007220999999845,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n 1,\n 1,\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:35:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"failed","title":"should be called when state slice changes","duration":1.33858999999984,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:47:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"failed","title":"should not be called when equality checker returns true","duration":1.1766989999998714,"failureMessages":["AssertionError: expected \"vi.fn()\" to not be called at all, but actually been called 1 times\n\nReceived:\n\n 1st vi.fn() call:\n\n Array [\n Object {\n \"other\": \"a\",\n \"value\": 3,\n },\n Object {\n \"other\": \"a\",\n \"value\": 1,\n },\n ]\n\n\nNumber of calls: 1\n\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1467:10)\n at Proxy. (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.js:1156:15)\n at Proxy.methodWrapper (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js:1700:25)\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:60:21\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"failed","title":"should be called when equality checker returns false","duration":0.5731010000001788,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:72:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"failed","title":"should unsubscribe correctly","duration":0.7799199999999473,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 0 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:89:17\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"failed","title":"should keep consistent behavior with equality check","duration":0.9570579999999609,"failureMessages":["AssertionError: expected \"vi.fn()\" to be called 1 times, but got 2 times\n at /tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx:120:18\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:302:11\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:1903:26\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2326:20\n at new Promise ()\n at runWithCancel (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2323:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2305:20\n at new Promise ()\n at runWithTimeout (file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2272:10)\n at file:///tmp/av-exp-001-results-v2-scratch/AVS-009/node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js:2955:64"],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.6621300000001611,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144130115,"endTime":1788144130139.662,"status":"failed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-009/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.execution.json new file mode 100644 index 0000000..96f1867 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4553.175, + "spawn_error": null, + "stdout_sha256": "sha256:fa1f638b309a84c43704046e1bd0e92d74cf8dd7bc8b8d066acb356f003aebde", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stdout.log new file mode 100644 index 0000000..5ef4bd0 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 526ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.execution.json new file mode 100644 index 0000000..5b9da18 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10442.756, + "spawn_error": null, + "stdout_sha256": "sha256:f949b116d55ab74cd221e8eead9ce196550d68ff8e15cac82b3d5d6f23d3e2f3", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stdout.log new file mode 100644 index 0000000..25d1647 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 548ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:base: src/index.ts → dist... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: created dist/react.js in 87ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/vanilla.js in 108ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/esm/react.mjs in 23ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: created dist/esm/vanilla.mjs in 48ms +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 225ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 70ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:shallow: created dist/shallow.js in 52ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: created dist/middleware/immer.js in 62ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:shallow: created dist/esm/shallow.mjs in 13ms +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 22ms +. build:shallow: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:middleware:immer: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 88ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 26ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 59ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 13ms +. build:traditional: created dist/traditional.js in 67ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 24ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.1s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 31ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.execution.json new file mode 100644 index 0000000..7618738 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4392.482, + "spawn_error": null, + "stdout_sha256": "sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stdout.log new file mode 100644 index 0000000..ba8fd7f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 433ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.execution.json new file mode 100644 index 0000000..05db73b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6082.96, + "spawn_error": null, + "stdout_sha256": "sha256:8a04c205036f23827d2beed399affb8ca0ae3506f3a02dbff8046ce8f1e56799", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stdout.log new file mode 100644 index 0000000..516c617 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 411ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.execution.json new file mode 100644 index 0000000..16be244 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.execution.json @@ -0,0 +1,20 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "related", + "src/middleware/ssrSafe.ts", + "--run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3045.232, + "spawn_error": null, + "stdout_sha256": "sha256:e35b078e540e91b72637977791d28bf83c0603fc1c7b35228b4c5d4cb45e58be", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stdout.log new file mode 100644 index 0000000..6ceca89 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 398ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json new file mode 100644 index 0000000..2b73955 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":52,"numPassedTestSuites":52,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":166,"numPassedTests":166,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144159252,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":2.927387999999837,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.0879279999999198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.5680609999999433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":8.024595999999974,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":1.9297990000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8365599999999631,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.4375400000001264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3805299999999079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.3874599999999191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3595500000001266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6141110000000936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.28392000000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.4484499999998661,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8322689999999966,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.41004900000007183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.907359999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.6035300000000916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.8006900000000314,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.5024680000001354,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.33633999999983644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.40523899999993773,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4470400000000154,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.368310000000065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.41048000000000684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.34090900000001056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.39861100000007355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.089178999999831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.1913409999999658,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5178110000001652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2668899999998757,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.275389000000132,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.4292699999998604,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.2107989999999518,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.487679000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0208600000000843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5476490000000922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.7129700000000412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.4732890000000225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.5098599999998896,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.0680489999999736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":0.9731489999999212,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.7003790000001118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5841510000000198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7136189999998805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8242199999999684,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.158128999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.3027890000000752,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.9809299999999439,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7187189999999646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8514299999999366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6440299999999297,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7660289999998895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6372799999999188,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.714919000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.603170000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.7254590000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8068289999998797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5978090000000975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.6759190000000217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.407169999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.277749999999969,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3342810000001464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":0.5631289999998899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0054099999999835,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160885,"endTime":1788144160945.0054,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.3593700000001263,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.7395500000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.35179999999991196,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5677100000000337,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.2713099999998576,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.22941999999989093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4110990000001493,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.22751100000004953,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.4781909999999243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3743689999998878,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.37968000000000757,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.2713900000001104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.2171809999999823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.18133000000011634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.13548000000014326,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":2.632107999999789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2538010000000668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2671379999999317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.17749099999991813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.19753999999988991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.21747000000004846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.1891689999999926,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.1537710000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.22225000000003092,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2729110000000219,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.19198000000005777,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160887,"endTime":1788144160899.273,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":35.54425399999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":4.0135680000000775,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":7.280356999999867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":3.87542899999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":3.9495770000000903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.313620000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":1.9361779999999271,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":2.0659589999997934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.2520680000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.9156090000001313,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":1.8014889999999468,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.5427190000000337,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.7075200000001587,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.7040799999999763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":1.9608189999999013,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.8874990000001617,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.4752790000000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.123978000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.8395600000001195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.4990589999999884,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.5478200000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.2672900000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.3544499999998152,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.42794000000003507,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.22560100000009697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.4968900000001213,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160886,"endTime":1788144160969.4968,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.474326999999903,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.7293610000001536,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.2977390000000923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.7121589999999287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.1103100000000268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5105499999999665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.3864090000001852,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.146489999999858,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.5504789999999957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.4075000000000273,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.42069999999989705,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.39285000000018044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.39400899999986905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.30034999999998035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.24453999999991538,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.17810000000008586,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.712579999999889,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.33690900000010515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.25292899999999463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.45408099999986007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.5937390000001415,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.24731099999985418,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160883,"endTime":1788144160899.2473,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.1158680000000913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8502600000001621,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.7564099999999598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4326089999999567,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.47937000000001717,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3261400000001231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.4038299999999708,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6454989999999725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.40097000000014305,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.537029000000075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3169900000000325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.2231590000001233,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160877,"endTime":1788144160887.2231,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.86204900000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.7377389999999195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2938899999999194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.33034999999995307,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0357790000000477,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.33280999999988126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.25606900000002497,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160875,"endTime":1788144160880.3328,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":3.284738000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.199239000000034,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5224099999998089,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5969609999999648,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.3790190000001985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.43463100000008126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4939090000000306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5794399999999769,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4321399999998903,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144160877,"endTime":1788144160886.4321,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.execution.json new file mode 100644 index 0000000..1fa3c9b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4319.333, + "spawn_error": null, + "stdout_sha256": "sha256:244fd2735d6e412e53ec56256bdd7752e719b2984f5cf7b4b2aa022c36685889", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stdout.log new file mode 100644 index 0000000..21f7e25 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 446ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json new file mode 100644 index 0000000..8cebc83 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788144162321,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":9.866745000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.30345699999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":3.5857679999999164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":6.048168000000032,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":7.764075999999932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":3.770479000000023,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.7440080000001217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":3.100069000000076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":4.980237999999872,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":14.086444000000029,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":6.910167000000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.22344999999995707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.21582000000012158,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.31458999999995285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":4.4552380000000085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":3.081818999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.407497999999805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":3.223999000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.244016999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.083348999999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":2.8680490000001555,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":0.9617310000000998,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163879,"endTime":1788144164000.9617,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.2480789999999615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.1155489999998736,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.5711999999998625,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":9.084626000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":2.2814780000001065,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.9145400000002155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.3975800000000618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.2686400000000049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.5085189999999784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.3410999999998694,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.4433790000000499,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.5440499999999702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.49959899999998925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.6979699999999411,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.32491000000004533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":0.9976090000000113,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.8508689999998751,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.6406490000001668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6337410000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4500489999998081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.539459000000079,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.5938699999999244,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.309099999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.3351509999999962,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.5173499999998512,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.6063110000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3480590000001484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.21507100000007995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5917099999999209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.2719199999999091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.2856690000000981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.35987999999997555,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.1033599999998387,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.5297390000000632,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2162399999999707,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.36908900000003086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4086099999999533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.0065799999999854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.7754089999998541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.2203989999998157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.21296899999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6021900000000642,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5691600000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.9397200000000794,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.190548999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.148918999999978,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.7024690000000646,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0079889999999523,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6732209999997849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.4323080000001482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":1.0330800000001545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.1252399999998488,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.9720589999999447,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.808330000000069,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.8720190000001367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6962889999999788,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.9396189999999933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6684789999999339,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.0667490000000726,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.5134989999999107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":2.0642190000000937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3691000000001168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.3811689999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.4722699999999804,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163908,"endTime":1788144163979.4722,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.673530000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6762790000000223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.19717100000002574,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.7390799999998308,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.20374999999989996,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144165200,"endTime":1788144165204.739,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.4007500000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.635770999999977,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.3509599999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.5580800000000181,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.42457999999987805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.1565010000001621,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.5025090000001455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.2872899999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.7732089999999516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.3530909999999494,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.31447899999989204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.48054000000001906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.3052589999999782,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5186209999999392,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.19832099999985076,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.21986900000001697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.23408999999992375,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.40556000000015047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.19127000000003136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24120999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.3419800000001487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.3989890000000287,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.15508999999997286,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.20729099999994105,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.18594099999995706,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.25365000000010696,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163915,"endTime":1788144163927.2537,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":48.46210700000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.294196000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.274722999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.78724699999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.087075999999797,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":5.343247000000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.8770479999998315,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":4.839278000000149,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":5.057807000000139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.164299000000028,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.531569999999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.8310699999999542,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.0040400000000318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.8857700000000932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":3.0901779999999235,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.5677089999999225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.103358000000071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.192208000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9304799999999886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.7043300000000272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.6147099999998318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.6977799999999661,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.6003499999999349,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5780400000001009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.3624499999998534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.8447089999999662,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163911,"endTime":1788144164046.8447,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":4.528217999999924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.6778100000001359,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.0652800000000298,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.8500900000001366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.088320000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.43960900000001857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.41408000000001266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":2.6114090000000942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.6677790000001096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.3846000000000913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.47539000000006126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.36021100000016304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.34199999999987085,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.1819789999999557,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3271500000000742,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.18704000000002452,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7130990000000565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.38572000000021944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2299390000000585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.424780999999939,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.5922789999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2058199999999033,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163909,"endTime":1788144163926.2058,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.4600699999998596,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.3082799999999679,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":36.5067939999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":6.784276000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":9.924236000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":7.305856000000176,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163881,"endTime":1788144163944.306,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":49.65163899999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":8.07159700000011,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144165232,"endTime":1788144165290.0715,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.463709000000108,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.7665190000000166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.3811500000001615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.357529999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.3073899999999412,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.20990000000006148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.32224999999994,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.35489899999993213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.27838999999994485,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.4644189999999071,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.3027709999998933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.31306000000017775,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144164976,"endTime":1788144164983.313,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.7508580000001075,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.5706500000001142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.21897999999987405,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.2700489999999718,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.0970800000000054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.23444999999992433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.20135000000004766,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144165199,"endTime":1788144165203.2344,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":7.160118000000011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.4253790000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2959610000000339,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.28825000000006185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.36106000000017957,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.6613110000000688,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6899089999999433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.17270000000007713,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.14202099999988604,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.21898899999996502,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144165192,"endTime":1788144165203.219,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.1972579999999198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.45484000000010383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.36977999999999156,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.3534700000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4969690000000355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2532309999999143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.47959100000002763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.18248900000003232,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.21948999999995067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.32392000000004373,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2515399999999772,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.18141100000002552,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6753189999999449,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144163839,"endTime":1788144163846.6753,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.551567999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.4909979999999905,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.777810000000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.8233789999999317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.4358589999999367,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.7791299999998955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.6430100000000039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.8192189999999755,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.818128999999999,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788144165045,"endTime":1788144165055.818,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/AVS-010/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.execution.json new file mode 100644 index 0000000..d2e5c65 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3850.477, + "spawn_error": null, + "stdout_sha256": "sha256:2fb4b0fc9ac1841c8278c50c25affb0f1c45340cd314668572c70128dfb38ccc", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stdout.log new file mode 100644 index 0000000..44e840d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 416ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.execution.json new file mode 100644 index 0000000..b8c25c1 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 11498.98, + "spawn_error": null, + "stdout_sha256": "sha256:d390a93278bba40acdf921465b78d32fd796e5c1d25d1c3684f610b74bfd7e18", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stdout.log new file mode 100644 index 0000000..33c3d47 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 479ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:base: src/index.ts → dist... +. build:react: created dist/react.js in 176ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/vanilla.js in 189ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/esm/react.mjs in 25ms +. build:vanilla: created dist/esm/vanilla.mjs in 21ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 377ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 224ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:shallow: created dist/shallow.js in 113ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 77ms +. build:middleware:immer: created dist/middleware/immer.js in 279ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 45ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 127ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 34ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 71ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 15ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 80ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 21ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 4.7s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 33ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.execution.json new file mode 100644 index 0000000..6adf824 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 5265.953, + "spawn_error": null, + "stdout_sha256": "sha256:4c290f875d898599dc61c394d30a8bfb4b2078c3d85370c732c1217662d07b92", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stdout.log new file mode 100644 index 0000000..226f410 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 462ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.execution.json new file mode 100644 index 0000000..bba3640 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6597.883, + "spawn_error": null, + "stdout_sha256": "sha256:9038624e035a8baa392a3a36fca8915222018629781d2b1180162f5729417378", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stdout.log new file mode 100644 index 0000000..606c209 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 464ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.execution.json new file mode 100644 index 0000000..166eedd --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4721.619, + "spawn_error": null, + "stdout_sha256": "sha256:8750fb1268e678f7f5e3930697105fbc75341acb6427c13b179e5f9e2a357fcc", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stdout.log new file mode 100644 index 0000000..29015b9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 478ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json new file mode 100644 index 0000000..26dc5da --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143738121,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":10.594890000000078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":32.38405399999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.127952999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.110394000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":15.062754999999925,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":8.138942999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":5.036284999999907,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.269332000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":7.274701999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":11.37794299999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.178696000000173,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3166909999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3759909999998854,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.5192809999998644,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8217729999998937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.96296899999993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":6.283928999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.632203000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.90661799999998,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":6.213468000000148,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.529743000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.6775740000000496,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739863,"endTime":1788143740009.6775,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":4.898623999999927,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.2743239999999787,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.606773000000203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":20.026677999999947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":3.187488999999914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":0.8021429999998873,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":4.754203999999845,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.45581099999981234,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.41553099999987353,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.4117220000000543,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.6945620000001327,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":4.587684000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.6211220000000139,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.8589029999998274,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.49082099999986895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":1.2856839999999465,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":0.9982840000000124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.7961210000000847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.7063810000001922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6812820000000102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4350419999998394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.510832000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.40542100000016035,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4792520000000877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.5995020000000295,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.59365200000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.3932839999999942,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.23913100000004306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.6366230000000996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3657899999998335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.3732310000000325,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.7536629999999604,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.5259949999999662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.919444999999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2601740000000063,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.388501000000133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.49373099999979786,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.2559539999999743,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.8407730000001266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.034343999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0967729999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6782220000000052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5835609999999178,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7516219999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.9557330000000093,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.9222460000000865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":2.5587480000001506,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.1741030000000592,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6492920000000595,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7714909999999691,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4596919999999045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.1476460000001225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5104310000001533,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8110130000000026,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.6558109999998578,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6051230000000487,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.6853009999999813,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5920229999999265,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.0265160000001288,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":1.7877759999998943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.6348939999998038,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.4066400000001522,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.3962039999998979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.0836429999999382,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739912,"endTime":1788143740005.0837,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.8683779999998933,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.6354010000000017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.22937100000012833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.8023110000001452,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.24582099999997808,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143741299,"endTime":1788143741303.8022,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.6864149999998972,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.5662610000001678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.29284100000018043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.6062820000001921,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.4127410000000964,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.2429899999999634,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.383431999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.8190130000000408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.337884000000031,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.4035910000000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.1853800000001229,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.9075430000000324,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.33527200000003177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.2434899999998379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.2455210000000534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.1691200000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.5908230000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.22613999999998668,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.18970100000001366,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.2813300000000254,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.24692099999992934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.27790200000004006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.14457000000015796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.49428100000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.20745099999999184,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.20790999999985615,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739928,"endTime":1788143739940.4944,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":49.84385599999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":7.557772000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":17.529581000000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":9.825219000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.122252000000117,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":6.7474909999998545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.043728999999985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.048193000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.731003999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.8093579999999747,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":3.193038999999999,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.4993850000000748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.9601430000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.5120649999998932,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":8.029192000000194,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":2.1669560000000274,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.8986919999999827,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":8.664985000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9397030000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":1.347065000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.0111329999999725,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.3727120000000923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.63379000000009,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.7130520000000615,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.30775000000016917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.7564630000001671,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739915,"endTime":1788143740066.7563,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":8.535744999999906,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":2.2525060000000394,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":2.31125800000018,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.5364750000001095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":1.1139330000000882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.9193219999999656,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.8327420000000529,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.479513999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.7399819999998272,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.4438920000000053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5072810000001482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.45097199999986515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.9379129999999805,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.34906999999998334,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.5242929999999433,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.29260999999996784,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":1.1786930000000666,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.0689930000000913,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.4186409999999796,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":1.0214630000000398,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.9830429999999524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.3053010000000995,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739913,"endTime":1788143739942.3054,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":1.7930150000001959,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.5254720000000361,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":36.37276700000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.2305129999999735,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.231778000000077,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.374641999999994,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143741281,"endTime":1788143741335.3748,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":50.132937000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.803561999999829,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143741328,"endTime":1788143741385.8035,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.7075449999999819,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.040952999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":3.132678000000169,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.5391419999998561,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5752219999999397,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2716419999999289,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.35924100000011094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3649809999999434,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.34501000000000204,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.3594810000001871,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.21370200000001205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.759905000000117,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143741245,"endTime":1788143741256.76,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":2.370826999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.064672999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.500972000000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.5177009999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.3490130000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2844920000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.24733000000014727,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739890,"endTime":1788143739896.2844,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":12.031815999999935,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5721220000000358,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.25654099999997015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.26725100000021484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3532719999998335,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.9146129999999175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.8383420000000115,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.2116689999998016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.5481809999998859,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.22963099999992664,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143741254,"endTime":1788143741270.2297,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.9787449999998898,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.3647209999999177,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3662320000000818,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.3386809999999514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4669220000000678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.22998200000006364,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.4976719999999659,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.2012809999998808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2772700000000441,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.3409409999999298,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2966609999998582,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1675799999998162,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.7617729999999483,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143739827,"endTime":1788143739833.7617,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.758149000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.6766649999999572,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.403351000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5285419999997885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2798410000000331,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.35986000000002605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.4929329999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5067919999999049,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.641941000000088,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143741208,"endTime":1788143741216.6418,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-1/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.execution.json new file mode 100644 index 0000000..686a690 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4722.463, + "spawn_error": null, + "stdout_sha256": "sha256:bf714a224786e69a7fc40cc3d475baaf331567a6ce9372f84f7b4f07444314ea", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stdout.log new file mode 100644 index 0000000..4a1ec7f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-1/baseline-1-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 540ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.execution.json new file mode 100644 index 0000000..9d0126f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 9994.804, + "spawn_error": null, + "stdout_sha256": "sha256:250bdef3f9fd85073f04e5d4dd1ba36e2252bc2e63fbc3bd68b67ba7962d0911", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stdout.log new file mode 100644 index 0000000..3dd7122 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 420ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:react: src/react.ts → dist/react.js... +. build:base: src/index.ts → dist... +. build:vanilla: created dist/vanilla.js in 75ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:vanilla: created dist/esm/vanilla.mjs in 18ms +. build:react: created dist/react.js in 78ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:react: created dist/esm/react.mjs in 29ms +. build:react: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 182ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 86ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 69ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 28ms +. build:shallow: created dist/shallow.js in 68ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/esm/shallow.mjs in 16ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 78ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 29ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 59ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 28ms +. build:traditional: created dist/traditional.js in 70ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:react:shallow: Done +. build:traditional: created dist/esm/traditional.mjs in 36ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.3s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 37ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 9ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.execution.json new file mode 100644 index 0000000..cf8aa56 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4569.646, + "spawn_error": null, + "stdout_sha256": "sha256:e84839eda5b71b3ad09ab725d3c07da44d957aaa0fee5fc69748303d1c07f3a6", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stdout.log new file mode 100644 index 0000000..2ced9c2 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 399ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.execution.json new file mode 100644 index 0000000..1643d3d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6436.192, + "spawn_error": null, + "stdout_sha256": "sha256:126bc5d89e49bb7fc409805a531c3c7132fb17ec0ebaf4c9089a3af3377ce694", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stdout.log new file mode 100644 index 0000000..3337ad0 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 427ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.execution.json new file mode 100644 index 0000000..631ad93 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4327.375, + "spawn_error": null, + "stdout_sha256": "sha256:9bce0154b3c347fe7e836ddae5450e888b8e4fc81ba7c387b4a18b54b00ac41e", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stdout.log new file mode 100644 index 0000000..b588cd9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 448ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json new file mode 100644 index 0000000..0a3c2cc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143772470,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":11.111323000000084,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":32.33606500000019,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":10.027520000000095,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":11.380251999999928,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":17.150441,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":5.934627000000091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":4.2465729999998985,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.408642999999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":7.908304000000044,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":10.88349200000016,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":3.943721000000096,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.2624020000000655,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.25921999999991385,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.3576810000001842,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.6328819999998814,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":2.295326000000159,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":4.520852999999988,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":5.409945999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":4.834424000000126,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.725703999999951,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.114011000000119,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.1997539999999844,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774025,"endTime":1788143774173.1997,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.7824909999999363,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":4.200102000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.5803330000001097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":10.585481000000073,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":6.156618000000208,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":3.857620999999881,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":0.5867109999999229,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.3604419999999209,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.366121000000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.33700100000010025,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":1.060282000000143,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":4.0575209999999515,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.653002000000015,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":1.007031999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.3740609999999833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":4.622312999999849,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.2931740000001355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.8933429999999589,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.550331000000142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4738719999998011,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.3216909999998734,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.37920099999996637,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.30062100000009195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.31760000000008404,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":1.6274049999999534,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.547600999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1927630000000136,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.16180099999996855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.4747620000000552,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.7099020000000564,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.29383100000018203,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.41263200000003053,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.253453000000036,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.656306000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.3250539999999091,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.41702200000008816,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.5664819999999509,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1513529999999719,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.6591619999999239,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.082503000000088,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.0400130000000445,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.63862099999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.4586810000000696,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.8964229999999134,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":0.8906819999999698,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":2.268867,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.632434000000103,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":1.0013919999998961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.7005320000000665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.8759130000000823,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.4727410000000418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":1.7865249999999833,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.5772309999999834,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7445119999999861,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.7756120000001374,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6366920000000391,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.7063829999999598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.43704200000001947,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":1.7149650000001202,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.153927000000067,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.650735000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3400610000001052,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.4058840000000146,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":0.7205719999999474,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774057,"endTime":1788143774144.7205,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":2.5095360000000255,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.782271000000037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.2337199999999484,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":0.8051430000000437,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.2453410000000531,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143775379,"endTime":1788143775384.2454,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.9859659999999622,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.9316939999998795,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.520542000000205,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7527919999999995,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.27989000000002306,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.45623199999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.4610820000000331,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.3484599999999318,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":1.524054999999862,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.4715919999998732,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.21422099999995226,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.5341610000000401,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.26919100000009166,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.21462899999983165,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.15093100000012782,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.18709100000000944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.23002100000007886,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.21445999999991727,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.17661099999986618,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.1819799999998395,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.28472199999987424,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.1970899999998892,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.13592999999991662,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.19011000000000422,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":1.5946850000000268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.26411099999995713,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774069,"endTime":1788143774082.5947,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":48.92803200000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":6.883419999999887,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":15.844575999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":8.651853999999958,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":6.835131000000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.5965400000000045,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":2.8706889999998566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.422094999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":4.17502300000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":2.495296999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.1707460000000083,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.7881429999999909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.8369210000000749,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.717871999999943,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.23452599999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":1.7659550000000763,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":2.9138090000001284,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":4.862093999999843,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.6452920000001541,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.45881099999996877,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":0.6664209999999002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.24872000000004846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.42152099999998427,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.3741299999999228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.18059100000004946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.5306319999999687,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774074,"endTime":1788143774200.5305,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":8.77784500000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8406319999999141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":1.9170749999998407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":1.1455740000001242,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":0.69352200000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.5572709999999006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.4971610000000055,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":1.4163750000000164,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":1.026002999999946,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.49865199999999277,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.5127919999999904,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.4205109999998058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.4521919999999682,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.30900999999994383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.3795509999999922,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.27486099999987346,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.9839230000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":1.238243999999895,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.3272699999999986,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.6383820000000924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.8852229999999963,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.2764310000000023,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774069,"endTime":1788143774093.2764,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.3417779999999766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.372180999999955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":43.61686699999996,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":6.971780000000081,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":10.35035999999991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":8.555624999999964,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143775238,"endTime":1788143775311.5557,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":52.87139400000001,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":7.428871000000072,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143775387,"endTime":1788143775447.429,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":2.2142760000001545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":1.0553639999998268,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.9648349999999937,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4081210000001647,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.44344200000000455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.30468199999995704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.40525099999990744,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3989120000001094,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.3663800000001629,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":1.1913529999999355,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.30193000000008396,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":0.7848820000001524,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143775335,"endTime":1788143775344.785,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":5.793835999999828,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":1.2419740000000274,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.5515929999999116,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.7568319999998039,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.6678340000000844,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.2876220000000558,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.46705199999996694,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774040,"endTime":1788143774050.467,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":8.275424000000157,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":0.5590009999998529,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.27512099999989914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.37845999999990454,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.3079219999999623,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.8916520000000219,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.5878620000000865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.1757910000001175,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":0.523591000000124,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.3106809999999314,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143775338,"endTime":1788143775350.5237,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":1.9128650000000107,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.431201000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.3239419999999882,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.2892010000000482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.5921519999999418,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2620210000000043,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.31435099999998783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.16849899999988338,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.20663100000001577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.2722909999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.27542099999982383,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.1653200000000652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.5829309999999168,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143774005,"endTime":1788143774011.583,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.1569969999998193,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":2.2550559999999678,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.4250010000000657,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.4947110000000521,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.2571809999999459,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.31762099999991733,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.3456899999998768,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":0.5351119999997991,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":1.1123619999998482,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143775276,"endTime":1788143775284.1123,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-2/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.execution.json new file mode 100644 index 0000000..5f9d004 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4001.26, + "spawn_error": null, + "stdout_sha256": "sha256:8d9fab27b3a2e7f8a3164432a10f3f0f652ee40ba04fc4e9557fcf7f929044be", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stdout.log new file mode 100644 index 0000000..cfecd13 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-2/baseline-2-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 475ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.execution.json new file mode 100644 index 0000000..6f5b7a2 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "build" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 10417.752, + "spawn_error": null, + "stdout_sha256": "sha256:c43232812758dbdfde7920891317dd378932850f89812e9eff77b8e93107438e", + "stderr_sha256": "sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stderr.log new file mode 100644 index 0000000..d400a8f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stderr.log @@ -0,0 +1,8 @@ +$ pnpm run prebuild && pnpm run "/^build:.*/" && pnpm run postbuild +$ shx rm -rf dist +$ pnpm run patch-d-ts && pnpm run copy && pnpm run patch-old-ts && pnpm run patch-esm-ts +$ node --input-type=module -e "import { entries } from './rollup.config.mjs'; import shelljs from 'shelljs'; const { find, sed } = shelljs; find('dist/**/*.d.ts').forEach(f => { entries.forEach(({ find, replacement }) => { sed('-i', new RegExp(' from \'' + find.source.slice(0, -1) + '\';$'), ' from \'' + replacement + '\';', f); }); sed('-i', / from '(\.[^']+)\.ts';$/, ' from \'\$1\';', f); });" +$ shx cp -r dist/src/* dist/esm && shx cp -r dist/src/* dist && shx rm -rf dist/src && shx rm -rf dist/{src,tests} && shx cp package.json README.md LICENSE dist && json -I -f dist/package.json -e "this.private=false; this.devDependencies=undefined; this.optionalDependencies=undefined; this.scripts=undefined; this.prettier=undefined;" +json: updated "dist/package.json" in-place +$ shx touch dist/ts_version_4.5_and_above_is_required.d.ts +$ node -e "require('shelljs').find('dist/esm/**/*.d.ts').forEach(f=>{var f2=f.replace(/\.ts$/,'.mts');require('fs').renameSync(f,f2);require('shelljs').sed('-i',/ from '(\.[^']+)';$/,' from \'\$1.mjs\';',f2);require('shelljs').sed('-i',/^declare module '(\.[^']+)'/,'declare module \'\$1.mjs\'',f2)})" diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stdout.log new file mode 100644 index 0000000..570e878 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-build.stdout.log @@ -0,0 +1,59 @@ +Already up to date +Done in 618ms using pnpm v11.3.0 +. build:base$ rollup -c +. build:vanilla$ rollup -c --config-vanilla +. build:react$ rollup -c --config-react +. build:middleware$ rollup -c --config-middleware +. build:middleware: src/middleware.ts → dist/middleware.js... +. build:vanilla: src/vanilla.ts → dist/vanilla.js... +. build:react: src/react.ts → dist/react.js... +. build:base: src/index.ts → dist... +. build:react: created dist/react.js in 59ms +. build:react: src/react.ts → dist/esm/react.mjs... +. build:vanilla: created dist/vanilla.js in 64ms +. build:vanilla: src/vanilla.ts → dist/esm/vanilla.mjs... +. build:react: created dist/esm/react.mjs in 20ms +. build:vanilla: created dist/esm/vanilla.mjs in 32ms +. build:react: Done +. build:middleware:immer$ rollup -c --config-middleware_immer +. build:vanilla: Done +. build:shallow$ rollup -c --config-shallow +. build:middleware: created dist/middleware.js in 171ms +. build:middleware: src/middleware.ts → dist/esm/middleware.mjs... +. build:middleware: created dist/esm/middleware.mjs in 57ms +. build:middleware: Done +. build:vanilla:shallow$ rollup -c --config-vanilla_shallow +. build:middleware:immer: src/middleware/immer.ts → dist/middleware/immer.js... +. build:shallow: src/shallow.ts → dist/shallow.js... +. build:middleware:immer: created dist/middleware/immer.js in 60ms +. build:middleware:immer: src/middleware/immer.ts → dist/esm/middleware/immer.mjs... +. build:middleware:immer: created dist/esm/middleware/immer.mjs in 20ms +. build:middleware:immer: Done +. build:react:shallow$ rollup -c --config-react_shallow +. build:shallow: created dist/shallow.js in 51ms +. build:shallow: src/shallow.ts → dist/esm/shallow.mjs... +. build:shallow: created dist/esm/shallow.mjs in 10ms +. build:shallow: Done +. build:traditional$ rollup -c --config-traditional +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/vanilla/shallow.js... +. build:vanilla:shallow: created dist/vanilla/shallow.js in 70ms +. build:vanilla:shallow: src/vanilla/shallow.ts → dist/esm/vanilla/shallow.mjs... +. build:vanilla:shallow: created dist/esm/vanilla/shallow.mjs in 22ms +. build:vanilla:shallow: Done +. build:react:shallow: src/react/shallow.ts → dist/react/shallow.js... +. build:traditional: src/traditional.ts → dist/traditional.js... +. build:react:shallow: created dist/react/shallow.js in 62ms +. build:react:shallow: src/react/shallow.ts → dist/esm/react/shallow.mjs... +. build:react:shallow: created dist/esm/react/shallow.mjs in 16ms +. build:react:shallow: Done +. build:traditional: created dist/traditional.js in 59ms +. build:traditional: src/traditional.ts → dist/esm/traditional.mjs... +. build:traditional: created dist/esm/traditional.mjs in 22ms +. build:traditional: Done +. build:base: (!) [plugin typescript] @rollup/plugin-typescript TS5096: Option 'allowImportingTsExtensions' can only be used when one of 'noEmit', 'emitDeclarationOnly', or 'rewriteRelativeImportExtensions' is set. +. build:base: created dist in 3.2s +. build:base: src/index.ts → dist/index.js... +. build:base: created dist/index.js in 31ms +. build:base: src/index.ts → dist/esm/index.mjs... +. build:base: created dist/esm/index.mjs in 8ms +. build:base: Done diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.execution.json new file mode 100644 index 0000000..6f1810b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:format" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4277.026, + "spawn_error": null, + "stdout_sha256": "sha256:4a62bb8786034c67817a27118805ff52436dffb08c978161f99fbd9fc9909fbe", + "stderr_sha256": "sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stderr.log new file mode 100644 index 0000000..8b2db05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stderr.log @@ -0,0 +1 @@ +$ prettier . --list-different diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stdout.log new file mode 100644 index 0000000..6ce794f --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-format.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 408ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.execution.json new file mode 100644 index 0000000..48ec7ca --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:lint" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 6480.94, + "spawn_error": null, + "stdout_sha256": "sha256:82ea1a1d7adf617a81387b83fe72ee72d4ed0c226c72479f7c85c763ac41ab4a", + "stderr_sha256": "sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stderr.log new file mode 100644 index 0000000..dafda4a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stderr.log @@ -0,0 +1 @@ +$ eslint . diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stdout.log new file mode 100644 index 0000000..871bbad --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-lint.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 435ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.execution.json new file mode 100644 index 0000000..b532f07 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.execution.json @@ -0,0 +1,18 @@ +{ + "command": [ + "corepack", + "pnpm", + "exec", + "vitest", + "run", + "--reporter=json", + "--outputFile=/home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 4571.042, + "spawn_error": null, + "stdout_sha256": "sha256:9aec0ce765181a9bce2bf9803f49979909df0e18218ae32ebfc642513f9ce1b0", + "stderr_sha256": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stderr.log new file mode 100644 index 0000000..e69de29 diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stdout.log new file mode 100644 index 0000000..53bc0ac --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.stdout.log @@ -0,0 +1,3 @@ +Already up to date +Done in 491ms using pnpm v11.3.0 +JSON report written to /home/deploy/apps/opsle-bootstrap/repos/affected-verification/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json new file mode 100644 index 0000000..497bea8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-tests.vitest.json @@ -0,0 +1 @@ +{"numTotalTestSuites":66,"numPassedTestSuites":66,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":224,"numPassedTests":224,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":2,"total":2,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1788143803542,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":[],"fullName":"creates a store hook and api object","status":"passed","title":"creates a store hook and api object","duration":9.72985699999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with no args","status":"passed","title":"uses the store with no args","duration":29.401374000000033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with selectors","status":"passed","title":"uses the store with selectors","duration":4.173252000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store with a selector and equality checker","status":"passed","title":"uses the store with a selector and equality checker","duration":8.910975999999891,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only re-renders if selected state has changed","status":"passed","title":"only re-renders if selected state has changed","duration":12.54684700000007,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can batch updates","status":"passed","title":"can batch updates","duration":5.709497000000056,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the selector","status":"passed","title":"can update the selector","duration":3.5742599999998674,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can update the equality checker","status":"passed","title":"can update the equality checker","duration":4.813714000000118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can call useBoundStore with progressively more arguments","status":"passed","title":"can call useBoundStore with progressively more arguments","duration":8.513095000000021,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in selector","status":"passed","title":"can throw an error in selector","duration":19.189147000000048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can throw an error in equality checker","status":"passed","title":"can throw an error in equality checker","duration":5.211765000000014,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.3200010000000475,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.49331100000017614,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":0.49284099999999853,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":4.462692000000061,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary with static selector","status":"passed","title":"only calls selectors when necessary with static selector","duration":6.529978999999912,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"only calls selectors when necessary (traditional)","status":"passed","title":"only calls selectors when necessary (traditional)","duration":12.187736000000086,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures parent components subscribe before children","status":"passed","title":"ensures parent components subscribe before children","duration":4.004760999999917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures the correct subscriber is removed on unmount","status":"passed","title":"ensures the correct subscriber is removed on unmount","duration":5.218775999999934,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"ensures a subscriber is not mistakenly overwritten","status":"passed","title":"ensures a subscriber is not mistakenly overwritten","duration":4.898504000000003,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":4.024771000000101,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with \"undefined\" state","status":"passed","title":"works with \"undefined\" state","duration":1.286393999999973,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805185,"endTime":1788143805341.2864,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/basic.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"connects to the extension by passing the options and initializes","status":"passed","title":"connects to the extension by passing the options and initializes","duration":3.929000999999971,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not throw","status":"passed","title":"does not throw","duration":1.2574039999999513,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["If there is no extension installed..."],"fullName":"If there is no extension installed... does not warn","status":"passed","title":"does not warn","duration":0.6192610000000514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes..."],"fullName":"When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":17.187599999999975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... sends { type: setStateName || 'setCount`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'setCount`, ...rest } as the action with current state","duration":4.138842000000068,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'webpack namespace with space'","status":"passed","title":"infers caller name from V8 stack format — 'webpack namespace with space'","duration":1.0192130000000361,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'Windows path with space'","status":"passed","title":"infers caller name from V8 stack format — 'Windows path with space'","duration":2.357197000000042,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'space-free path (regression)'","status":"passed","title":"infers caller name from V8 stack format — 'space-free path (regression)'","duration":0.529301999999916,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'async function — strips async keyword'","status":"passed","title":"infers caller name from V8 stack format — 'async function — strips async keyword'","duration":0.5787510000000111,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from V8 stack format — 'constructor — strips new keyword'","status":"passed","title":"infers caller name from V8 stack format — 'constructor — strips new keyword'","duration":0.42562100000009195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["When state changes with automatic setter inferring..."],"fullName":"When state changes with automatic setter inferring... infers caller name from Firefox/SpiderMonkey stack format","status":"passed","title":"infers caller name from Firefox/SpiderMonkey stack format","duration":0.5819820000001528,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing","status":"passed","title":"does nothing","duration":1.1626830000000155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... unless action type is __setState","status":"passed","title":"unless action type is __setState","duration":0.5873619999999846,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`","status":"passed","title":"does nothing even if there is `api.dispatch`","duration":0.626060999999936,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true","duration":0.4687619999999697,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","ACTION..."],"fullName":"when it receives a message of type... ACTION... does not throw for unsupported payload","status":"passed","title":"does not throw for unsupported payload","duration":2.2459870000000137,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state","status":"passed","title":"RESET, it inits with initial state","duration":1.3622149999998783,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state","status":"passed","title":"COMMIT, it inits with current state","duration":0.7113010000000486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... updates state without recording and inits with `message.state`","status":"passed","title":"updates state without recording and inits with `message.state`","duration":0.6610729999999876,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","ROLLBACK..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... ROLLBACK... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.45660099999986414,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.46103100000004815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_STATE..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_STATE... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.6622320000001309,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... updates state without recording with `message.state`","status":"passed","title":"updates state without recording with `message.state`","duration":0.4185410000000047,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type...","JUMP_TO_ACTION..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`","status":"passed","title":"does not throw for unparsable `message.state`","duration":0.4955609999999524,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... IMPORT_STATE, it updates state without recording and inits the last computedState","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState","duration":0.6035529999999198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when it receives a message of type... DISPATCH and payload of type... PAUSE_RECORDING, it toggles the sending of actions","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions","duration":0.5539320000000316,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.42297399999984,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["with redux middleware"],"fullName":"with redux middleware [DEV-ONLY] warns about misusage","status":"passed","title":"[DEV-ONLY] warns about misusage","duration":0.21523099999990336,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in non-browser env","status":"passed","title":"works in non-browser env","duration":0.5681220000001304,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["different envs"],"fullName":"different envs works in react native env","status":"passed","title":"works in react native env","duration":0.3341009999999187,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"preserves isRecording after setting from devtools","status":"passed","title":"preserves isRecording after setting from devtools","duration":0.3227110000000266,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should create separate connection for each devtools store with .connect call","status":"passed","title":"should create separate connection for each devtools store with .connect call","duration":0.5400210000000243,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options should call .init on each different connection object","status":"passed","title":"should call .init on each different connection object","duration":1.3870229999999992,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should create single connection for all internal calls of .connect and `store` is not passed to .connect","status":"passed","title":"should create single connection for all internal calls of .connect and `store` is not passed to .connect","duration":1.5331240000000435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` undefined in `devtools` options","when `store` property was provided in `devtools` call in options"],"fullName":"when redux connection was called on multiple stores with `name` undefined in `devtools` options when `store` property was provided in `devtools` call in options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.256343999999899,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when same `name` is provided to all stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when same `name` is provided to all stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.4894010000000435,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call .connect of redux extension with `name` that was passed from `devtools` options","status":"passed","title":"should call .connect of redux extension with `name` that was passed from `devtools` options","duration":0.6218610000000808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options should call `.init` on single connection with combined states after each `create(devtools` call","status":"passed","title":"should call `.init` on single connection with combined states after each `create(devtools` call","duration":1.1681840000001102,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options preserves isRecording after setting from devtools on proper connection subscriber","status":"passed","title":"preserves isRecording after setting from devtools on proper connection subscriber","duration":0.7905819999998585,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when redux connection was called on multiple stores with `name` provided in `devtools` options","when different `name` props were provided for different group of stores in devtools options","with redux middleware"],"fullName":"when redux connection was called on multiple stores with `name` provided in `devtools` options when different `name` props were provided for different group of stores in devtools options with redux middleware works as expected","status":"passed","title":"works as expected","duration":1.1165430000000924,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","When state changes..."],"fullName":"when create devtools was called multiple times with `name` option undefined When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state, isolated from other connections","duration":1.4501149999998688,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.6311909999999443,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":0.5269409999998516,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":0.7492119999999431,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.1250639999998384,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ACTION... does not throw for unsupported payload, connections are isolated from each other","status":"passed","title":"does not throw for unsupported payload, connections are isolated from each other","duration":1.997274999999945,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... RESET, it inits with initial state, connections are isolated from each other","status":"passed","title":"RESET, it inits with initial state, connections are isolated from each other","duration":1.6500249999999141,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","DISPATCH and payload of type..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... DISPATCH and payload of type... COMMIT, it inits with current state, connections are isolated from each other","status":"passed","title":"COMMIT, it inits with current state, connections are isolated from each other","duration":0.8909630000000561,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... updates state without recording and inits with `message.state, connections are isolated from each other`","status":"passed","title":"updates state without recording and inits with `message.state, connections are isolated from each other`","duration":0.6956919999997808,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","ROLLBACK..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... ROLLBACK... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.9270030000000133,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.7351220000000467,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_STATE..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_STATE... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":2.143026000000191,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... updates state without recording with `message.state`, connections are isolated from each other","status":"passed","title":"updates state without recording with `message.state`, connections are isolated from each other","duration":0.6895010000000639,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... does not throw for unparsable `message.state`, connections are isolated from each other","status":"passed","title":"does not throw for unparsable `message.state`, connections are isolated from each other","duration":0.7030720000000201,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","status":"passed","title":"IMPORT_STATE, it updates state without recording and inits the last computedState, connections are isolated from each other","duration":0.7315210000001571,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` option undefined","when it receives a message of type...","JUMP_TO_ACTION..."],"fullName":"when create devtools was called multiple times with `name` option undefined when it receives a message of type... JUMP_TO_ACTION... PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","status":"passed","title":"PAUSE_RECORDING, it toggles the sending of actions, connections are isolated from each other","duration":0.6097810000001118,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","When state changes..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option When state changes... sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","status":"passed","title":"sends { type: setStateName || 'anonymous`, ...rest } as the action with current state","duration":0.8043929999998909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing, connections isolated from each other","status":"passed","title":"does nothing, connections isolated from each other","duration":0.5561310000000503,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... unless action type is __setState, connections isolated from each other","status":"passed","title":"unless action type is __setState, connections isolated from each other","duration":2.0561569999999847,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... does nothing even if there is `api.dispatch`, connections isolated from each other","status":"passed","title":"does nothing even if there is `api.dispatch`, connections isolated from each other","duration":2.0102560000000267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["when create devtools was called multiple times with `name` and `store` options defined","when `type` was provided in store state methods as option","when it receives a message of type...","ACTION..."],"fullName":"when create devtools was called multiple times with `name` and `store` options defined when `type` was provided in store state methods as option when it receives a message of type... ACTION... dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","status":"passed","title":"dispatches with `api.dispatch` when `api.dispatchFromDevtools` is set to true, connections are isolated from each other","duration":1.4323340000000826,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should unsubscribe from devtools when cleanup is called","status":"passed","title":"should unsubscribe from devtools when cleanup is called","duration":0.3412319999999909,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["cleanup"],"fullName":"cleanup should remove store from tracked connection after cleanup","status":"passed","title":"should remove store from tracked connection after cleanup","duration":1.5628739999999652,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["actionsDenylist"],"fullName":"actionsDenylist should pass actionsDenylist option to Redux DevTools","status":"passed","title":"should pass actionsDenylist option to Redux DevTools","duration":1.6206650000001446,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805227,"endTime":1788143805312.6206,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/devtools.test.tsx"},{"assertionResults":[{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should mutate state via an immer draft (function updater)","status":"passed","title":"should mutate state via an immer draft (function updater)","duration":3.7502199999998993,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should not apply produce when updater is not a function","status":"passed","title":"should not apply produce when updater is not a function","duration":0.8795829999999114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should replace the entire state when replace flag is true","status":"passed","title":"should replace the entire state when replace flag is true","duration":0.482731000000058,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should produce nested state updates via a draft without mutating the previous state","status":"passed","title":"should produce nested state updates via a draft without mutating the previous state","duration":1.0973129999999855,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["immer middleware"],"fullName":"immer middleware should work with vanilla createStore","status":"passed","title":"should work with vanilla createStore","duration":0.31278100000008635,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143806512,"endTime":1788143806518.3127,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/immer.test.tsx"},{"assertionResults":[{"ancestorTitles":["counter state spec (no middleware)"],"fullName":"counter state spec (no middleware) no middleware","status":"passed","title":"no middleware","duration":1.95274500000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) immer","status":"passed","title":"immer","duration":0.8782420000000002,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) redux","status":"passed","title":"redux","duration":0.4777209999999741,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools","status":"passed","title":"devtools","duration":0.7832029999999577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #2700","status":"passed","title":"devtools #2700","duration":0.447640999999976,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) devtools #3510","status":"passed","title":"devtools #3510","duration":0.23275100000000748,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) subscribeWithSelector","status":"passed","title":"subscribeWithSelector","duration":0.3780020000001514,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) combine","status":"passed","title":"combine","duration":0.6679610000001048,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist","status":"passed","title":"persist","duration":2.1113370000000486,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist with partialize","status":"passed","title":"persist with partialize","duration":0.39649199999985285,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (single middleware)"],"fullName":"counter state spec (single middleware) persist without custom api (#638)","status":"passed","title":"persist without custom api (#638)","duration":0.3765610000000379,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) immer & devtools","status":"passed","title":"immer & devtools","duration":0.4915410000000975,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & redux","status":"passed","title":"devtools & redux","duration":0.4428810000001704,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & combine","status":"passed","title":"devtools & combine","duration":0.5604610000000321,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) subscribeWithSelector & combine","status":"passed","title":"subscribeWithSelector & combine","duration":0.19209999999998217,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & subscribeWithSelector","status":"passed","title":"devtools & subscribeWithSelector","duration":0.2154809999999543,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (double middleware)"],"fullName":"counter state spec (double middleware) devtools & persist","status":"passed","title":"devtools & persist","duration":0.2428709999999228,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & persist & immer","status":"passed","title":"devtools & persist & immer","duration":0.2731099999998605,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & combine","status":"passed","title":"devtools & subscribeWithSelector & combine","duration":0.2277000000001408,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (triple middleware)"],"fullName":"counter state spec (triple middleware) devtools & subscribeWithSelector & persist","status":"passed","title":"devtools & subscribeWithSelector & persist","duration":0.24942000000010012,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["counter state spec (quadruple middleware)"],"fullName":"counter state spec (quadruple middleware) devtools & subscribeWithSelector & persist & immer (#616)","status":"passed","title":"devtools & subscribeWithSelector & persist & immer (#616)","duration":0.4131609999999455,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #619, #632","status":"passed","title":"#619, #632","duration":0.44487200000003213,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #631","status":"passed","title":"#631","duration":0.20402100000001155,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["more complex state spec with subscribeWithSelector"],"fullName":"more complex state spec with subscribeWithSelector #650","status":"passed","title":"#650","duration":0.25749099999984537,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["create with explicitly annotated mutators"],"fullName":"create with explicitly annotated mutators subscribeWithSelector & persist","status":"passed","title":"subscribeWithSelector & persist","duration":0.2543709999999919,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["single middleware with sliced store"],"fullName":"single middleware with sliced store immer with slices where slice type differs from store (#3371)","status":"passed","title":"immer with slices where slice type differs from store (#3371)","duration":0.28728000000000975,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805241,"endTime":1788143805256.2874,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/middlewareTypes.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":41.67451200000005,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":5.793826999999965,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state","status":"passed","title":"can persist state","duration":13.64932900000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can async migrate persisted state","status":"passed","title":"can async migrate persisted state","duration":9.424896999999874,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge partial persisted state","status":"passed","title":"can merge partial persisted state","duration":7.173130999999785,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":3.804350999999997,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":3.394649999999956,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":5.250825999999961,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":3.9585910000000695,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":3.0076590000001033,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":2.917799000000059,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":1.5197540000001482,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":1.1710140000000138,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.9682419999999183,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":2.862278999999944,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration passes latest state to post-rehydration callback after hydration-triggered updates","status":"passed","title":"passes latest state to post-rehydration callback after hydration-triggered updates","duration":4.903664000000163,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":3.6046410000001288,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":6.091236999999865,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should handle multiple concurrent rehydrate calls (only last one wins)","status":"passed","title":"should handle multiple concurrent rehydrate calls (only last one wins)","duration":0.9722040000001471,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should not overwrite user state changes made during async hydration","status":"passed","title":"should not overwrite user state changes made during async hydration","duration":0.6942419999998037,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with async configuration"],"fullName":"persist middleware with async configuration should abort hydration with async migration when newer hydration starts","status":"passed","title":"should abort hydration with async migration when newer hydration starts","duration":1.1984939999999824,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed stored value from hydrating state","status":"passed","title":"keeps a cleared delayed stored value from hydrating state","duration":0.39037099999995917,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation keeps a cleared delayed migration from hydrating state","status":"passed","title":"keeps a cleared delayed migration from hydrating state","duration":0.5883119999998598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation revokes the active hydration even when storage removal throws","status":"passed","title":"revokes the active hydration even when storage removal throws","duration":0.5384609999998702,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation does not reset live state when clearing after hydration","status":"passed","title":"does not reset live state when clearing after hydration","duration":0.24695100000008097,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist clearStorage hydration generation"],"fullName":"persist clearStorage hydration generation suppresses stale completion signals and allows a later hydration","status":"passed","title":"suppresses stale completion signals and allows a later hydration","duration":0.6973209999998744,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805238,"endTime":1788143805364.6973,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/persistAsync.test.tsx"},{"assertionResults":[{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state","status":"passed","title":"can rehydrate state","duration":5.141945000000078,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw rehydrate error","status":"passed","title":"can throw rehydrate error","duration":0.8543529999999464,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state","status":"passed","title":"can persist state","duration":5.144234999999981,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can non-async migrate persisted state","status":"passed","title":"can non-async migrate persisted state","duration":0.9291630000000168,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can correctly handle a missing migrate function","status":"passed","title":"can correctly handle a missing migrate function","duration":2.485208000000057,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can throw migrate error","status":"passed","title":"can throw migrate error","duration":0.4791609999999764,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration passes the latest state to onRehydrateStorage and onHydrate on first hydrate","status":"passed","title":"passes the latest state to onRehydrateStorage and onHydrate on first hydrate","duration":0.7052320000000236,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration gives the merged state to onRehydrateStorage","status":"passed","title":"gives the merged state to onRehydrateStorage","duration":0.9712119999999231,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can custom merge the stored state","status":"passed","title":"can custom merge the stored state","duration":0.49301100000002407,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can merge the state when the storage item doesn't have a version","status":"passed","title":"can merge the state when the storage item doesn't have a version","duration":0.2823609999998098,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can filter the persisted value","status":"passed","title":"can filter the persisted value","duration":0.4598910000001979,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can access the options through the api","status":"passed","title":"can access the options through the api","duration":0.3628920000001017,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can change the options through the api","status":"passed","title":"can change the options through the api","duration":0.3335899999999583,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can clear the storage through the api","status":"passed","title":"can clear the storage through the api","duration":0.22223000000008142,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can manually rehydrate through the api","status":"passed","title":"can manually rehydrate through the api","duration":0.19439099999999598,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can check if the store has been hydrated through the api","status":"passed","title":"can check if the store has been hydrated through the api","duration":0.5894410000000789,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can wait for rehydration through the api","status":"passed","title":"can wait for rehydration through the api","duration":0.7303930000000491,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can skip initial hydration","status":"passed","title":"can skip initial hydration","duration":0.48585099999991144,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration handles state updates during onRehydrateStorage","status":"passed","title":"handles state updates during onRehydrateStorage","duration":0.2240199999998822,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can rehydrate state with custom deserialized Map","status":"passed","title":"can rehydrate state with custom deserialized Map","duration":0.4924509999998463,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration can persist state with custom serialization of Map","status":"passed","title":"can persist state with custom serialization of Map","duration":0.6581719999999223,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["persist middleware with sync configuration"],"fullName":"persist middleware with sync configuration does not call setItem when hydrating from its own storage","status":"passed","title":"does not call setItem when hydrating from its own storage","duration":0.17835999999988417,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805234,"endTime":1788143805257.1785,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/persistSync.test.tsx"},{"assertionResults":[{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and array selector (#1107)","status":"passed","title":"works with useBoundStore and array selector (#1107)","duration":2.620587000000114,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["types"],"fullName":"types works with useBoundStore and string selector (#1107)","status":"passed","title":"works with useBoundStore and string selector (#1107)","duration":0.5458009999999831,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow input and output selectors always return shallow equal values","status":"passed","title":"input and output selectors always return shallow equal values","duration":44.69279000000006,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow returns the previously computed instance when possible","status":"passed","title":"returns the previously computed instance when possible","duration":4.661313000000064,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow only re-renders if selector output has changed according to shallow","status":"passed","title":"only re-renders if selector output has changed according to shallow","duration":6.164726999999857,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["useShallow"],"fullName":"useShallow does not cause stale closure issues","status":"passed","title":"does not cause stale closure issues","duration":4.574662999999873,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143806483,"endTime":1788143806546.5747,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should handle different states between server and client correctly","status":"passed","title":"should handle different states between server and client correctly","duration":38.72286200000008,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["ssr behavior with react 18+"],"fullName":"ssr behavior with react 18+ should not have hydration errors","status":"passed","title":"should not have hydration errors","duration":6.180006999999932,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143806563,"endTime":1788143806608.18,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/ssr.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should correctly have access to subscribe","status":"passed","title":"should correctly have access to subscribe","duration":1.830265000000054,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":0.8572010000000319,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":4.7507640000001174,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.3623210000000654,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.3134509999999864,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":4.4505320000000665,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.3571110000000317,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.29108099999984915,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.28658000000018546,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should pass previous and current state to listener","status":"passed","title":"should pass previous and current state to listener","duration":0.33797099999992497,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should handle multiple subscribers","status":"passed","title":"should handle multiple subscribers","duration":0.22161099999993894,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not notify unsubscribed listener while other listeners remain","status":"passed","title":"should not notify unsubscribed listener while other listeners remain","duration":1.1005130000000918,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143806502,"endTime":1788143806517.1006,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/subscribe.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"can use exposed types","status":"passed","title":"can use exposed types","duration":1.9336660000001302,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should have correct (partial) types for setState","status":"passed","title":"should have correct (partial) types for setState","duration":0.646302999999989,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"should allow for different partial keys to be returnable from setState","status":"passed","title":"should allow for different partial keys to be returnable from setState","duration":0.2840110000001914,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"state is covariant","status":"passed","title":"state is covariant","duration":0.23415099999988342,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator is StateCreator","status":"passed","title":"StateCreator is StateCreator","duration":1.813485000000128,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"StateCreator subtyping","status":"passed","title":"StateCreator subtyping","duration":0.33058100000016566,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"set state exists on store with readonly store","status":"passed","title":"set state exists on store with readonly store","duration":0.24269200000003366,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805210,"endTime":1788143805216.3306,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/types.test.tsx"},{"assertionResults":[{"ancestorTitles":[],"fullName":"create a store","status":"passed","title":"create a store","duration":12.98529799999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"uses the store","status":"passed","title":"uses the store","duration":4.341893000000027,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the store","status":"passed","title":"can get the store","duration":0.36365200000000186,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can get the initial state","status":"passed","title":"can get the initial state","duration":0.2801999999999225,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store","status":"passed","title":"can set the store","duration":0.32330099999990125,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"both NaN should not update","status":"passed","title":"both NaN should not update","duration":1.3847840000000815,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the store without merging","status":"passed","title":"can set the store without merging","duration":0.7334529999998267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the object store to null","status":"passed","title":"can set the object store to null","duration":0.27232200000003104,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"can set the non-object store to null","status":"passed","title":"can set the non-object store to null","duration":4.0605809999999565,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":[],"fullName":"works with non-object state","status":"passed","title":"works with non-object state","duration":0.2957220000000689,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143806487,"endTime":1788143806512.2957,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/vanilla/basic.test.ts"},{"assertionResults":[{"ancestorTitles":["shallow"],"fullName":"shallow compares primitive values","status":"passed","title":"compares primitive values","duration":2.0356850000000577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares objects","status":"passed","title":"compares objects","duration":0.4946229999998195,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares arrays","status":"passed","title":"compares arrays","duration":0.36918999999988955,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Maps","status":"passed","title":"compares Maps","duration":0.29510000000004766,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares Sets","status":"passed","title":"compares Sets","duration":0.4520820000000185,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares functions","status":"passed","title":"compares functions","duration":0.2902910000000247,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow compares URLSearchParams","status":"passed","title":"compares URLSearchParams","duration":0.530130999999983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with nested arrays (#2794)","status":"passed","title":"should work with nested arrays (#2794)","duration":0.16174099999989267,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["shallow"],"fullName":"shallow should work with undefined (#3204)","status":"passed","title":"should work with undefined (#3204)","duration":0.2522710000000643,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["mixed cases"],"fullName":"mixed cases compares different data structures","status":"passed","title":"compares different data structures","duration":0.7551920000000791,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable","status":"passed","title":"pure iterable","duration":0.2734700000000885,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["generators"],"fullName":"generators pure iterable with different values returns false","status":"passed","title":"pure iterable with different values returns false","duration":0.19644100000004983,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["unsupported cases"],"fullName":"unsupported cases date","status":"passed","title":"date","duration":0.6910620000001018,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143805155,"endTime":1788143805162.6912,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/vanilla/shallow.test.tsx"},{"assertionResults":[{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called if new state identity is the same","status":"passed","title":"should not be called if new state identity is the same","duration":2.781757000000198,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called if new state identity is different","status":"passed","title":"should be called if new state identity is different","duration":1.9938260000001264,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when state slice is the same","status":"passed","title":"should not be called when state slice is the same","duration":0.44712200000003577,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when state slice changes","status":"passed","title":"should be called when state slice changes","duration":0.5849819999998545,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should not be called when equality checker returns true","status":"passed","title":"should not be called when equality checker returns true","duration":0.28283200000009856,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should be called when equality checker returns false","status":"passed","title":"should be called when equality checker returns false","duration":0.346121999999923,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should unsubscribe correctly","status":"passed","title":"should unsubscribe correctly","duration":0.5488009999999122,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should keep consistent behavior with equality check","status":"passed","title":"should keep consistent behavior with equality check","duration":1.6735649999998259,"failureMessages":[],"meta":{},"tags":[]},{"ancestorTitles":["subscribe()"],"fullName":"subscribe() should call listener immediately when fireImmediately is true","status":"passed","title":"should call listener immediately when fireImmediately is true","duration":0.4302909999998974,"failureMessages":[],"meta":{},"tags":[]}],"startTime":1788143806485,"endTime":1788143806494.4302,"status":"passed","message":"","name":"/tmp/av-exp-001-results-v2-scratch/baseline-3/tests/vanilla/subscribe.test.tsx"}]} \ No newline at end of file diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.execution.json b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.execution.json new file mode 100644 index 0000000..63d4e32 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.execution.json @@ -0,0 +1,15 @@ +{ + "command": [ + "corepack", + "pnpm", + "run", + "test:types" + ], + "exit_code": 0, + "signal": null, + "timed_out": false, + "duration_ms_observed": 3759.297, + "spawn_error": null, + "stdout_sha256": "sha256:ca534e3f13cddca570130fe3ea8abe812399293f998e21b3b79ab618e5955010", + "stderr_sha256": "sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92" +} diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stderr.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stderr.log new file mode 100644 index 0000000..f5b99e8 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stderr.log @@ -0,0 +1 @@ +$ tsc --noEmit diff --git a/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stdout.log b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stdout.log new file mode 100644 index 0000000..aa4dab9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/raw/baseline-3/baseline-3-typecheck.stdout.log @@ -0,0 +1,2 @@ +Already up to date +Done in 441ms using pnpm v11.3.0 diff --git a/benchmark/av-exp-001/results-v2/reproduction.json b/benchmark/av-exp-001/results-v2/reproduction.json new file mode 100644 index 0000000..353fce0 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/reproduction.json @@ -0,0 +1,27 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-reproduction.v1", + "experiment_id": "AV-EXP-001", + "published_results": "benchmark/av-exp-001/results-v2", + "reproduction_results": "/tmp/av-exp-001-results-v2-repro", + "published": { + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "summary_identity": "sha256:68b8582a9ce7b86bfa5431d89d2dea07f8c34b88d1d0350bab25c99fa5b236df", + "analysis_identity": "sha256:c431d8849edce79d6121a290f49288ed2710e406600d8b66d3588e6b82c73a1d" + }, + "reproduced": { + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "summary_identity": "sha256:68b8582a9ce7b86bfa5431d89d2dea07f8c34b88d1d0350bab25c99fa5b236df", + "analysis_identity": "sha256:c431d8849edce79d6121a290f49288ed2710e406600d8b66d3588e6b82c73a1d" + }, + "checks": { + "baseline_identity_equal": true, + "all_ten_scenario_result_identities_equal": true, + "summary_identity_equal": true, + "analysis_identity_equal": true + }, + "result": "PASS", + "limitations": [ + "The reproduction used the same host, target clone cache, implementation, and operator session; it verifies deterministic replay, not an independent qualifying replication of general safety or benefit.", + "Raw evidence bundle identities differ because raw reports contain OBSERVED timing and output-location telemetry." + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-001.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-001.json new file mode 100644 index 0000000..01beaa5 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-001.json @@ -0,0 +1,501 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:3e6ebed6ae6e53abf9ef0b6548890ea142a91aece05590dbf9c38177ae099dc6", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-001", + "identity": "sha256:2bf27420ee4f1aad3159696d1cf5f43601f62f1d20ea0ff3ff42af3fe90a0406", + "patch_sha256": "sha256:8abdffcc1f1248e99db416778bf173edb49937314c36c187ecf766e0e8293628", + "changed_paths": [ + "src/middleware/ssrSafe.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:ae94be762366dc9b66f937b737ab9247720e26c314962c91808239bfacaf5819", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:f4114feb4fae190f0d63c32c8b95cf5efca8ae10658be6d3e175054c355fa896", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:acdca341676531844ba188e0526a99a928a6bb2b81790aff0499e5112b19563b", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:00abb5ebc497826b40d48eac06aa6e9f3bd0e8944ac6749c5493ebe5845f1c1a", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-build.stdout.log=sha256:6c54a31158edf228b7bf3b925df87a264d73bd9493103a56903a9398ad8809bf", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-format.stdout.log=sha256:4f63fd1da0ca68bc946ef26cb79f61f0ef42c30bf2dd190973b334c5427ed2f5", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-lint.stdout.log=sha256:58ef5a2a260cafd97cb6361e4e77d25bb33b7709e25f21c442fd3f13fb224c85", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.stdout.log=sha256:f85b2371e413f9a4fdc25219cbd6f2bb5fa5110ddbe52a04d6eaf4449b5200bc", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-native.vitest.json=sha256:078a86b4b552baa2b3741278100c5fc4e8a851a3ead5944fcf4a2eefd55a04cd", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-tests.stdout.log=sha256:75e2c58e85848de2c701315547d4a87433799dc40e34ea2794c2cb0e34872786", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-001/AVS-001-typecheck.stdout.log=sha256:2369b65deb9f22fe17ce278db91e9da845c43ee603f567f2b722650fc0fbf408" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-002.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-002.json new file mode 100644 index 0000000..e04a38e --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-002.json @@ -0,0 +1,620 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:9983b2c3e339832345833973047d2b82cd64a6ac73cccc20c8b6296591206aea", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-002", + "identity": "sha256:f3468b0cc49c51f6bc38799c66afec4b1145a3667820839d77ca3baab18b8ee1", + "patch_sha256": "sha256:9c396e49500eef387292d080284b0f90ddee40ef3fa1e2384ce60008283e2101", + "changed_paths": [ + "src/vanilla/shallow.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:4c72b9ac11c1e9c7bcce4e9103786602bfb119c54ddc49561aab82f98a0ed351", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:0bf5d3a63a8d432da61b20f3639a25f756b231bb019d6e74179a593ed6a1a08c", + "relevant_check_ids": [ + "test:tests/vanilla/shallow.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/shallow.test.tsx", + "test:tests/vanilla/shallow.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:8e66d55ccd3383b30db53080c8805dfba7626022f81ae4b9d932b9944489df84", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/shallow.test.tsx", + "test:tests/vanilla/shallow.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:f9e612eac01044d4b4fdc132f7c1a6dc3a9ce43e1d71a4ed5cfb3d453df3b7e2", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/shallow.test.tsx", + "test:tests/vanilla/shallow.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 2, + "skipped": 11 + }, + "test_executions": { + "available": 224, + "selected": 19, + "skipped": 205 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 2, + "skipped": 11 + }, + "test_executions": { + "available": 224, + "selected": 19, + "skipped": 205 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 2, + "skipped": 11 + }, + "test_executions": { + "available": 224, + "selected": 19, + "skipped": 205 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-build.stdout.log=sha256:31026927af4b413517d9e64bea2863defbf02d3d523b54fe559ba86721f3fd96", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-format.stdout.log=sha256:4c290f875d898599dc61c394d30a8bfb4b2078c3d85370c732c1217662d07b92", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-lint.stdout.log=sha256:37961f3cd29361c3d36b03fcfc9ed1e0067954e81bdf6aaaaa3e6fabe182d602", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.stdout.log=sha256:e1ca38ab96e306f3219acd3025f27ff48afba89554bf145ca7a670e97597767b", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-native.vitest.json=sha256:1d2b0f34f0947576348ab9f00a32be062f9363312c99e5928fc914e431fc9bca", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-tests.stdout.log=sha256:e4cdd2cb48aa5f5247d890c242aa4f0a0e9c33a2f151542d735884c93985b734", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-002/AVS-002-typecheck.stdout.log=sha256:f602880758d5ae1ebc5f8c4a7b1ecab84cbc408a43caf25af84896d9df35ec98" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-003.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-003.json new file mode 100644 index 0000000..f8fa231 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-003.json @@ -0,0 +1,404 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:53a2aea03ffdef08ca6dd1b23cff3d0ed4aedd6852391f10b2e58e2402bcfd21", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-003", + "identity": "sha256:d0cffe955ccae6fe45c347853853de3081dbc07f37b509c42f76c9232f7a8f7b", + "patch_sha256": "sha256:4d84a752d7e9f3db0500ece7e40d048d263f6fa0b12a8da67f8d87a0f1d24d4c", + "changed_paths": [ + "src/vanilla.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:9cdda52c781152c736b99c181c8b047be69b794c12be65465a0ba16fa762196a", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:2567f00eb3446ec4ad3e5c1dc03a4b02a3507842776f84e1bc3de5c6d9de55e7", + "relevant_check_ids": [ + "check:lint", + "test:tests/subscribe.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [ + "check:lint" + ] + }, + "AV_CORE": { + "plan_identity": "sha256:dc09b796895ab51e79274720afbf1083ec6eb5b93385a6dcb0af7c6283ca1a53", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:2fb4ea8d5bb074780a7780c779e32d2ec407cb2ccd13ff7972d46af04e31aabf", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-build.stdout.log=sha256:ad74181fea44559752bd7bc369edd9155150c814e1b56f2bc785750bc620a7e2", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-format.stdout.log=sha256:f5cd1ac79cfbf0b733632b439e8b3b3d163c74f5fea752de1547466c5f7802fe", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-lint.stdout.log=sha256:5368fd19f9c904f97094389b4884b78fd1aef0376855831bb4fbbff60a000a67", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.stdout.log=sha256:63679b418f801e4603aa7577b5f4281e318ec0fa67967461a86dac2f9ebd8345", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-native.vitest.json=sha256:c65d097d849e271c2f35cdde2109702d63948afe6ce129f6dfc7c59f6d5665e6", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-tests.stdout.log=sha256:5957efea0df5e1eef345f5f429aae94d7cc3116e9cf2fa0b00b53ac9f7a29d0a", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-003/AVS-003-typecheck.stdout.log=sha256:df5011c506ba57b945d9215149b85fd7aa8e595859cb3bc5986cb05aaad79367" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-004.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-004.json new file mode 100644 index 0000000..4cd3dc7 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-004.json @@ -0,0 +1,505 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:c3d0467e7a6b9fa28b7e9b4962852bede567df11afe98803fea2a3f5278244b5", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-004", + "identity": "sha256:805855c0a5e5b972b5d77f637e3dd88b2d5db0fadd3c22488002a6e12108f625", + "patch_sha256": "sha256:7bdd67aab346fcf84697539d542bc7986e62b92abbe611f450ea05e438ef891d", + "changed_paths": [ + "src/middleware/persist.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:b59dbd68b44bbd1aa8c3a63bcb637857bc6f780419be56ff156747cc0c1b3371", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:2fd94c49dc481c86ac40a25b98f05bb8b93636a362adf72bafc8adb8d5a3d58b", + "relevant_check_ids": [ + "test:tests/persistSync.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:cc776d101a9ab992b203cd79891f7afb7b9e8edae856a123bc7510a128e13e63", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:e791a95de28c0849d576e4bc5295592e03dc771c4281bd0a400813de81fe5ba6", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-build.stdout.log=sha256:966249e09b0056be439bb97d89855d2cdc813d92ede12b6c44207488f43a3b3c", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-format.stdout.log=sha256:b70c49c9e025618c9b29f76196b6c03456caf1e1e3e501f8dd3557c7fa27994d", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-lint.stdout.log=sha256:ca534e3f13cddca570130fe3ea8abe812399293f998e21b3b79ab618e5955010", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.stdout.log=sha256:50d9bb78ad86ece6f4ff9f200467e332b293e77a5080f104fd9c23f4aeec0608", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-native.vitest.json=sha256:444bff849beddbf48efb7b863dc25c77679944ba9014d31ff11316c2a8e06433", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-tests.stdout.log=sha256:a5f40c753ed4f9c93830a3785f9d05b7799e181b210e66d9cfdfb5c3b95b3bf2", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-004/AVS-004-typecheck.stdout.log=sha256:b5ad0e57d4eaa1ae659d2c34b9493787d1e8662400ec97c7c4915b3fb0345310" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-005.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-005.json new file mode 100644 index 0000000..570866e --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-005.json @@ -0,0 +1,643 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:e444ee43832766ed3f0ddbe31abeb482db406470c8383b8a62c43990c6e5bc54", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-005", + "identity": "sha256:86dc654c0941a62a3d002bfa8dbf49e3c066cb2782b8ca847f899bbdd09b7ec2", + "patch_sha256": "sha256:06f678c60583d04137fcd8a205e637832cb4f4fa25d250ae7aa146a21aedb382", + "changed_paths": [ + "tests/vanilla/basic.test.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:479aeda9f80cc74dcb3ad2ae60c04c2ab50ba324f89fdce336d1565b9d04f968", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:2d2d927a3c64be82e374f9818f25eccfc0782f3383ecfbd823762b585d5f116c", + "relevant_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/vanilla/basic.test.ts" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:759dac2e4a1fd367bdce5c1fb4d883b73298597473cf7aacd19f7c3f143babc3", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/vanilla/basic.test.ts" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:330d57ee84755473dd487ccc94941a51a2a4146d5c7f4905b6ed873cb951b638", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/vanilla/basic.test.ts" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 1, + "skipped": 12 + }, + "test_executions": { + "available": 224, + "selected": 10, + "skipped": 214 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 1, + "skipped": 12 + }, + "test_executions": { + "available": 224, + "selected": 10, + "skipped": 214 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 1, + "skipped": 12 + }, + "test_executions": { + "available": 224, + "selected": 10, + "skipped": 214 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-build.stdout.log=sha256:45112e5eb97a17b8dba1c9046e443b4cba6db54da7ba9fc50d6ac0f3cdc8b677", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-format.stdout.log=sha256:1ecb535caea29a9528aa427a98062497e820ce9c02db65529824912f8335d8b6", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-lint.stdout.log=sha256:5d06aa3e9f4e6ed3469c495de18223e060758606fa75fee1be4557a8e347b9b6", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.stdout.log=sha256:42be094b43203558ac9c0ae0f3fc9f22ac1027c70fdb1885c85e6eb1b3799e7d", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-native.vitest.json=sha256:986fa0d3f4fde9759cfe1f77049d3bb0d699d13a7604f0edaa6f27373818aea5", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-tests.stdout.log=sha256:9d4bce222edfe3568745fd917312f8178bf363b35277da29ab2d61129bf6d9eb", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-005/AVS-005-typecheck.stdout.log=sha256:52d1f210026dcf43cf08892e666134a70f74ee5f1424b6a931d2eec01c94234a" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-006.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-006.json new file mode 100644 index 0000000..ddaee82 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-006.json @@ -0,0 +1,461 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:46b992361c52479864d4e4c4717c60b796cfe43e30e1d410a30eeb85bdfe4f76", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-006", + "identity": "sha256:bad8eba32abf125b56617283669b329f1192a8e9be08fe9439019200b3a38c45", + "patch_sha256": "sha256:5749030cf1e3ed2d329897a30eab6d50ca9ef260d973b1458f01041cdbf8aa45", + "changed_paths": [ + "vitest.config.mts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:686475c04c31430d022cdac32e16b243e7f670abc5e8f7053f0bf16c23a6ba01", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:179373f59296b96b85f7e66cb22ee43d3bad1461a332eeb908d49224c30f03eb", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/devtools.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/middlewareTypes.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistAsync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/persistSync.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/types.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/subscribe.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:52c9600b87a2330ff4ebc92c15e8ecde44a9f566b7571e0f9b73d292709d6e7d", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:87e7641cde3e70cae42634fbda05b5c599d82911a2f629d07e0e814f0cf3b9d8", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 0, + "skipped": 13 + }, + "test_executions": { + "available": 224, + "selected": 0, + "skipped": 224 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-build.stdout.log=sha256:925ce7c191721bc5d2683530592a57503aa3560e24b51e7e111fac72934bd4f4", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-format.stdout.log=sha256:57b67a51c768673de0877c668f0022242d08846044a971db7bab9c65720c68c7", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-lint.stdout.log=sha256:605135cf2e73bd0b53a814e0af3e2e2806f13a860deb350332ea07dcbe1142e6", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.stdout.log=sha256:038fbaa78a79b4c282f9552edfbf20a11e282a94e6c87d9e7773c4ffd74c9f38", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-native.vitest.json=sha256:1494786096e79588bb028c1d7ff34445e270157f42a61da76d7e1a5b1a3dba91", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-tests.stdout.log=sha256:daf6f1dcb52c1cccfc8892a5e121b919bf40f75af7e77e5cfa892e469ed5395f", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-006/AVS-006-typecheck.stdout.log=sha256:e8ec162602400fe85a4b2e514c1a2ee8707517a40552789e737a01af3b33de59" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-007.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-007.json new file mode 100644 index 0000000..d197d5e --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-007.json @@ -0,0 +1,371 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:9c37dc3a4327be5e8dbc6ad3bad481d9da3f02ff36f125a56113b7b0d34316f2", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-007", + "identity": "sha256:fde4ddc1529178c432ab1487ec5f5545732e8955b70af8927747b2d80e38d6b0", + "patch_sha256": "sha256:93c1e2d1517eb1e220a1feddca02b5343a4e0a036612cc16ce834f8d5f1e856e", + "changed_paths": [ + "package.json" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:2046a128ded511d068527e0df96c2ec4dd7f48bdba781dcd98ef1233713a9280", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:08c2cca5c0834afb6b84595e357c1bf32bcf345dbafd1caadca4197e002b9e91", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:2d87f2a2c341e57a1ff54d6dc7c7b4742a18227aa8053512b3e5442912a21a46", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:ac1a3825e96668e824e17a3b3f91ee0cd5c62a25d2275e7bb0352412d4414ee5", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "FULL", + "reasons": [ + { + "rule_id": "verification-metadata-full", + "escalation": "FULL" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-build.stdout.log=sha256:58b4acc20fcce8a626de4f40e07d55be68678378dd741ccfc9c34fa5902ef624", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-format.stdout.log=sha256:f5cd1ac79cfbf0b733632b439e8b3b3d163c74f5fea752de1547466c5f7802fe", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-lint.stdout.log=sha256:82dd6e40ed3388999ef420f47c3801092a5cfaea1012ef2a7d90051a1c33db68", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.stdout.log=sha256:57957095675d5c0099bda36233b35273a72c3519426b6f808cd21ee156a17543", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-native.vitest.json=sha256:0f234e44dbd32d1b991719556a96a1b076a62c48327b76d27083b7bca7c8c1ae", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-tests.stdout.log=sha256:27071cbadf8f63946adb395262d46bcc6469b780ec3fc89af5343e5e3f4f09a9", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-007/AVS-007-typecheck.stdout.log=sha256:ff2d4b95872ba5edead046de1efd9d7222769821df4f127623d5169079f907d0" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-008.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-008.json new file mode 100644 index 0000000..9c05cb9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-008.json @@ -0,0 +1,402 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:0ddb7ee3383c06f31bb30b81052b6ab2baae1c1c5630423ebc38cd2fd616e7cc", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-008", + "identity": "sha256:250cbffd63f84c86416f4049ce6a2dd67d28cdb10bf1b4b011f4aa8ff488535d", + "patch_sha256": "sha256:86b67e0e8b7cb0815cbbf4419a028ba4d5c30b92176ac46ac23d6c62d6e4fb66", + "changed_paths": [ + "src/vanilla.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:fb88050c84886191cd1ba99f8af5071cfb3071ae90750bb97a882d53f511d9a4", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "check:typecheck" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:07977c1950a17e877d77b4caba6226bce7d53bbc48b888d5b95ad48386d88134", + "relevant_check_ids": [ + "check:typecheck" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [ + "check:typecheck" + ] + }, + "AV_CORE": { + "plan_identity": "sha256:8b165bb6856c43c37263c5c560ad5ea28e0e2023c1a919dc1270f0299c662ed9", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:38264420e638b2842e987a2dc0f8187f73ad78f6ceae7e57296b93c175306e31", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_BROADENED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "BROADENED", + "reasons": [ + { + "rule_id": "public-contract-broaden", + "escalation": "BROADEN" + } + ] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 12, + "skipped": 1 + }, + "test_executions": { + "available": 224, + "selected": 211, + "skipped": 13 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-build.stdout.log=sha256:ad8282824475997b6eda9d637cd206e2ffd29561f2b7eafa3e163a41ad4f3bcf", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-format.stdout.log=sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-lint.stdout.log=sha256:4080b4a779c77db79159fc87a97503ef6d0fcbb21191e3fa695c6996e03e2a45", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.stdout.log=sha256:07b655b5dab77722bb7b9bc58f085a4c2566b087c7f061e5395b4f5976e41f83", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-native.vitest.json=sha256:2c9f0beffec973a39f3f46c42f9153f4596ff1798a90afbd884a8d6a5d64578a", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-tests.stdout.log=sha256:9841c06f5819ac68df769d812ddfbb9873962abee37c3fc5df7065607638ca06", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-008/AVS-008-typecheck.stdout.log=sha256:392d397999a21e7bfe75f59e0d72a682b02c93308b399f26423a8b8efc772147" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-009.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-009.json new file mode 100644 index 0000000..4c98d54 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-009.json @@ -0,0 +1,462 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:214cbe9d27e743feca1dfcb0a89b821d2589096a527c8f0e858a14b7b89673c5", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-009", + "identity": "sha256:9ffabe30ba7a7e45f4079abba0e89480dfca68d0cbc1fac185fe2c0d16be88a1", + "patch_sha256": "sha256:063e1a57a509c40d1aebf35b1e054b48b9505257045f898c02018dd1b6df3662", + "changed_paths": [ + "src/middleware/subscribeWithSelector.ts", + "src/vanilla/shallow.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:983f1f79d330f8932633ea9b777aebadd706a62ec21d67576ffd1d40e9f6d237", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "complete": true + }, + "oracle": { + "identity": "sha256:5e42e3816975fcdba2b06e86a95bb4d88ca10261ebe920c1ca14254f36ed333a", + "relevant_check_ids": [ + "test:tests/subscribe.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:98f67da59c2bd7b5f3c5cca95bbe91da7bdfd92fd2b8f5874752910d94558ec1", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:7333d19253e50b408a0a0d3f28f72c2c646edbf9ba1277083e852c0c1d316239", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "test:tests/basic.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "OUTSIDE_TRANSITIVE_IMPACT_SET: Check scope does not intersect the direct or reverse-dependent impact set and no matched policy requires it", + "evidence_refs": [ + "impact-evidence", + "verification-catalog", + "verification-policy" + ] + } + ], + "sufficiency": "SUFFICIENT_TARGETED", + "uncertainty": { + "state": "NONE", + "reasons": [] + }, + "escalation": { + "state": "NONE", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 9, + "skipped": 4 + }, + "test_executions": { + "available": 224, + "selected": 185, + "skipped": 39 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 9, + "skipped": 4 + }, + "test_executions": { + "available": 224, + "selected": 185, + "skipped": 39 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 9, + "skipped": 4 + }, + "test_executions": { + "available": 224, + "selected": 185, + "skipped": 39 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-build.stdout.log=sha256:7f3410cb562117ef031706349ae30010df2e1e1227951f8b89dd307c4ce24a4c", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-format.stdout.log=sha256:bb719fbbd76e64db23209c99141bfa7c4addeb9840a1ef3958441084074dd0ad", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-lint.stdout.log=sha256:ee9ee8c5d7c1ac20e0835324f6e45159be8e6f3ba6a0c312f3a30b6e32a48eb8", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.stdout.log=sha256:b8f37e3e9756372a983b8ae6d7c20ba71c6d9eeda33bd914200b76f8f8e5b088", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-native.vitest.json=sha256:fcffcf983b878bed90b4f0458a2e1c06d2e23d2298a480efe09a3e4ff2a059dc", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-tests.stdout.log=sha256:7afdaa66e9392dfa07e0864d23705d43eab6b657fa2da5f633867d0e1ca03c20", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-009/AVS-009-typecheck.stdout.log=sha256:fa1f638b309a84c43704046e1bd0e92d74cf8dd7bc8b8d066acb356f003aebde" + ] +} diff --git a/benchmark/av-exp-001/results-v2/scenarios/AVS-010.json b/benchmark/av-exp-001/results-v2/scenarios/AVS-010.json new file mode 100644 index 0000000..1629870 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/scenarios/AVS-010.json @@ -0,0 +1,407 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-result.v1", + "result_identity": "sha256:ce2de6cf4415d4636cf9db1a9ea62a9ab03502e4cc3e462cd2e32beca222c07a", + "experiment_id": "AV-EXP-001", + "benchmark_revision": "0544362d7659093b7f0b4f89ee8f68023fd269c3+sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357+sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e+sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde", + "trust_stage": "SHADOW", + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "scenario": { + "id": "AVS-010", + "identity": "sha256:b236c9e5366fdc7eeb6a3a1fd000442c3178ef2eae1bfb1cdc469ffe6536de84", + "patch_sha256": "sha256:8dee6a157976f26f8a572bfa848b43ea22c7fb3b22cd8c941ea75f1bcdcbe669", + "changed_paths": [ + "src/middleware/ssrSafe.ts" + ] + }, + "verification_catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "planner": { + "version": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950", + "policy_identity": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "native_selector": { + "identity": "sha256:f9f8f41244923a6daa6f86b0818889c955b6b26362432b76ae4ee361f10171d6", + "version": "4.1.10" + }, + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "full_run": { + "identity": "sha256:2c5fd02d8fe17245d56e04cd2b9bae2bdcbb79a22748659c9bdf1d512c9b703a", + "executed_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "failed_check_ids": [], + "complete": true + }, + "oracle": { + "identity": "sha256:def51ba8fc3b732c8ae8af880387750ad32934028ad5bf20a01e46b5f7b406cf", + "relevant_check_ids": [], + "claim": "Relevant within this frozen verification catalog." + }, + "arms": { + "FULL": { + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "selection_misses": [] + }, + "NATIVE": { + "plan_identity": null, + "selected_check_ids": [ + "test:tests/devtools.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [ + { + "check_id": "check:build", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:format", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:lint", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "check:typecheck", + "reason": "The native Vitest related arm does not select non-test catalog checks.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/basic.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/immer.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/ssr.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/basic.test.ts", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + }, + { + "check_id": "test:tests/vanilla/shallow.test.tsx", + "reason": "Not selected by the frozen Vitest related output.", + "evidence_refs": [ + "native-selector-output", + "native-selector:zustand-vitest-related-v1" + ] + } + ], + "sufficiency": null, + "uncertainty": null, + "escalation": null, + "selection_misses": [] + }, + "AV_CORE": { + "plan_identity": "sha256:53c733b92e6152b802a364b892e001b81dfaa67bc6dbe14dbe3faa2775207de1", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "PRESENT", + "reasons": [ + "DEPENDENCY_EVIDENCE_INCOMPLETE" + ] + }, + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "plan_identity": "sha256:6af0dd8e86733c3cde19cdea108c50f0a7460f948f1ec7786039c47809b1b131", + "selected_check_ids": [ + "check:build", + "check:format", + "check:lint", + "check:typecheck", + "test:tests/basic.test.tsx", + "test:tests/devtools.test.tsx", + "test:tests/immer.test.tsx", + "test:tests/middlewareTypes.test.tsx", + "test:tests/persistAsync.test.tsx", + "test:tests/persistSync.test.tsx", + "test:tests/shallow.test.tsx", + "test:tests/ssr.test.tsx", + "test:tests/subscribe.test.tsx", + "test:tests/types.test.tsx", + "test:tests/vanilla/basic.test.ts", + "test:tests/vanilla/shallow.test.tsx", + "test:tests/vanilla/subscribe.test.tsx" + ], + "skipped_checks": [], + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "uncertainty": { + "state": "PRESENT", + "reasons": [ + "DEPENDENCY_EVIDENCE_INCOMPLETE" + ] + }, + "escalation": { + "state": "FULL", + "reasons": [] + }, + "selection_misses": [] + } + }, + "workload": { + "units_not_combined": true, + "arms": { + "FULL": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "NATIVE": { + "test_files": { + "available": 13, + "selected": 7, + "skipped": 6 + }, + "test_executions": { + "available": 224, + "selected": 166, + "skipped": 58 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "lint": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "other": { + "available": 1, + "selected": 0, + "skipped": 1 + }, + "typecheck": { + "available": 1, + "selected": 0, + "skipped": 1 + } + } + }, + "AV_CORE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + }, + "AV_WITH_NATIVE_EVIDENCE": { + "test_files": { + "available": 13, + "selected": 13, + "skipped": 0 + }, + "test_executions": { + "available": 224, + "selected": 224, + "skipped": 0 + }, + "non_test_checks": { + "build": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "lint": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "other": { + "available": 1, + "selected": 1, + "skipped": 0 + }, + "typecheck": { + "available": 1, + "selected": 1, + "skipped": 0 + } + } + } + } + }, + "evidence_hashes": [ + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stderr.log=sha256:1407c9871d446f122a2df8ed5b9a49679b59f8460a43abcf1d60775c8bfc47e5", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-build.stdout.log=sha256:f949b116d55ab74cd221e8eead9ce196550d68ff8e15cac82b3d5d6f23d3e2f3", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stderr.log=sha256:18a39320051637915e489a32b00ab2f976d0c1a2a414a01b30e9a99a6b0bb544", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-format.stdout.log=sha256:5c7df4bbb55bc1e34e6f57e21f3ba7f24704c48da4d0443b46bbb6e92fa79f2f", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stderr.log=sha256:050c69da23536758722729aeda55a8d0fb9d557495ef6d33d70873a3b64a71c1", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-lint.stdout.log=sha256:8a04c205036f23827d2beed399affb8ca0ae3506f3a02dbff8046ce8f1e56799", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.stdout.log=sha256:e35b078e540e91b72637977791d28bf83c0603fc1c7b35228b4c5d4cb45e58be", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-native.vitest.json=sha256:01776d002360df3e3c7702c2300dd7610a485d220252116a6ae82798961a7006", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stderr.log=sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-tests.stdout.log=sha256:244fd2735d6e412e53ec56256bdd7752e719b2984f5cf7b4b2aa022c36685889", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stderr.log=sha256:8366207267355d3e3d5bf3bf6e8c94c5f93f6078c34f08973fa2b38cdda6cc92", + "benchmark/av-exp-001/results-v2/raw/AVS-010/AVS-010-typecheck.stdout.log=sha256:2fb4b0fc9ac1841c8278c50c25affb0f1c45340cd314668572c70128dfb38ccc" + ] +} diff --git a/benchmark/av-exp-001/results-v2/summary.json b/benchmark/av-exp-001/results-v2/summary.json new file mode 100644 index 0000000..a54a167 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/summary.json @@ -0,0 +1,72 @@ +{ + "schema": "opsle.affected-verification.shadow-benchmark-summary.v1", + "experiment_id": "AV-EXP-001", + "preregistration_sha": "0544362d7659093b7f0b4f89ee8f68023fd269c3", + "amendment_identities": [ + "sha256:80a04b99ad73e86ecb2e7c85dda3a11ddbe99cdf200ca38e2c1effe498184357", + "sha256:51437d6c3bfdd1461a9679a5055ab5c34d9eb603ba95b67f86f8516f8b93a25e", + "sha256:44f420409b719b5ddfaac04928e215572873475c8d8e720e4755e043b878dfde" + ], + "target": { + "repository": "https://github.com/pmndrs/zustand.git", + "sha": "b57db4f86ef179285da216eeb291266da82c361c" + }, + "catalog_identity": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "baseline_identity": "sha256:8844d3be4b27f9abd9bab7c6b04d34fc6a1e7cfe36a21e6deec2b315633d3465", + "scenario_count": 10, + "scenarios_with_relevant_failures": 6, + "selector_results": { + "NATIVE": { + "relevant_checks": 8, + "selected_relevant_checks": 6, + "missed_relevant_checks": 2, + "relevant_check_recall": "6/8", + "scenario_level_miss_count": 2, + "escalations": 0, + "misses": [ + { + "scenario_id": "AVS-003", + "check_id": "check:lint" + }, + { + "scenario_id": "AVS-008", + "check_id": "check:typecheck" + } + ] + }, + "AV_CORE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + }, + "AV_WITH_NATIVE_EVIDENCE": { + "relevant_checks": 8, + "selected_relevant_checks": 8, + "missed_relevant_checks": 0, + "relevant_check_recall": "8/8", + "scenario_level_miss_count": 0, + "escalations": 3, + "misses": [] + } + }, + "scenario_result_identities": { + "AVS-001": "sha256:3e6ebed6ae6e53abf9ef0b6548890ea142a91aece05590dbf9c38177ae099dc6", + "AVS-002": "sha256:9983b2c3e339832345833973047d2b82cd64a6ac73cccc20c8b6296591206aea", + "AVS-003": "sha256:53a2aea03ffdef08ca6dd1b23cff3d0ed4aedd6852391f10b2e58e2402bcfd21", + "AVS-004": "sha256:c3d0467e7a6b9fa28b7e9b4962852bede567df11afe98803fea2a3f5278244b5", + "AVS-005": "sha256:e444ee43832766ed3f0ddbe31abeb482db406470c8383b8a62c43990c6e5bc54", + "AVS-006": "sha256:46b992361c52479864d4e4c4717c60b796cfe43e30e1d410a30eeb85bdfe4f76", + "AVS-007": "sha256:9c37dc3a4327be5e8dbc6ad3bad481d9da3f02ff36f125a56113b7b0d34316f2", + "AVS-008": "sha256:0ddb7ee3383c06f31bb30b81052b6ab2baae1c1c5630423ebc38cd2fd616e7cc", + "AVS-009": "sha256:214cbe9d27e743feca1dfcb0a89b821d2589096a527c8f0e858a14b7b89673c5", + "AVS-010": "sha256:ce2de6cf4415d4636cf9db1a9ea62a9ab03502e4cc3e462cd2e32beca222c07a" + }, + "trust_stage": "SHADOW", + "trust_decision": "REMAIN_SHADOW", + "claim_limit": "No miss was observed only if the miss count is zero; either outcome is bounded to this frozen calibration corpus.", + "summary_identity": "sha256:68b8582a9ce7b86bfa5431d89d2dea07f8c34b88d1d0350bab25c99fa5b236df" +} diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-001.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-001.txt new file mode 100644 index 0000000..6ede859 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-001.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-001 +Selected tests: 166 / 224 +Skipped tests: 58 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 0 / 0 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-002.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-002.txt new file mode 100644 index 0000000..58eba46 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-002.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-002 +Selected tests: 19 / 224 +Skipped tests: 205 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-003.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-003.txt new file mode 100644 index 0000000..2e67ebc --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-003.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-003 +Selected tests: 211 / 224 +Skipped tests: 13 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_BROADENED +Shadow relevant checks: 2 / 2 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-004.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-004.txt new file mode 100644 index 0000000..660efb9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-004.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-004 +Selected tests: 166 / 224 +Skipped tests: 58 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-005.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-005.txt new file mode 100644 index 0000000..e1ea787 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-005.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-005 +Selected tests: 10 / 224 +Skipped tests: 214 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-006.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-006.txt new file mode 100644 index 0000000..c8e77ea --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-006.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-006 +Selected tests: 224 / 224 +Skipped tests: 0 +Other selected checks: format, typecheck, lint, build +Sufficiency: FULL_VERIFICATION_REQUIRED +Shadow relevant checks: 0 / 0 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-007.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-007.txt new file mode 100644 index 0000000..3efd5dd --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-007.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-007 +Selected tests: 224 / 224 +Skipped tests: 0 +Other selected checks: format, typecheck, lint, build +Sufficiency: FULL_VERIFICATION_REQUIRED +Shadow relevant checks: 0 / 0 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-008.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-008.txt new file mode 100644 index 0000000..ae706fe --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-008.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-008 +Selected tests: 211 / 224 +Skipped tests: 13 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_BROADENED +Shadow relevant checks: 1 / 1 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-009.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-009.txt new file mode 100644 index 0000000..d015a2b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-009.txt @@ -0,0 +1,8 @@ +[Affected Verification] +Scenario: AVS-009 +Selected tests: 185 / 224 +Skipped tests: 39 +Other selected checks: format, typecheck, lint, build +Sufficiency: SUFFICIENT_TARGETED +Shadow relevant checks: 2 / 2 selected +Selection miss: NO diff --git a/benchmark/av-exp-001/results-v2/telemetry/AVS-010.txt b/benchmark/av-exp-001/results-v2/telemetry/AVS-010.txt new file mode 100644 index 0000000..9890084 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/telemetry/AVS-010.txt @@ -0,0 +1,6 @@ +[Affected Verification] +Scenario: AVS-010 +Impact evidence incomplete +Targeted skipping denied +Verification broadened: FULL +Selection miss risk: unresolved, fail-closed diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_CORE.json new file mode 100644 index 0000000..379e20a --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-001:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:acdca341676531844ba188e0526a99a928a6bb2b81790aff0499e5112b19563b", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:acdca341676531844ba188e0526a99a928a6bb2b81790aff0499e5112b19563b", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..a5c36e1 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-001-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-001:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:00abb5ebc497826b40d48eac06aa6e9f3bd0e8944ac6749c5493ebe5845f1c1a", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:00abb5ebc497826b40d48eac06aa6e9f3bd0e8944ac6749c5493ebe5845f1c1a", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_CORE.json new file mode 100644 index 0000000..4f75590 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-002:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:8e66d55ccd3383b30db53080c8805dfba7626022f81ae4b9d932b9944489df84", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 19, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 205, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "205/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:8e66d55ccd3383b30db53080c8805dfba7626022f81ae4b9d932b9944489df84", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 2 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..fb2fa6d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-002-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-002:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:f9e612eac01044d4b4fdc132f7c1a6dc3a9ce43e1d71a4ed5cfb3d453df3b7e2", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 19, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 205, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "205/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:f9e612eac01044d4b4fdc132f7c1a6dc3a9ce43e1d71a4ed5cfb3d453df3b7e2", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 2 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_CORE.json new file mode 100644 index 0000000..08c8dc9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-003:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:dc09b796895ab51e79274720afbf1083ec6eb5b93385a6dcb0af7c6283ca1a53", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:dc09b796895ab51e79274720afbf1083ec6eb5b93385a6dcb0af7c6283ca1a53", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..4466d75 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-003-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-003:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:2fb4ea8d5bb074780a7780c779e32d2ec407cb2ccd13ff7972d46af04e31aabf", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:2fb4ea8d5bb074780a7780c779e32d2ec407cb2ccd13ff7972d46af04e31aabf", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_CORE.json new file mode 100644 index 0000000..61d50ba --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-004:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:cc776d101a9ab992b203cd79891f7afb7b9e8edae856a123bc7510a128e13e63", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:cc776d101a9ab992b203cd79891f7afb7b9e8edae856a123bc7510a128e13e63", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..712aa05 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-004-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-004:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:e791a95de28c0849d576e4bc5295592e03dc771c4281bd0a400813de81fe5ba6", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 11, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 6, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 166, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 58, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "58/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:e791a95de28c0849d576e4bc5295592e03dc771c4281bd0a400813de81fe5ba6", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 7 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_CORE.json new file mode 100644 index 0000000..d04070d --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-005:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:759dac2e4a1fd367bdce5c1fb4d883b73298597473cf7aacd19f7c3f143babc3", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 5, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 12, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 10, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 214, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "214/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:759dac2e4a1fd367bdce5c1fb4d883b73298597473cf7aacd19f7c3f143babc3", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 1 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..42a5617 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-005-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-005:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:330d57ee84755473dd487ccc94941a51a2a4146d5c7f4905b6ed873cb951b638", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 5, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 12, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 10, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 214, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "214/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:330d57ee84755473dd487ccc94941a51a2a4146d5c7f4905b6ed873cb951b638", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 1 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_CORE.json new file mode 100644 index 0000000..aab4b78 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-006:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:52c9600b87a2330ff4ebc92c15e8ecde44a9f566b7571e0f9b73d292709d6e7d", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:52c9600b87a2330ff4ebc92c15e8ecde44a9f566b7571e0f9b73d292709d6e7d", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..2fb6d9b --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-006-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-006:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:87e7641cde3e70cae42634fbda05b5c599d82911a2f629d07e0e814f0cf3b9d8", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:87e7641cde3e70cae42634fbda05b5c599d82911a2f629d07e0e814f0cf3b9d8", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_CORE.json new file mode 100644 index 0000000..bb3d7fe --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-007:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:2d87f2a2c341e57a1ff54d6dc7c7b4742a18227aa8053512b3e5442912a21a46", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:2d87f2a2c341e57a1ff54d6dc7c7b4742a18227aa8053512b3e5442912a21a46", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..8954627 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-007-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-007:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:ac1a3825e96668e824e17a3b3f91ee0cd5c62a25d2275e7bb0352412d4414ee5", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:ac1a3825e96668e824e17a3b3f91ee0cd5c62a25d2275e7bb0352412d4414ee5", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_CORE.json new file mode 100644 index 0000000..c20ba91 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-008:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:8b165bb6856c43c37263c5c560ad5ea28e0e2023c1a919dc1270f0299c662ed9", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:8b165bb6856c43c37263c5c560ad5ea28e0e2023c1a919dc1270f0299c662ed9", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..7f3d9a9 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-008-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-008:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:38264420e638b2842e987a2dc0f8187f73ad78f6ceae7e57296b93c175306e31", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 16, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 1, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 211, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "13/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:38264420e638b2842e987a2dc0f8187f73ad78f6ceae7e57296b93c175306e31", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_BROADENED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 12 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_CORE.json new file mode 100644 index 0000000..1bbbf28 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-009:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:98f67da59c2bd7b5f3c5cca95bbe91da7bdfd92fd2b8f5874752910d94558ec1", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 4, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 185, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 39, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "39/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:98f67da59c2bd7b5f3c5cca95bbe91da7bdfd92fd2b8f5874752910d94558ec1", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 9 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..0496a44 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-009-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-009:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:7333d19253e50b408a0a0d3f28f72c2c646edbf9ba1277083e852c0c1d316239", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 13, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 4, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 185, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 39, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "39/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:7333d19253e50b408a0a0d3f28f72c2c646edbf9ba1277083e852c0c1d316239", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "SUFFICIENT_TARGETED", + "impact_uncertainty": "NONE", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 9 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_CORE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_CORE.json new file mode 100644 index 0000000..2549ece --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_CORE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-010:AV_CORE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:53c733b92e6152b802a364b892e001b81dfaa67bc6dbe14dbe3faa2775207de1", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:53c733b92e6152b802a364b892e001b81dfaa67bc6dbe14dbe3faa2775207de1", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "PRESENT", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json b/benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json new file mode 100644 index 0000000..1533871 --- /dev/null +++ b/benchmark/av-exp-001/results-v2/value-receipts/AVS-010-AV_WITH_NATIVE_EVIDENCE.json @@ -0,0 +1,190 @@ +{ + "schema": "opsle.value-receipt.v1", + "mechanism": { + "id": "opsle.affected-verification", + "name": "Affected Verification", + "version": "0.1.0", + "revision": "sha256:cf92bde63f3a396a44f342b8f25a187fa38d3b3037af4c24e60fe7c0ef38d950" + }, + "run": { + "id": "AVS-010:AV_WITH_NATIVE_EVIDENCE", + "repository": "https://github.com/pmndrs/zustand.git", + "task_classification": "AV-EXP-001_CALIBRATION_SHADOW", + "work_classification": "DETERMINISTIC_VERIFICATION_PLANNING" + }, + "operation": { + "id": "sha256:6af0dd8e86733c3cde19cdea108c50f0a7460f948f1ec7786039c47809b1b131", + "name": "verification-planning", + "configuration_id": "sha256:8c5b224deaa7077690341248a18a2155310e2b16072e1607a9b4cd546e3a0914", + "policy_id": "sha256:4ccefdc16896069237909f2e367ecd6d8a33b2aeca946a895b7da016e4452d88" + }, + "measurements": [ + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_available", + "limitations": [], + "operator_display": false, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_selected", + "limitations": [], + "operator_display": true, + "result": 17, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "checks_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "NEUTRAL", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_available", + "limitations": [], + "operator_display": false, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "LOWER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_selected", + "limitations": [], + "operator_display": true, + "result": 224, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": true, + "method": "SUM" + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_executions_skipped", + "limitations": [], + "operator_display": true, + "result": 0, + "source_verification": "VERIFIED", + "unit": "count" + }, + { + "aggregation": { + "safe": false, + "method": null + }, + "baseline": null, + "class": "EXACT", + "delta": null, + "derivation": null, + "direction": "HIGHER_IS_VALUE", + "evidence_refs": [ + "verification_plan" + ], + "id": "test_execution_reduction", + "limitations": [ + "Computed only across catalog entries measured in test executions; unlike verification types are not combined." + ], + "operator_display": true, + "result": "0/224", + "source_verification": "VERIFIED", + "unit": "ratio" + } + ], + "evidence": [ + { + "id": "verification_plan", + "kind": "CONTENT_HASH", + "locator": "sha256:6af0dd8e86733c3cde19cdea108c50f0a7460f948f1ec7786039c47809b1b131", + "trust": "VERIFIED" + } + ], + "limitations": [ + "No time, token, cost, correctness, or causal savings claim is made.", + "Counts describe the configured catalog and declared test executions, not observed execution.", + "A skipped check count is value only within the plan sufficiency and uncertainty classification.", + "The authoritative FULL arm still executed; this receipt describes a predicted plan only." + ], + "extensions": { + "sufficiency": "FULL_VERIFICATION_REQUIRED", + "impact_uncertainty": "PRESENT", + "selected_by_type": { + "build": 1, + "lint": 1, + "other": 1, + "typecheck": 1, + "unit-test": 13 + } + } +} diff --git a/benchmark/av-exp-001/verify-results.mjs b/benchmark/av-exp-001/verify-results.mjs new file mode 100644 index 0000000..ab973c0 --- /dev/null +++ b/benchmark/av-exp-001/verify-results.mjs @@ -0,0 +1,118 @@ +#!/usr/bin/env node +import { createHash } from 'node:crypto'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import { + contentIdentity, + validateShadowBenchmarkResult, +} from '../../src/index.js'; + +const here = path.dirname(fileURLToPath(import.meta.url)); +const repoRoot = path.resolve(here, '../..'); +const resultsDir = process.argv[2] + ? path.resolve(process.argv[2]) + : path.join(here, 'results-v2'); + +function readJson(file) { + return JSON.parse(fs.readFileSync(file, 'utf8')); +} + +function sha256File(file) { + return `sha256:${createHash('sha256').update(fs.readFileSync(file)).digest('hex')}`; +} + +function assert(condition, message) { + if (!condition) throw new Error(message); +} + +const summary = readJson(path.join(resultsDir, 'summary.json')); +assert( + summary.summary_identity === contentIdentity({ ...summary, summary_identity: undefined }), + 'summary identity mismatch', +); + +const scenarioFiles = fs.readdirSync(path.join(resultsDir, 'scenarios')).sort(); +assert(scenarioFiles.length === 10, 'expected ten scenario results'); +for (const name of scenarioFiles) { + const result = readJson(path.join(resultsDir, 'scenarios', name)); + validateShadowBenchmarkResult(result); + assert(summary.scenario_result_identities[result.scenario.id] === result.result_identity, `${name} summary binding mismatch`); + for (const entry of result.evidence_hashes) { + const separator = entry.indexOf('=sha256:'); + assert(separator > 0, `${name} malformed evidence hash`); + const file = entry.slice(0, separator); + const expected = entry.slice(separator + 1); + assert(sha256File(path.join(repoRoot, file)) === expected, `${name} raw evidence mismatch: ${file}`); + } +} + +for (const name of fs.readdirSync(path.join(resultsDir, 'full')).sort()) { + const value = readJson(path.join(resultsDir, 'full', name)); + const semantic = structuredClone(value); + delete semantic.identity; + delete semantic.observed_durations_ms; + delete semantic.evidence_files; + delete semantic.test_count; + delete semantic.test_file_count; + assert(value.identity === contentIdentity(semantic), `${name} full-run identity mismatch`); +} + +for (const name of fs.readdirSync(path.join(resultsDir, 'oracle')).sort()) { + const value = readJson(path.join(resultsDir, 'oracle', name)); + const semantic = structuredClone(value); + delete semantic.identity; + assert(value.identity === contentIdentity(semantic), `${name} oracle identity mismatch`); +} + +const baseline = readJson(path.join(resultsDir, 'baseline', 'baseline-summary.json')); +const baselineSemantic = structuredClone(baseline); +delete baselineSemantic.identity; +delete baselineSemantic.observed_durations_ms; +assert(baseline.identity === contentIdentity(baselineSemantic), 'baseline identity mismatch'); +assert(summary.baseline_identity === baseline.identity, 'summary baseline binding mismatch'); + +const analysis = readJson(path.join(resultsDir, 'analysis.json')); +assert( + analysis.analysis_identity === contentIdentity({ + ...analysis, + analysis_identity: undefined, + runtime_observed: undefined, + }), + 'analysis identity mismatch', +); +assert(analysis.summary_identity === summary.summary_identity, 'analysis summary binding mismatch'); + +const receipts = fs.readdirSync(path.join(resultsDir, 'value-receipts')).sort(); +assert(receipts.length === 20, 'expected twenty AV Visible Value receipts'); +for (const name of receipts) { + const receipt = readJson(path.join(resultsDir, 'value-receipts', name)); + assert(receipt.schema === 'opsle.value-receipt.v1', `${name} receipt schema mismatch`); + assert(receipt.mechanism.id === 'opsle.affected-verification', `${name} mechanism mismatch`); +} + +const reproduction = readJson(path.join(resultsDir, 'reproduction.json')); +assert(reproduction.result === 'PASS', 'reproduction did not pass'); +assert(Object.values(reproduction.checks).every(Boolean), 'reproduction identity equality failed'); + +const manifest = readJson(path.join(resultsDir, 'evidence-manifest.json')); +for (const [name, expected] of Object.entries(manifest.files)) { + assert(sha256File(path.join(resultsDir, name)) === expected, `evidence manifest mismatch: ${name}`); +} +const manifestSemantic = structuredClone(manifest); +delete manifestSemantic.evidence_bundle_identity; +assert( + manifest.evidence_bundle_identity === contentIdentity(manifestSemantic), + 'evidence bundle identity mismatch', +); + +console.log(JSON.stringify({ + result: 'PASS', + scenarios: scenarioFiles.length, + receipts: receipts.length, + baseline_identity: baseline.identity, + summary_identity: summary.summary_identity, + analysis_identity: analysis.analysis_identity, + evidence_bundle_identity: manifest.evidence_bundle_identity, +}, null, 2)); diff --git a/package.json b/package.json index 45c5e20..f08d34b 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "conformance": "node ./tools/conformance.js", "determinism": "node --test --test-name-pattern='deterministic|stable|identical'", "verify": "npm run check && npm test && npm run conformance && npm run determinism", - "benchmark:av-exp-001": "node benchmark/av-exp-001/run.mjs all" + "benchmark:av-exp-001": "./benchmark/av-exp-001/reproduce.sh" }, "engines": { "node": ">=20"