The outcome of the report happens to be incorrect in 2 scenarios.
- A project is created with FailedThreshold/unstableThreshold set to 1 because there's 1 test expected to fail in the next run
- Job N starts executing, execution time will take minutes
- FailedThreshold/unstableThreshold gets adjusted to 0 because the test is expected to pass in the next run
- Job N terminates: the execution is then reported as UNSTABLE instead of the expected SUCCESS by the xUnit publisher, which wrongly uses the adjusted threshold (0) instead of the one configured at startup (1)
- A parallel section is defined with 2 test steps (A and B), each one with FailedThreshold/unstableThreshold set to 0
- test step A will generate 1 test failure
- test step B will generate 0 test failure
- test steps starts in parallel
- test step A terminates with 1 test failure: the execution is correctly reported as UNSTABLE
- test step B terminates with 0 test failure: the execution is wrongly reported as UNSTABLE
When test step B terminates before test step A, that's the other way around: test step B is correctly reported as SUCCESS, then test step A is wrongly reported as SUCCESS.