diff --git a/src/pytest_html/nextgen.py b/src/pytest_html/nextgen.py
index ab1d2883..9eba6f8b 100644
--- a/src/pytest_html/nextgen.py
+++ b/src/pytest_html/nextgen.py
@@ -216,6 +216,9 @@ def pytest_runtest_logreport(self, report):
config=self._config, report=report
)
+ if report.longrepr:
+ data["longreprtext"] = report.longreprtext
+
data["outcome"] = _process_outcome(report)
row_cells = self.Cells()
diff --git a/src/pytest_html/scripts/dom.js b/src/pytest_html/scripts/dom.js
index 0c0564ed..4dac0272 100644
--- a/src/pytest_html/scripts/dom.js
+++ b/src/pytest_html/scripts/dom.js
@@ -64,19 +64,20 @@ const dom = {
return header
},
getListHeaderEmpty: () => listHeaderEmpty.content.cloneNode(true),
- getResultTBody: ({ nodeid, longrepr, duration, extras, resultsTableRow, tableHtml, outcome}) => {
+ getResultTBody: ({ nodeid, longreprtext, duration, extras, resultsTableRow, tableHtml, outcome}) => {
const outcomeLower = outcome.toLowerCase()
const resultBody = templateResult.content.cloneNode(true)
resultBody.querySelector('tbody').classList.add(outcomeLower)
resultBody.querySelector('.col-result').innerText = outcome
resultBody.querySelector('.col-name').innerText = nodeid
resultBody.querySelector('.col-duration').innerText = `${formatDuration(duration)}s`
- if (['failed', 'error', 'xfailed', 'xpassed'].includes(outcomeLower)) {
- resultBody.querySelector('.log').innerText = longrepr ?
- longrepr.reprtraceback.reprentries[0].data.lines.join('\n') : ''
+
+ if (longreprtext) {
+ resultBody.querySelector('.log').innerText = longreprtext
} else {
resultBody.querySelector('.extras-row').classList.add('hidden')
}
+
const media = []
extras?.forEach(({ name, format_type, content }) => {
const extraLink = aTag.content.cloneNode(true)