import { describe, expect, it } from "vitest" ;
import {
formatCommand,
resolveConcurrency,
runChecks,
} from "../../scripts/run-additional-boundary-checks.mjs" ;
function createOutputBuffer() {
const chunks: string[] = [];
return {
output: {
write(chunk: string) {
chunks.push(chunk);
return true ;
},
},
text: () => chunks.join("" ),
};
}
describe("run-additional-boundary-checks" , () => {
it("normalizes concurrency input" , () => {
expect(resolveConcurrency("6" )).toBe(6 );
expect(resolveConcurrency("0" )).toBe(4 );
expect(resolveConcurrency("nope" , 2 )).toBe(2 );
});
it("formats command display text" , () => {
expect(formatCommand({ command: "pnpm" , args: ["run" , "lint:core" ] })).toBe(
"pnpm run lint:core" ,
);
});
it("buffers grouped output and reports aggregate failures" , async () => {
const buffer = createOutputBuffer();
const failures = await runChecks(
[
{
label: "passes" ,
command: process.execPath,
args: ["-e" , "console.log('ok-out')" ],
},
{
label: "fails" ,
command: process.execPath,
args: ["-e" , "console.error('bad-out'); process.exit(7)" ],
},
],
{ concurrency: 2 , output: buffer.output },
);
const text = buffer.text();
expect(failures).toBe(1 );
expect(text).toContain("::group::passes" );
expect(text).toContain("ok-out" );
expect(text).toContain("[ok] passes" );
expect(text).toContain("::group::fails" );
expect(text).toContain("bad-out" );
expect(text).toContain("::error title=fails failed::fails failed (exit 7)" );
});
});
Messung V0.5 in Prozent C=97 H=93 G=94
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland