mirror of
https://github.com/gchq/CyberChef.git
synced 2025-05-08 07:21:02 -04:00
add formatter
This commit is contained in:
parent
c4e7c41a6e
commit
ce30989adc
693 changed files with 51226 additions and 26671 deletions
|
@ -8,7 +8,6 @@
|
|||
* @license Apache-2.0
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Helper function to convert a status to an icon.
|
||||
*
|
||||
|
@ -16,11 +15,13 @@
|
|||
* @returns {string}
|
||||
*/
|
||||
function statusToIcon(status) {
|
||||
return {
|
||||
erroring: "🔥",
|
||||
failing: "❌",
|
||||
passing: "✔️️",
|
||||
}[status] || "?";
|
||||
return (
|
||||
{
|
||||
erroring: "🔥",
|
||||
failing: "❌",
|
||||
passing: "✔️️",
|
||||
}[status] || "?"
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,12 +31,18 @@ function statusToIcon(status) {
|
|||
* @param {Object} testResult
|
||||
*/
|
||||
function handleTestResult(testStatus, testResult) {
|
||||
testStatus.allTestsPassing = testStatus.allTestsPassing && testResult.status === "passing";
|
||||
testStatus.counts[testResult.status] = (testStatus.counts[testResult.status] || 0) + 1;
|
||||
testStatus.allTestsPassing =
|
||||
testStatus.allTestsPassing && testResult.status === "passing";
|
||||
testStatus.counts[testResult.status] =
|
||||
(testStatus.counts[testResult.status] || 0) + 1;
|
||||
testStatus.counts.total += 1;
|
||||
|
||||
if (testResult.duration > 2000) {
|
||||
console.log(`'${testResult.test.name}' took ${(testResult.duration / 1000).toFixed(1)}s to complete`);
|
||||
console.log(
|
||||
`'${testResult.test.name}' took ${(
|
||||
testResult.duration / 1000
|
||||
).toFixed(1)}s to complete`,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -46,7 +53,7 @@ function handleTestResult(testStatus, testResult) {
|
|||
* @param {Object[]} results - results from TestRegister
|
||||
*/
|
||||
export function logTestReport(testStatus, results) {
|
||||
results.forEach(r => handleTestResult(testStatus, r));
|
||||
results.forEach((r) => handleTestResult(testStatus, r));
|
||||
|
||||
console.log();
|
||||
for (const testStatusCount in testStatus.counts) {
|
||||
|
@ -58,21 +65,24 @@ export function logTestReport(testStatus, results) {
|
|||
console.log();
|
||||
|
||||
// Print error messages for tests that didn't pass
|
||||
results.filter(res => res.status !== "passing").forEach(testResult => {
|
||||
console.log([
|
||||
statusToIcon(testResult.status),
|
||||
testResult.test.name
|
||||
].join(" "));
|
||||
|
||||
if (testResult.output) {
|
||||
results
|
||||
.filter((res) => res.status !== "passing")
|
||||
.forEach((testResult) => {
|
||||
console.log(
|
||||
testResult.output
|
||||
.trim()
|
||||
.replace(/^/, "\t")
|
||||
.replace(/\n/g, "\n\t")
|
||||
[statusToIcon(testResult.status), testResult.test.name].join(
|
||||
" ",
|
||||
),
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
if (testResult.output) {
|
||||
console.log(
|
||||
testResult.output
|
||||
.trim()
|
||||
.replace(/^/, "\t")
|
||||
.replace(/\n/g, "\n\t"),
|
||||
);
|
||||
}
|
||||
});
|
||||
console.log();
|
||||
|
||||
process.exit(testStatus.allTestsPassing ? 0 : 1);
|
||||
|
@ -83,8 +93,10 @@ export function logTestReport(testStatus, results) {
|
|||
*/
|
||||
export function setLongTestFailure() {
|
||||
const timeLimit = 120;
|
||||
setTimeout(function() {
|
||||
console.log(`Tests took longer than ${timeLimit} seconds to run, returning.`);
|
||||
setTimeout(function () {
|
||||
console.log(
|
||||
`Tests took longer than ${timeLimit} seconds to run, returning.`,
|
||||
);
|
||||
process.exit(1);
|
||||
}, timeLimit * 1000);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue