Merge branch 'main' into issue-208-java-junit-show-annotations-on-pr-changed-files

This commit is contained in:
Michal Dorner 2022-11-29 09:41:00 +01:00
commit 6af36d9ecf
No known key found for this signature in database
GPG key ID: 7325B8B59CA1B65C
4 changed files with 32 additions and 8 deletions

View file

@ -0,0 +1,2 @@
<?xml version='1.0' encoding='utf-8'?>
<testsuites name="my_package.test_foo" tests="3" failures="1" errors="0" time="6.79"><testsuite name="my_package.test_foo.launch_tests" tests="3" failures="1" errors="0" skipped="0" time="6.79"><testcase classname="my_package.TestFoo" name="test_normal_case" time="2.172" /><testcase classname="my_package.TestFoo" name="test_other_case" time="4.558"><failure message="Traceback (most recent call last):&#10; File &quot;/home/redacted/test_foo.py&quot;, line 183, in test_other_case&#10; self.assertFalse(True)&#10;AssertionError: True is not false&#10;" /></testcase><testcase classname="my_package.TestFoo" name="test_yet_another_case" time="0.06" /></testsuite></testsuites>

View file

@ -72,4 +72,22 @@ describe('java-junit tests', () => {
fs.mkdirSync(path.dirname(outputPath), {recursive: true})
fs.writeFileSync(outputPath, report)
})
it('parses empty failures in test results', async () => {
const fixturePath = path.join(__dirname, 'fixtures', 'external', 'java', 'empty_failures.xml')
const filePath = normalizeFilePath(path.relative(__dirname, fixturePath))
const fileContent = fs.readFileSync(fixturePath, {encoding: 'utf8'})
const trackedFiles: string[] = []
const opts: ParseOptions = {
parseErrors: true,
trackedFiles
}
const parser = new JavaJunitParser(opts)
const result = await parser.parse(filePath, fileContent)
expect(result.result === 'failed')
expect(result.failed === 1)
})
})

10
dist/index.js generated vendored
View file

@ -1038,10 +1038,12 @@ class JavaJunitParser {
const details = typeof failure === 'object' ? failure._ : failure;
let filePath;
let line;
const src = this.exceptionThrowSource(details);
if (src) {
filePath = src.filePath;
line = src.line;
if (details != null) {
const src = this.exceptionThrowSource(details);
if (src) {
filePath = src.filePath;
line = src.line;
}
}
return {
path: filePath,

View file

@ -129,10 +129,12 @@ export class JavaJunitParser implements TestParser {
let filePath
let line
const src = this.exceptionThrowSource(details)
if (src) {
filePath = src.filePath
line = src.line
if (details != null) {
const src = this.exceptionThrowSource(details)
if (src) {
filePath = src.filePath
line = src.line
}
}
return {