'use strict'; // ═══════════════════════════════════════════════════════════════ // openvibe-shared/test-runner — the `npm test` runner every service uses (test/run.js), with no fake green // (roadmap WS-Q task 7: "skipped counts as yellow; nothing may be marked green by being synthesised from // skipped parts"). // // // test/run.js // require('openvibe-shared/test-runner').main({ dir: __dirname, timeoutMs: 120000, hide: /^\[DB\] / }); // // npm test # every *.test.js in dir, each in its own process, a few at a time // npm test -- quota cache # only files whose name contains one of the words // npm test -- --strict # a skip fails the run too (or OV_TEST_STRICT=1) // npm test -- page --allow-empty # exit 0 when no file matches (or OV_TEST_ALLOW_EMPTY=1): // # the pin-only CI subset on a repository without those files // // Each test file runs in its own process and owns its database: openvibe-sdk/testing `createTestDb` gives it its // own PGlite, or under `test:pg` its own PostgreSQL schema, roles and port. Files therefore parallelize safely and // a repo needs no `parallel: 1` pin. `parallel` is a number (a pin), `'auto'` (min(8, cpus-1), at least 1) or unset // (min(4, cpus-1), at least 1). // // A test that cannot run something (no ffmpeg, no Chrome, no git history) prints one line per thing it // skipped, `