The flag is checked when exiting early, but the report update at the end ignores it, causing the test run to be reported as a failure.
Fixes#161.
Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
This commit fixes#137. Some JUnit generators emit an empty failure tag,
with only a message property set. In those cases, the parser crashes
when trying to match the failure with a source file. Since this feature
is optional, the simplest fix is to skip the processing when the failure
tag is empty.
Also added a test, and the corresponding input file is generated from a
reporter within our codebase.
got@v12.x has a dependency on @sindresorhus/is@v5.x and it uses optional chaining operator "?.".
Probably due to issue https://github.com/vercel/ncc/issues/873 this syntax got into our dist/index.js. For some unknown reason it results in error when action is executed in GitHub runner despite the node version is 16.17.
* Fix tests on non us-EN local env
Different locale might result in different alphabetical order of tests in report. Tests using snapshot comparison then fails
* Fix code style
The fast-glob library that is internally used interprets backslashes as escape characters. If enabled, all backslashes in provided path will be replaced by forward slashes and act as directory separators. It might be useful when path input variable is composed dynamically from existing directory paths on Windows.
Closes#127
Previous implementation considered only test-cases with <failure> as failed. This fix makes processing of <error> and <failure> the same. It also handles situation when error or failure elements contains only text and no attributes.
Normally a <testsuites> element has a time field. In some JUnit implementations this field is missing. This issue was found in junit XML created in matlab.
At the moment I don't plan to explicitly support matlab - that would require to add more tests and documentation. However this patch should make it work with the existing java-junit parser.
Print message related to suite, instead of a specific test, would break parsing - it would expect test object to be present in dictionary but there would be none.
This fix adds necessary check and messages not related to tracked tests will be ignored.
GitHub UI for some unknown reason navigates user to check run with `check_suite_focus=true` query argument. With this argument unfortunately navigation to document ID with `#something` doesn't work
Previously we listed tests using markdown tables. Each test group had it's own table and textual preface saying how many tests were executed in what time.
This was completely reworked - now tests are listed inside code block. Grouping is achieved using simple indentation. Duration of individual tests is no longer shown - it produced too much "noise" in the report. Pass/Fail check-mark was also moved before name of test suite.
Behavior of "listTests" option was also changed - now if set to failed, it will list all tests, but only if suite is failed. Otherwise test listing is completely omitted.
Last change affects report trimming - if report is still too big after "listTests" is set to "failed" - it will trim report to fit max size and add informational message at the end.
For some reason the error message from flutter SDK might contain no useful information. Basically it just says that test failed and you should see the logs. Logs itself are provided as content of `print` event. This commit adds special processing for this behavior - it parses actual error message out of print event.