Round 2 for #1626 per sage-0314: F1a setter refuses a non-plain prototype, F1b organization writer validates and logs JSON.parse(bytes), F2 loader refuses unreadable paths, README top-level-code limit, control run. Gate 591/0, 0 skipped; controls pass; mutants 47/47 killed (slot sage-0316). Candidate manifest sha256 466c835f7dce79d20c7ab74c197a52b70e7fdeb0efae0456222dc6d0a633f219, 14 paths on base 0bdd573ff; no commit in base..1376caab9 touches them. Co-Authored-By: Claude Opus 5.5 <[email protected]>
54 lines
2.7 KiB
Plaintext
54 lines
2.7 KiB
Plaintext
✔ REQ-PLUG-1 fixture modules of each kind switch on from a test organization file, no core file changed (6.876323ms)
|
||
✔ REQ-PLUG-1 a name not matching ^[a-z][a-z0-9-]*$ refuses and keeps the old setting (3.205801ms)
|
||
✔ REQ-PLUG-1 a missing module directory or index.mjs refuses and keeps the old setting (3.377559ms)
|
||
✔ REQ-PLUG-1 a symlinked module directory or index.mjs refuses and keeps the old setting (2.293927ms)
|
||
✔ REQ-PLUG-1 a symlinked kind directory refuses and keeps the old setting (1.93176ms)
|
||
✔ REQ-PLUG-1 a symlinked packages/plugins refuses (run with --preserve-symlinks so the path keeps it) (29.378703ms)
|
||
✔ REQ-PLUG-1 index.mjs swapped for a symlink after the lstat checks refuses at the realpath check (2.696961ms)
|
||
✔ REQ-PLUG-1 a path that can't be read refuses as unreadable, is logged and keeps the old setting (2.219404ms)
|
||
✔ REQ-PLUG-1 a path that becomes unreadable after the lstat checks refuses at either realpath (2.46605ms)
|
||
✔ REQ-PLUG-1 a module that fails to load refuses and keeps the old setting (3.064478ms)
|
||
✖ REQ-PLUG-1 a missing export refuses and keeps the old setting (3.728533ms)
|
||
✔ REQ-PLUG-1 a different interface version refuses and keeps the old setting (2.465109ms)
|
||
✔ REQ-PLUG-1 a kind refused on its first load has nothing switched on, and the log names kind and name (1.785553ms)
|
||
✔ REQ-PLUG-1 the setting's shape: unknown kinds refuse alone, a bad whole setting keeps everything (2.962387ms)
|
||
✔ REQ-PLUG-1 loads run one at a time, so the last requested setting wins (103.606906ms)
|
||
✔ REQ-PLUG-1 the loader needs a log callback (1.078982ms)
|
||
ℹ tests 16
|
||
ℹ suites 0
|
||
ℹ pass 15
|
||
ℹ fail 1
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 220.230633
|
||
|
||
✖ failing tests:
|
||
|
||
test at packages/plugins/tests/loader.test.mjs:185:1
|
||
✖ REQ-PLUG-1 a missing export refuses and keeps the old setting (3.728533ms)
|
||
AssertionError [ERR_ASSERTION]: not-fn: old setting kept
|
||
+ actual - expected
|
||
|
||
{
|
||
'limit-check': [
|
||
'cap'
|
||
],
|
||
'usage-source': [
|
||
+ 'not-fn'
|
||
- 'meter'
|
||
]
|
||
}
|
||
|
||
at refusesKeepingOld (file:///home/jwoltje/dewey-scratch/r131/wt/packages/plugins/tests/loader.test.mjs:32:10)
|
||
at async TestContext.<anonymous> (file:///home/jwoltje/dewey-scratch/r131/wt/packages/plugins/tests/loader.test.mjs:192:3)
|
||
at async Test.run (node:internal/test_runner/test:1409:7)
|
||
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
|
||
generatedMessage: false,
|
||
code: 'ERR_ASSERTION',
|
||
actual: { 'usage-source': [ 'not-fn' ], 'limit-check': [ 'cap' ] },
|
||
expected: { 'usage-source': [ 'meter' ], 'limit-check': [ 'cap' ] },
|
||
operator: 'deepStrictEqual',
|
||
diff: 'simple'
|
||
}
|