Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-700

Surefire is not isolated from itself

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.4.1, 2.4.2, 2.4.3, 2.5, 2.6, 2.7, 2.7.1, 2.7.2
    • 2.8
    • classloading
    • None

    Description

      The current classloader structure in surefire does not isolate surefire from changes to surefire in itself. This means an interface change in most private interfaces and classes can break the build of surefire itself.

      This is due to the classloader structure systemclassloader<-testclassloader<-providerclassloader, where a modified surefire immediately becomes effective by being loaded in testclassloader.

      This issue will be fixed by making the following structure:

      systemclassloader<-testframeworkclassloader<-testclassloader
      systemclassloader<-testframeworkclassloader<-surefireclassloader

      Pardon the ascii graphics but it seems like jira does not allow me to draw systemclassloader<-testframeworkclassloader as one common root

      Attachments

        1. stage2.patch
          4 kB
          Kristian Rosenvold

        Activity

          People

            krosenvold Kristian Rosenvold
            krosenvold Kristian Rosenvold
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: