Skip to content

Commit 79ee0a9

Browse files
committed
simplify test
1 parent e263d77 commit 79ee0a9

File tree

2 files changed

+16
-71
lines changed

2 files changed

+16
-71
lines changed

packages/kernel-test/src/exo.test.ts

Lines changed: 14 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import '@ocap/shims/endoify';
2-
import { kunser } from '@ocap/kernel';
2+
import { Kernel, kunser } from '@ocap/kernel';
3+
import type { KernelDatabase } from '@ocap/store';
34
import { makeSQLKernelDatabase } from '@ocap/store/sqlite/nodejs';
45
import { waitUntilQuiescent } from '@ocap/utils';
5-
import { describe, expect, it } from 'vitest';
6+
import { beforeEach, describe, expect, it } from 'vitest';
67

78
import {
89
extractVatLogs,
@@ -33,18 +34,23 @@ const testSubcluster = {
3334
};
3435

3536
describe('virtual objects functionality', async () => {
36-
it('successfully creates and uses exo objects and scalar stores', async () => {
37-
const kernelDatabase = await makeSQLKernelDatabase({
37+
let kernel: Kernel;
38+
let kernelDatabase: KernelDatabase;
39+
let bootstrapResult: unknown;
40+
41+
beforeEach(async () => {
42+
kernelDatabase = await makeSQLKernelDatabase({
3843
dbFilename: ':memory:',
3944
});
40-
const kernel = await makeKernel(kernelDatabase, true);
45+
kernel = await makeKernel(kernelDatabase, true);
4146
buffered = '';
47+
bootstrapResult = await runTestVats(kernel, testSubcluster);
48+
await waitUntilQuiescent();
49+
});
4250

43-
const bootstrapResult = await runTestVats(kernel, testSubcluster);
51+
it('successfully creates and uses exo objects and scalar stores', async () => {
4452
expect(bootstrapResult).toBe('exo-test-complete');
45-
await waitUntilQuiescent();
4653
const vatLogs = extractVatLogs(buffered);
47-
4854
// Verify exo objects were created and used
4955
expect(vatLogs).toContain('ExoTest: initializing state');
5056
expect(vatLogs).toContain('ExoTest: counter value from baggage: 0');
@@ -70,24 +76,12 @@ describe('virtual objects functionality', async () => {
7076
}, 30000);
7177

7278
it('preserves state across vat restarts', async () => {
73-
const kernelDatabase = await makeSQLKernelDatabase({
74-
dbFilename: ':memory:',
75-
});
76-
const kernel = await makeKernel(kernelDatabase, true);
77-
buffered = '';
78-
79-
// Run the test vat first time
80-
await runTestVats(kernel, testSubcluster);
81-
await waitUntilQuiescent();
8279
// Restart the vat
8380
await kernel.restartVat('v1');
8481
buffered = '';
85-
8682
// Create and send a message to the root
8783
await kernel.queueMessageFromKernel('ko1', 'resume', []);
8884
await waitUntilQuiescent();
89-
90-
// Extract logs to verify operations worked correctly
9185
const vatLogs = extractVatLogs(buffered);
9286
// Verify state was preserved
9387
expect(vatLogs).toContain('ExoTest: state already initialized');
@@ -98,24 +92,13 @@ describe('virtual objects functionality', async () => {
9892
}, 30000);
9993

10094
it('tests scalar store functionality', async () => {
101-
const kernelDatabase = await makeSQLKernelDatabase({
102-
dbFilename: ':memory:',
103-
});
104-
const kernel = await makeKernel(kernelDatabase, true);
105-
106-
// Run the test vat
107-
await runTestVats(kernel, testSubcluster);
108-
await waitUntilQuiescent();
109-
buffered = '';
110-
11195
const storeResult = await kernel.queueMessageFromKernel(
11296
'ko1',
11397
'testScalarStore',
11498
[],
11599
);
116100
await waitUntilQuiescent();
117101
const vatLogs = extractVatLogs(buffered);
118-
119102
// Verify test result
120103
expect(kunser(storeResult)).toBe('scalar-store-tests-complete');
121104
// Verify map store operations
@@ -128,16 +111,6 @@ describe('virtual objects functionality', async () => {
128111
}, 30000);
129112

130113
it('can create and use objects through messaging', async () => {
131-
const kernelDatabase = await makeSQLKernelDatabase({
132-
dbFilename: ':memory:',
133-
});
134-
const kernel = await makeKernel(kernelDatabase, true);
135-
136-
// Run the test vat
137-
await runTestVats(kernel, testSubcluster);
138-
await waitUntilQuiescent();
139-
buffered = '';
140-
141114
// Create a counter through messaging
142115
const counterResult = await kernel.queueMessageFromKernel(
143116
'ko1',

yarn.lock

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -646,22 +646,7 @@ __metadata:
646646
languageName: node
647647
linkType: hard
648648

649-
"@endo/exo@npm:^1.5.8":
650-
version: 1.5.8
651-
resolution: "@endo/exo@npm:1.5.8"
652-
dependencies:
653-
"@endo/common": "npm:^1.2.9"
654-
"@endo/env-options": "npm:^1.1.8"
655-
"@endo/errors": "npm:^1.2.9"
656-
"@endo/eventual-send": "npm:^1.3.0"
657-
"@endo/far": "npm:^1.1.10"
658-
"@endo/pass-style": "npm:^1.4.8"
659-
"@endo/patterns": "npm:^1.4.8"
660-
checksum: 10/72c798344b9c0b1d008b8131210563a9919bb7e4b489700cf8147001e6842f8e5d631b9e53bbb3a93aca14b3fe11dc8740d32537528caf890f2e349c749ac943
661-
languageName: node
662-
linkType: hard
663-
664-
"@endo/exo@npm:^1.5.9":
649+
"@endo/exo@npm:^1.5.8, @endo/exo@npm:^1.5.9":
665650
version: 1.5.9
666651
resolution: "@endo/exo@npm:1.5.9"
667652
dependencies:
@@ -767,20 +752,7 @@ __metadata:
767752
languageName: node
768753
linkType: hard
769754

770-
"@endo/patterns@npm:^1.4.7, @endo/patterns@npm:^1.4.8":
771-
version: 1.4.8
772-
resolution: "@endo/patterns@npm:1.4.8"
773-
dependencies:
774-
"@endo/common": "npm:^1.2.9"
775-
"@endo/errors": "npm:^1.2.9"
776-
"@endo/eventual-send": "npm:^1.3.0"
777-
"@endo/marshal": "npm:^1.6.3"
778-
"@endo/promise-kit": "npm:^1.1.9"
779-
checksum: 10/8d547e8872754ea535df6a0e53dee66075bd95adc5b875bd553c6e34ce1fcf3c8c0bbfa67d88fcb265f2ae5660ec7a10d194ff738c2c261e51de3f630cbab353
780-
languageName: node
781-
linkType: hard
782-
783-
"@endo/patterns@npm:^1.5.0":
755+
"@endo/patterns@npm:^1.4.7, @endo/patterns@npm:^1.4.8, @endo/patterns@npm:^1.5.0":
784756
version: 1.5.0
785757
resolution: "@endo/patterns@npm:1.5.0"
786758
dependencies:

0 commit comments

Comments
 (0)