✔ REQ-PLUG-1 REQ-LIMIT-4 the registry: usage-source and limit-check at interface version 1, each a list (1.010971ms)
✔ REQ-PLUG-1 checkPlugins accepts one key per kind, each a list of names, empty included (0.22369ms)
✔ REQ-PLUG-1 checkPlugins refuses bad shapes, unknown kinds, bad names and duplicates (4.038666ms)
✔ REQ-PLUG-1 a kind that switches on one module takes one name, not a list (0.156056ms)
✔ REQ-PLUG-1 checkPlugins reports through the caller's fail callback (0.144544ms)
✔ REQ-PLUG-1 fixture modules of each kind switch on from a test organization file, no core file changed (7.503529ms)
✔ REQ-PLUG-1 a name not matching ^[a-z][a-z0-9-]*$ refuses and keeps the old setting (3.420639ms)
✔ REQ-PLUG-1 a missing module directory or index.mjs refuses and keeps the old setting (3.268707ms)
✔ REQ-PLUG-1 a symlinked module directory or index.mjs refuses and keeps the old setting (2.45138ms)
✔ REQ-PLUG-1 a symlinked kind directory refuses and keeps the old setting (2.094284ms)
✔ REQ-PLUG-1 a symlinked packages/plugins refuses (run with --preserve-symlinks so the path keeps it) (24.351934ms)
✔ REQ-PLUG-1 index.mjs swapped for a symlink after the lstat checks refuses at the realpath check (2.783635ms)
✔ REQ-PLUG-1 a path that can't be read refuses as unreadable, is logged and keeps the old setting (2.303071ms)
✔ REQ-PLUG-1 a path that becomes unreadable after the lstat checks refuses at either realpath (2.454163ms)
✔ REQ-PLUG-1 a module that fails to load refuses and keeps the old setting (2.928263ms)
✔ REQ-PLUG-1 a missing export refuses and keeps the old setting (3.385641ms)
✔ REQ-PLUG-1 a different interface version refuses and keeps the old setting (2.431746ms)
✔ REQ-PLUG-1 a kind refused on its first load has nothing switched on, and the log names kind and name (1.840092ms)
✔ REQ-PLUG-1 the setting's shape: unknown kinds refuse alone, a bad whole setting keeps everything (3.111853ms)
✔ REQ-PLUG-1 loads run one at a time, so the last requested setting wins (103.457422ms)
✔ REQ-PLUG-1 the loader needs a log callback (1.149736ms)
✔ REQ-PLUG-2 the real tree's searxng-url module switches on as the search-source and answers (2.617729ms)
✔ REQ-PLUG-2 a SearXNG that refuses JSON (403) is search-down, a bad settings url throws (0.71426ms)
✔ REQ-PLUG-2 search-source takes one name, not a list (0.641946ms)
✔ REQ-PLUG-2 searxng-bundled queries the fixed loopback address and ignores web.searxng (0.724608ms)
✔ REQ-PLUG-2 harness-builtin switches on, serves no broker search, and refuses if called (0.582932ms)
✔ the searxng modules end the request when the broker's AbortSignal fires (41.800812ms)
✔ hasModule: true for a shipped module, false for a missing one, an unknown kind or a bad name (0.508231ms)
ℹ tests 28
ℹ suites 0
ℹ pass 28
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 222.20421
