diff --git a/report/js/reports-parser.js b/report/js/reports-parser.js index 7e0a886..d165063 100644 --- a/report/js/reports-parser.js +++ b/report/js/reports-parser.js @@ -132,16 +132,28 @@ async function createReportTableRow(report) { } row.appendChild(statusCell); // Parse the JUnit XML report file to show status of each federation - const jUnitXMLReport = await Promise.resolve(parseJUnitXML(report.junitxml)); - for (const [key, value] of Object.entries(FEDERATION_URL_NAME_MAPPING)) { - const federationCell = document.createElement("td"); - const test = jUnitXMLReport.find((test) => test.name === value); - if (test.status === "passed") { - federationCell.innerHTML = '<span style="color: green">✔</span>'; - } else { - federationCell.innerHTML = '<span style="color: red">☓</span>'; + if (report.junitxml) { + console.log("Read JUnitXML report: ", report.junitxml); + const jUnitXMLReport = await Promise.resolve( + parseJUnitXML(report.junitxml) + ); + for (const [key, value] of Object.entries(FEDERATION_URL_NAME_MAPPING)) { + const federationCell = document.createElement("td"); + const test = jUnitXMLReport.find((test) => test.name === value); + if (test.status === "passed") { + federationCell.innerHTML = '<span style="color: green">✔</span>'; + } else { + federationCell.innerHTML = '<span style="color: red">☓</span>'; + } + row.appendChild(federationCell); + } + } else { + console.log("No JUnitXML report found for: ", report.link); + for (const [key, value] of Object.entries(FEDERATION_URL_NAME_MAPPING)) { + const federationCell = document.createElement("td"); + federationCell.innerHTML = '<span style="color: #999;">n/a</span>'; + row.appendChild(federationCell); } - row.appendChild(federationCell); } // Append the row to the table body tableBody.appendChild(row);