mirror of
https://github.com/abhigyanpatwari/GitNexus.git
synced 2026-10-27 06:12:20 +00:00
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
25 lines
1,009 B
JavaScript
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/);
|
|
});
|