You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Bing Xu (Jira)" <ji...@apache.org> on 2024/10/10 23:56:00 UTC
[jira] [Created] (SUREFIRE-2277) The value of RunResult flakes field is lost during serialisation and deserialisation to and from failsafe-summary.xml
Bing Xu created SUREFIRE-2277:
---------------------------------
Summary: The value of RunResult flakes field is lost during serialisation and deserialisation to and from failsafe-summary.xml
Key: SUREFIRE-2277
URL: https://issues.apache.org/jira/browse/SUREFIRE-2277
Project: Maven Surefire
Issue Type: Bug
Components: Maven Failsafe Plugin, Maven Surefire Plugin
Affects Versions: 3.5.1
Reporter: Bing Xu
Hello from Atlassian,
I have found a bug in `RunResult.testAppendSerialization`. I don't think it should be passing on master.
This test creates a `RunResult` object in-memory, serialises it, writes it to disk and then again deserialises the same file into a `RunResult` in-memory. I have run the test with the debugger and found that the final in-memory `RunResult` object is not the same as the initial one. The test is only passing because the `RunResult.flakes` field is not being considered in the `RunResult.equals` method (and the RunResult.equals method is used in the assertion within the test `RunResult.testAppendSerialization`).
This is due to a bug in how the RunResult is converted to a `failsafe-summary.xml`. In the function `FailsafeSummaryXmlUtils.fromRunResultToFile`, `RunResult.flakes` is not written to the xml. To fix this issue, I have modified the `failsafe-summary.xsd` to include <Flakes>, which will allow Flakes to be persisted in the `failsafe-summary.xml`. I have also changed the serialisation and deserialisation methods for `RunResult` to account for `flakes`.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)