Maven Surefire
  1. Maven Surefire
  2. SUREFIRE-730

JUnit4RunListener does not report results from concurrently running tests correctly

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.5, 2.8.1
    • Fix Version/s: 2.9
    • Component/s: Junit 4.x support
    • Labels:
      None
    • Complexity:
      Intermediate
    • Testcase included:
      yes
    • Patch Submitted:
      Yes
    • Number of attachments :
      1

      Description

      JUnit4Listener determines succesful pass of a test via a single boolean flag on the class that is set when a test to "true" when a test is started, set to "false" when a test failed, and checked after a test finishes. If all the tests run in serial, this scheme works, but when the tests are all run in parallel, after the first failed test no other successful tests will be reported as having been run (because after the flag is set to "fail" nothing ever resets it - all the tests have already started).

      It would be simple to fix this by changing the single failure flag to a hash map of tests to pass/fail flags, and such a change would greatly improve my quality of life.

        Activity

        Hide
        Kristian Rosenvold added a comment -

        Thanks a lot for this report, it's the root cause of a number of other bugs we have in the issue trackers.

        Fixed with a slightly different patch and a unit test in r1095165.

        Show
        Kristian Rosenvold added a comment - Thanks a lot for this report, it's the root cause of a number of other bugs we have in the issue trackers. Fixed with a slightly different patch and a unit test in r1095165.

          People

          • Assignee:
            Kristian Rosenvold
            Reporter:
            James Neal
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: