Skip to content

Commit 3a279a2

Browse files
authored
Remove ANSI code in Jenkins output (adoptium#1089)
resolves: adoptium#1084 and runtimes/automation/issues/600 Signed-off-by: Lan Xia <[email protected]>
1 parent e6a50cc commit 3a279a2

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

TestResultSummaryService/DataManager.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const {
77
const ObjectID = require('mongodb').ObjectID;
88
const Parsers = require(`./parsers/`);
99
const DefaultParser = require(`./parsers/Default`);
10-
const { logger } = require('./Utils');
10+
const { logger, removeAnsiCode } = require('./Utils');
1111
const Utils = require('./parsers/Utils');
1212

1313
class DataManager {
@@ -22,6 +22,7 @@ class DataManager {
2222
}
2323

2424
async parseOutput(buildName, output) {
25+
output = removeAnsiCode(output);
2526
const parserTypes = await Promise.all(
2627
Object.keys(Parsers).map(async (type) => {
2728
if (Parsers[type].canParse(buildName, output)) {

TestResultSummaryService/Utils.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,10 @@ const addCredential = (credentails, url) => {
2828
return url;
2929
};
3030

31-
module.exports = { logger, addCredential };
31+
// remove ANSI escape code in Jenkins raw output
32+
// remove everything between \x1B[8m and \x1B[0m
33+
const removeAnsiCode = (output) => {
34+
return output.replace(/\x1B\[8m[\s\S]*?\x1B\[0m/g, '');
35+
};
36+
37+
module.exports = { logger, addCredential, removeAnsiCode };

0 commit comments

Comments
 (0)