86 lines
7.1 KiB
Plaintext
86 lines
7.1 KiB
Plaintext
✔ channel registry requires dispatch at interface 1 and switches a list (1.103629ms)
|
||
✔ channel shipped modules load and preserve every supported operation and bus refusal (2.267221ms)
|
||
✔ channel snapshot is a frozen matched pair and a captured array survives reload (3.97004ms)
|
||
✔ channel guards refuse bad names, missing paths, exports and versions while retaining last good (3.301366ms)
|
||
✔ channel guards refuse symlinked module, index and kind directories (2.154533ms)
|
||
✔ channel caller re-reads settings and keeps off switches independent by module name (1.351887ms)
|
||
✔ channel caller malformed settings refuse without a chat operation and no unrelated kind loads (0.42189ms)
|
||
✔ channel caller uses last good after loader refusal and fails closed on first load (0.497011ms)
|
||
✔ channel dispatch holds no selection lock while a slow send is awaiting (0.622041ms)
|
||
✔ channel last realpath check refuses an index swapped after component checks (2.492896ms)
|
||
✔ channel caller refuses invalid core construction (0.145648ms)
|
||
✔ channel caller invokes the selected loaded module instead of bypassing dispatch (1.995359ms)
|
||
✔ channel caller keeps the selected module operation filter in front of the core transport (0.247871ms)
|
||
✔ REQ-PLUG-1 REQ-LIMIT-4 the registry: usage-source and limit-check at interface version 1, each a list (1.100751ms)
|
||
✔ REQ-PLUG-1 checkPlugins accepts one key per kind, each a list of names, empty included (0.256673ms)
|
||
✔ REQ-PLUG-1 checkPlugins refuses bad shapes, unknown kinds, bad names and duplicates (4.199832ms)
|
||
✔ REQ-PLUG-1 a kind that switches on one module takes one name, not a list (0.162056ms)
|
||
✔ REQ-PLUG-1 checkPlugins reports through the caller's fail callback (0.152981ms)
|
||
✔ REQ-PLUG-1 fixture modules of each kind switch on from a test organization file, no core file changed (8.33767ms)
|
||
✔ REQ-PLUG-1 a name not matching ^[a-z][a-z0-9-]*$ refuses and keeps the old setting (4.006252ms)
|
||
✔ REQ-PLUG-1 a missing module directory or index.mjs refuses and keeps the old setting (3.552754ms)
|
||
✔ REQ-PLUG-1 a symlinked module directory or index.mjs refuses and keeps the old setting (2.640796ms)
|
||
✔ REQ-PLUG-1 a symlinked kind directory refuses and keeps the old setting (2.412521ms)
|
||
✔ REQ-PLUG-1 a symlinked packages/plugins refuses (run with --preserve-symlinks so the path keeps it) (30.55662ms)
|
||
✔ REQ-PLUG-1 index.mjs swapped for a symlink after the lstat checks refuses at the realpath check (3.078851ms)
|
||
✔ REQ-PLUG-1 a path that can't be read refuses as unreadable, is logged and keeps the old setting (2.444232ms)
|
||
✔ REQ-PLUG-1 a path that becomes unreadable after the lstat checks refuses at either realpath (3.454551ms)
|
||
✔ REQ-PLUG-1 a module that fails to load refuses and keeps the old setting (2.985985ms)
|
||
✔ REQ-PLUG-1 a missing export refuses and keeps the old setting (3.379026ms)
|
||
✔ REQ-PLUG-1 a different interface version refuses and keeps the old setting (2.617395ms)
|
||
✔ REQ-PLUG-1 a kind refused on its first load has nothing switched on, and the log names kind and name (2.24302ms)
|
||
✔ REQ-PLUG-1 the setting's shape: unknown kinds refuse alone, a bad whole setting keeps everything (2.710943ms)
|
||
✔ REQ-PLUG-1 loads run one at a time, so the last requested setting wins (103.794189ms)
|
||
✔ REQ-PLUG-1 the loader needs a log callback (1.125531ms)
|
||
✔ REQ-PLUG-2 the real tree's searxng-url module switches on as the search-source and answers (2.878436ms)
|
||
✔ REQ-PLUG-2 a SearXNG that refuses JSON (403) is search-down, a bad settings url throws (0.77256ms)
|
||
✔ REQ-PLUG-2 search-source takes one name, not a list (0.730337ms)
|
||
✔ REQ-PLUG-2 searxng-bundled queries the fixed loopback address and ignores web.searxng (0.757405ms)
|
||
✔ REQ-PLUG-2 harness-builtin switches on, serves no broker search, and refuses if called (0.656529ms)
|
||
✔ the searxng modules end the request when the broker's AbortSignal fires (42.145267ms)
|
||
✔ hasModule: true for a shipped module, false for a missing one, an unknown kind or a bad name (0.567698ms)
|
||
✔ REQ-LIMIT-4 pi: reports all token kinds and deduplicates assistant ids (2.82265ms)
|
||
✔ REQ-LIMIT-4 claude-code: reports all token kinds and deduplicates assistant ids (0.717797ms)
|
||
✔ REQ-LIMIT-4 pi cut line is unknown, never zero or content (1.127734ms)
|
||
✔ REQ-LIMIT-4 pi invalid UTF-8 is unknown, never zero or content (0.659871ms)
|
||
✔ REQ-LIMIT-4 pi missing input is unknown, never zero or content (0.568271ms)
|
||
✔ REQ-LIMIT-4 pi negative count is unknown, never zero or content (0.458745ms)
|
||
✔ REQ-LIMIT-4 pi fractional count is unknown, never zero or content (0.487918ms)
|
||
✔ REQ-LIMIT-4 pi unsafe integer is unknown, never zero or content (0.481291ms)
|
||
✔ REQ-LIMIT-4 pi file size is unknown, never zero or content (6.87481ms)
|
||
✔ REQ-LIMIT-4 pi line size is unknown, never zero or content (3.685285ms)
|
||
✔ REQ-LIMIT-4 pi symlink file is unknown, never zero or content (0.48666ms)
|
||
✔ REQ-LIMIT-4 pi hardlink file is unknown, never zero or content (0.312706ms)
|
||
✔ REQ-LIMIT-4 claude-code cut line is unknown, never zero or content (0.362896ms)
|
||
✔ REQ-LIMIT-4 claude-code invalid UTF-8 is unknown, never zero or content (0.380148ms)
|
||
✔ REQ-LIMIT-4 claude-code missing input is unknown, never zero or content (0.408827ms)
|
||
✔ REQ-LIMIT-4 claude-code negative count is unknown, never zero or content (0.359636ms)
|
||
✔ REQ-LIMIT-4 claude-code fractional count is unknown, never zero or content (0.41397ms)
|
||
✔ REQ-LIMIT-4 claude-code unsafe integer is unknown, never zero or content (0.38586ms)
|
||
✔ REQ-LIMIT-4 claude-code file size is unknown, never zero or content (6.437341ms)
|
||
✔ REQ-LIMIT-4 claude-code line size is unknown, never zero or content (2.128778ms)
|
||
✔ REQ-LIMIT-4 claude-code symlink file is unknown, never zero or content (0.452693ms)
|
||
✔ REQ-LIMIT-4 claude-code hardlink file is unknown, never zero or content (0.31482ms)
|
||
✔ REQ-LIMIT-4 pi a symlink directory anywhere in the root refuses (0.333634ms)
|
||
✔ REQ-LIMIT-4 claude-code a symlink directory anywhere in the root refuses (0.269573ms)
|
||
✔ REQ-LIMIT-4 bounded directory entries refuse before scanning an arbitrary tree (8.278016ms)
|
||
✔ REQ-LIMIT-4 conflicting repeated usage refuses rather than double counting (0.560163ms)
|
||
✔ REQ-LIMIT-4 oversized metadata refuses before reading any transcript bytes (6.659758ms)
|
||
✔ REQ-LIMIT-4 a file growing after fstat cannot exceed the streaming byte budget (5.677661ms)
|
||
✔ REQ-LIMIT-4 a same-size edit during a read is unknown rather than a stable snapshot (0.885352ms)
|
||
✔ REQ-LIMIT-4 record count is bounded even when each record is tiny (7.65776ms)
|
||
✔ REQ-LIMIT-4 missing assistant usage, malformed JSON and conflicting identities are unknown (0.853395ms)
|
||
✔ REQ-LIMIT-4 caller roots, unsupported harnesses and non-object JSON never become zero usage (0.64976ms)
|
||
✔ REQ-LIMIT-4 even a complete JSON record with no final newline is an unknown cut line (0.294957ms)
|
||
✔ REQ-LIMIT-4 final file opens are nonblocking before hostile file type is known (0.49704ms)
|
||
✔ REQ-LIMIT-4 invalid transcript entry names refuse before file lookup (0.3033ms)
|
||
✔ REQ-LIMIT-4 claude-code refuses a symlinked project directory (0.438043ms)
|
||
ℹ tests 77
|
||
ℹ suites 0
|
||
ℹ pass 77
|
||
ℹ fail 0
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 560.918469
|