GitNexus/.devcontainer/resources.test.cjs
Gergő Magyar b961e695ca
Some checks failed
Devcontainer Smoke / Config-transform unit tests (push) Has been cancelled
Devcontainer Smoke / Build devcontainer image (default) (push) Has been cancelled
Publish Development Images / publish (core) (push) Has been cancelled
Publish Development Images / publish (ui) (push) Has been cancelled
Devcontainer Smoke / Build devcontainer image (ui) (push) Has been cancelled
CodeQL / Analyze (python) (push) Waiting to run
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
Gitleaks / gitleaks (push) Waiting to run
Publish / ci (push) Blocked by required conditions
Publish / Classify release event (push) Waiting to run
Publish / RC guard (marker + release-PR skip) (push) Blocked by required conditions
Publish / Publish to npm (push) Blocked by required conditions
Publish / Build & Push RC Docker images (push) Blocked by required conditions
Scorecard / Scorecard analysis (push) Waiting to run
Skill copy sync / shipped skills drift guard (push) Waiting to run
Trivy Image Scan / Trivy (gitnexus-cli) (push) Waiting to run
Trivy Image Scan / Trivy (gitnexus-web) (push) Waiting to run
fix(devcontainer): refresh Node and streamline development (#3610)
2026-10-17 21:05:13 +00:00

25 lines
1,009 B
JavaScript

'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const { workerBudget } = require('./resources.cjs');
test('worker budget respects CPU quota, memory allowance and interactive headroom', () => {
const limits = {
memory: 32 * 2 ** 30,
parallelism: 32,
override: '',
memoryMax: 'max',
cpuMax: 'max 100000',
};
assert.equal(workerBudget(limits), 4);
assert.equal(workerBudget({ ...limits, cpuMax: '200000 100000' }), 1);
assert.equal(workerBudget({ ...limits, memoryMax: String(3 * 2 ** 30) }), 2);
assert.equal(workerBudget({ ...limits, memoryMax: '100000000', cpuMax: '50000 100000' }), 1);
assert.equal(workerBudget({ ...limits, memoryMax: 'unavailable', cpuMax: 'unavailable' }), 4);
});
test('worker override is explicit and validated', () => {
assert.equal(workerBudget({ override: '2' }), 2);
for (const override of ['0', '-1', 'abc', '1;bad', '100'])
assert.throws(() => workerBudget({ override }), /integer/);
});