@secure-exec/core 0.2.0-rc.2 → 0.2.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generated/isolate-runtime.d.ts +1 -1
- package/dist/generated/isolate-runtime.js +1 -1
- package/dist/index.d.ts +17 -4
- package/dist/index.js +10 -2
- package/dist/isolate-runtime/require-setup.js +145 -7
- package/dist/kernel/device-backend.d.ts +14 -0
- package/dist/kernel/device-backend.js +251 -0
- package/dist/kernel/device-layer.js +9 -0
- package/dist/kernel/index.d.ts +4 -4
- package/dist/kernel/index.js +3 -3
- package/dist/kernel/kernel.js +141 -119
- package/dist/kernel/mount-table.d.ts +75 -0
- package/dist/kernel/mount-table.js +353 -0
- package/dist/kernel/permissions.d.ts +9 -0
- package/dist/kernel/permissions.js +33 -1
- package/dist/kernel/proc-backend.d.ts +30 -0
- package/dist/kernel/proc-backend.js +428 -0
- package/dist/kernel/proc-layer.js +6 -0
- package/dist/kernel/process-table.d.ts +3 -1
- package/dist/kernel/process-table.js +23 -3
- package/dist/kernel/pty.d.ts +3 -2
- package/dist/kernel/pty.js +13 -2
- package/dist/kernel/types.d.ts +45 -4
- package/dist/kernel/types.js +9 -0
- package/dist/kernel/vfs.d.ts +30 -2
- package/dist/kernel/vfs.js +19 -2
- package/dist/shared/api-types.d.ts +6 -0
- package/dist/shared/console-formatter.js +8 -8
- package/dist/shared/in-memory-fs.d.ts +14 -62
- package/dist/shared/in-memory-fs.js +101 -636
- package/dist/shared/permissions.js +5 -0
- package/dist/test/block-store-conformance.d.ts +34 -0
- package/dist/test/block-store-conformance.js +251 -0
- package/dist/test/metadata-store-conformance.d.ts +37 -0
- package/dist/test/metadata-store-conformance.js +646 -0
- package/dist/test/vfs-conformance.d.ts +65 -0
- package/dist/test/vfs-conformance.js +842 -0
- package/dist/types.d.ts +1 -0
- package/dist/vfs/chunked-vfs.d.ts +66 -0
- package/dist/vfs/chunked-vfs.js +1290 -0
- package/dist/vfs/host-block-store.d.ts +19 -0
- package/dist/vfs/host-block-store.js +97 -0
- package/dist/vfs/memory-block-store.d.ts +16 -0
- package/dist/vfs/memory-block-store.js +45 -0
- package/dist/vfs/memory-metadata.d.ts +75 -0
- package/dist/vfs/memory-metadata.js +528 -0
- package/dist/vfs/sqlite-metadata.d.ts +91 -0
- package/dist/vfs/sqlite-metadata.js +582 -0
- package/dist/vfs/types.d.ts +210 -0
- package/dist/vfs/types.js +8 -0
- package/package.json +20 -1
- package/dist/kernel/inode-table.d.ts +0 -43
- package/dist/kernel/inode-table.js +0 -85
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared VFS conformance test suite.
|
|
3
|
+
*
|
|
4
|
+
* Every VirtualFileSystem implementation must pass the core tests in this suite.
|
|
5
|
+
* Optional test groups are gated on capability flags declared in the config.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { defineVfsConformanceTests } from "@secure-exec/core/test/vfs-conformance";
|
|
11
|
+
*
|
|
12
|
+
* defineVfsConformanceTests({
|
|
13
|
+
* name: "MyDriver",
|
|
14
|
+
* createFs: () => createMyDriver(),
|
|
15
|
+
* cleanup: () => cleanupMyDriver(),
|
|
16
|
+
* capabilities: {
|
|
17
|
+
* symlinks: true,
|
|
18
|
+
* hardLinks: true,
|
|
19
|
+
* permissions: true,
|
|
20
|
+
* utimes: true,
|
|
21
|
+
* truncate: true,
|
|
22
|
+
* pread: true,
|
|
23
|
+
* pwrite: true,
|
|
24
|
+
* mkdir: true,
|
|
25
|
+
* removeDir: true,
|
|
26
|
+
* fsync: false,
|
|
27
|
+
* copy: false,
|
|
28
|
+
* readDirStat: false,
|
|
29
|
+
* },
|
|
30
|
+
* });
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* For chunked VFS implementations, pass `inlineThreshold` and `chunkSize` to
|
|
34
|
+
* enable edge case tests at storage tier boundaries.
|
|
35
|
+
*/
|
|
36
|
+
import type { VirtualFileSystem } from "../kernel/vfs.js";
|
|
37
|
+
export interface VfsConformanceCapabilities {
|
|
38
|
+
symlinks: boolean;
|
|
39
|
+
hardLinks: boolean;
|
|
40
|
+
permissions: boolean;
|
|
41
|
+
utimes: boolean;
|
|
42
|
+
truncate: boolean;
|
|
43
|
+
pread: boolean;
|
|
44
|
+
pwrite: boolean;
|
|
45
|
+
mkdir: boolean;
|
|
46
|
+
removeDir: boolean;
|
|
47
|
+
fsync: boolean;
|
|
48
|
+
copy: boolean;
|
|
49
|
+
readDirStat: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface VfsConformanceConfig {
|
|
52
|
+
/** Human-readable name shown in the describe block. */
|
|
53
|
+
name: string;
|
|
54
|
+
/** Create a fresh VFS instance for each test. */
|
|
55
|
+
createFs: () => Promise<VirtualFileSystem> | VirtualFileSystem;
|
|
56
|
+
/** Optional teardown called after each test. */
|
|
57
|
+
cleanup?: () => Promise<void>;
|
|
58
|
+
/** Which optional capabilities the driver supports. */
|
|
59
|
+
capabilities: VfsConformanceCapabilities;
|
|
60
|
+
/** Inline threshold in bytes. Enables boundary edge case tests. */
|
|
61
|
+
inlineThreshold?: number;
|
|
62
|
+
/** Chunk size in bytes. Enables boundary edge case tests. */
|
|
63
|
+
chunkSize?: number;
|
|
64
|
+
}
|
|
65
|
+
export declare function defineVfsConformanceTests(config: VfsConformanceConfig): void;
|