fix: harden release gate and page delivery
Memind CI / Test, build, and release guards (push) Failing after 12m3s

This commit is contained in:
john
2026-07-26 14:32:01 +08:00
parent d3141a3e91
commit b1577a16e9
61 changed files with 6017 additions and 89 deletions
+33
View File
@@ -0,0 +1,33 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { parseRunnerArgs, runWithConcurrency } from './runner.mjs';
test('runner accepts a bounded suite concurrency and rejects unsafe values', () => {
assert.equal(
parseRunnerArgs(['node', 'runner', '--suite-concurrency', '3']).suiteConcurrency,
3,
);
assert.throws(
() => parseRunnerArgs(['node', 'runner', '--suite-concurrency', '0']),
/between 1 and 16/,
);
assert.throws(
() => parseRunnerArgs(['node', 'runner', '--suite-concurrency', '17']),
/between 1 and 16/,
);
});
test('runWithConcurrency preserves result order and never exceeds its worker budget', async () => {
let active = 0;
let peak = 0;
const results = await runWithConcurrency([40, 5, 20, 1], 2, async (delay, index) => {
active += 1;
peak = Math.max(peak, active);
await new Promise((resolve) => setTimeout(resolve, delay));
active -= 1;
return `result-${index}`;
});
assert.deepEqual(results, ['result-0', 'result-1', 'result-2', 'result-3']);
assert.equal(peak, 2);
});