Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fixup markdown formatting
  • Loading branch information
codebytere committed Jul 6, 2020
commit ee5399bf398ad5314aaa6eda8125c85327a7a07f
68 changes: 46 additions & 22 deletions lib/ci/ci_result_parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -343,10 +343,13 @@ class TestBuild extends Job {
}

formatAsJson() {
const result = this.failures.map(item => Object.assign({
source: this.sourceURL,
upstream: this.jobUrl
const { jobUrl, failures, sourceURL } = this;

const result = failures.map(item => Object.assign({
source: sourceURL,
upstream: jobUrl
}, item));

return JSON.parse(JSON.stringify(result));
}
}
Expand Down Expand Up @@ -799,28 +802,18 @@ class CITGMBuild extends TestBuild {
return { result };
}

formatAsJson() {
const { results } = this;

const result = results.all.map(item => Object.assign({
source: this.sourceURL,
upstream: this.jobUrl
}, item));

return JSON.parse(JSON.stringify(result));
}

parseResults(data) {
const results = { all: [], failures: [] };
const results = { all: {}, failures: {} };

data.forEach(platform => {
const cases = flatten(platform.result.suites[0].cases);
const nodeName = getNodeName(platform.child.url);
const url = platform.child.url;
const nodeName = getNodeName(url);

results.all.push({ [nodeName]: cases });
results.all[nodeName] = { url, modules: cases };

const failedModules = cases.filter(c => c.status === 'FAILED');
results.failures.push({ [nodeName]: failedModules });
results.failures[nodeName] = { url, modules: failedModules };
});

return results;
Expand All @@ -831,14 +824,45 @@ class CITGMBuild extends TestBuild {

cli.separator('Failures');
const output = {};
for (const failure of results.failures) {
const platform = Object.keys(failure)[0];
const modules = failure[platform].map(f => f.name);
output[platform] = modules;
for (const platform in results.failures) {
const modules = results.failures[platform].modules;
const failures = modules.map(f => f.name);

output[platform] = failures;
}

console.table(output);
}

formatAsJson() {
const { jobUrl, results, sourceURL } = this;

const result = {
source: sourceURL,
upstream: jobUrl,
...results.failures
};

return JSON.parse(JSON.stringify(result));
}

formatAsMarkdown() {
const { jobUrl, result, results } = this;

if (result === SUCCESS) {
return `Job ${jobUrl} is green.`;
}

let output = `Failures in job ${jobUrl}\n\n`;
for (const failure in results.failures) {
const data = results.failures[failure];
output += `### [${failure}](${data.url})\n\n`;

const failures = data.modules.map(f => f.name);
output += `${failures.join('\n')}\n\n`;
}
return output;
}
}

function filterBuild(builds, type) {
Expand Down