[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues-test.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16265597#comment-16265597 ] Marc Philipp commented on SUREFIRE-1445: AFAIK that should fix it and this issue can be closed. Thanks! > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues-test.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v7.6.0#76001)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues-test.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16265595#comment-16265595 ] Tibor Digana commented on SUREFIRE-1445: [~marcphilipp] In 2.21.0 which is going to be released very soon Can we close this issue or is there anything more to do? > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues-test.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v7.6.0#76001)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues-test.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16265594#comment-16265594 ] Marc Philipp commented on SUREFIRE-1445: [~tibor17] A fix for this issue has already been merged to master, right? [https://github.com/apache/maven-surefire/commit/302094ef2a7103d1a72b798443995a7d2b3b6702] In which version will this fix be released? > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues-test.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Priority: Blocker > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v7.6.0#76001)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16325253#comment-16325253 ] Hudson commented on SUREFIRE-1445: -- ABORTED: Integrated in Jenkins build maven-surefire-dev #103 (See [https://builds.apache.org/job/maven-surefire-dev/103/]) [SUREFIRE-1445] Explicitly define SurefireProperties#putAll (tibor17: [http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git=commit=302094ef2a7103d1a72b798443995a7d2b3b6702]) * (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java * (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275665#comment-16275665 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user acogoluegnes closed the pull request at: https://github.com/apache/maven-surefire/pull/171 > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275640#comment-16275640 ] Hudson commented on SUREFIRE-1445: -- SUCCESS: Integrated in Jenkins build maven-surefire #1806 (See [https://builds.apache.org/job/maven-surefire/1806/]) [SUREFIRE-1445] Explicitly define SurefireProperties#putAll (tibor17: [http://git-wip-us.apache.org/repos/asf/?p=maven-surefire.git=commit=302094ef2a7103d1a72b798443995a7d2b3b6702]) * (edit) maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java * (edit) maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275607#comment-16275607 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on the issue: https://github.com/apache/maven-surefire/pull/171 @acogoluegnes Thx for support regarding Java 9. Please close this PR. I extended the test and already pushed to master. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16274184#comment-16274184 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user acogoluegnes commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r154307933 --- Diff: maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java --- @@ -70,9 +70,35 @@ public void testConstructWithOther() src.setProperty( "b", "2" ); SurefireProperties orderedProperties = new SurefireProperties( src ); // Cannot make assumptions about insertion order -assertEquals( 2, orderedProperties.size() ); - +int expectedCount = 0; +// keys() uses the items property, more reliable to test than size(), +// which is based on the Properties class +// see https://issues.apache.org/jira/browse/SUREFIRE-1445 +Enumeration keys = orderedProperties.keys(); +while ( keys.hasMoreElements() ) { +keys.nextElement(); +expectedCount++; +} +assertEquals( 2, expectedCount ); --- End diff -- Got it, done. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16273370#comment-16273370 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r154193802 --- Diff: maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java --- @@ -70,9 +70,35 @@ public void testConstructWithOther() src.setProperty( "b", "2" ); SurefireProperties orderedProperties = new SurefireProperties( src ); // Cannot make assumptions about insertion order -assertEquals( 2, orderedProperties.size() ); - +int expectedCount = 0; +// keys() uses the items property, more reliable to test than size(), +// which is based on the Properties class +// see https://issues.apache.org/jira/browse/SUREFIRE-1445 +Enumeration keys = orderedProperties.keys(); +while ( keys.hasMoreElements() ) { +keys.nextElement(); +expectedCount++; +} +assertEquals( 2, expectedCount ); --- End diff -- We missed one method I mentioned before. Can you add an assert that method `getStringKeySet()` returns same elements like it is in `keys()`. Maybe this will help: `java.util.Collections#list(Enumeration): List` We can do it in both tests. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16270542#comment-16270542 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user acogoluegnes commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153745052 --- Diff: maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java --- @@ -70,9 +70,16 @@ public void testConstructWithOther() src.setProperty( "b", "2" ); SurefireProperties orderedProperties = new SurefireProperties( src ); // Cannot make assumptions about insertion order -assertEquals( 2, orderedProperties.size() ); - - +int expectedCount = 0; +// keys() uses the items property, more reliable to test than size(), +// which is based on the Properties class +// see https://issues.apache.org/jira/browse/SUREFIRE-1445 +Enumeration keys = orderedProperties.keys(); +while (keys.hasMoreElements()) { +keys.nextElement(); +expectedCount++; +} +assertEquals( 2, expectedCount ); --- End diff -- I don't get it. I used `keys()` on purpose because it relies on `items`, which was not in-sync in the first place. `getStringKeySet()` relies `keySet()`, which uses the base class. Both would work, but `getStringKeySet()` doesn't catch the bug. Does that make sense? > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16270543#comment-16270543 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user acogoluegnes commented on the issue: https://github.com/apache/maven-surefire/pull/171 @Tibor17 Thanks for reviewing! I pushed a new version. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16269699#comment-16269699 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153654392 --- Diff: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java --- @@ -71,13 +71,22 @@ public SurefireProperties( KeyValueSource source ) } } +@Override +public synchronized void putAll(Map t) { +for (Map.Entry entry : t.entrySet()) { +this.put(entry.getKey(), entry.getValue()); +} +} + @Override public synchronized Object put( Object key, Object value ) { items.add( key ); return super.put( key, value ); } + + --- End diff -- Here only one empty line between two methods. Feel free to remove these two you have added. Thx. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16269675#comment-16269675 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153653384 --- Diff: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java --- @@ -71,13 +71,22 @@ public SurefireProperties( KeyValueSource source ) } } +@Override +public synchronized void putAll(Map t) { --- End diff -- Please keep using one commir in PR. I recommend you to do `git commit--amend` and then forced push `git push origin +master`. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16269669#comment-16269669 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153652515 --- Diff: maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java --- @@ -70,9 +70,16 @@ public void testConstructWithOther() src.setProperty( "b", "2" ); SurefireProperties orderedProperties = new SurefireProperties( src ); // Cannot make assumptions about insertion order -assertEquals( 2, orderedProperties.size() ); - - +int expectedCount = 0; +// keys() uses the items property, more reliable to test than size(), +// which is based on the Properties class +// see https://issues.apache.org/jira/browse/SUREFIRE-1445 +Enumeration keys = orderedProperties.keys(); +while (keys.hasMoreElements()) { +keys.nextElement(); +expectedCount++; +} +assertEquals( 2, expectedCount ); --- End diff -- Can you do the same assert with `getStringKeySet()`? This is fine you added but can you add a new test explicitly calling putAll()? > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16269660#comment-16269660 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153652056 --- Diff: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java --- @@ -71,13 +71,22 @@ public SurefireProperties( KeyValueSource source ) } } +@Override +public synchronized void putAll(Map t) { +for (Map.Entry entry : t.entrySet()) { +this.put(entry.getKey(), entry.getValue()); --- End diff -- The constructor also has "this.". Please remove it as well. Thx. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Assignee: Tibor Digana >Priority: Blocker > Fix For: 2.21.0.Jigsaw > > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16269643#comment-16269643 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153650568 --- Diff: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java --- @@ -71,13 +71,22 @@ public SurefireProperties( KeyValueSource source ) } } +@Override +public synchronized void putAll(Map t) { +for (Map.Entry entry : t.entrySet()) { +this.put(entry.getKey(), entry.getValue()); --- End diff -- "this." is not necessary. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Priority: Blocker > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16269641#comment-16269641 ] ASF GitHub Bot commented on SUREFIRE-1445: -- Github user Tibor17 commented on a diff in the pull request: https://github.com/apache/maven-surefire/pull/171#discussion_r153650439 --- Diff: maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java --- @@ -71,13 +71,22 @@ public SurefireProperties( KeyValueSource source ) } } +@Override +public synchronized void putAll(Map t) { --- End diff -- We have different conventions. Please see the spaces around brackets and new lines. The checkstyle plugin would crash the build. Did you try to run "mvn install -P run-its"? It would take quite long time to complete the build, cca one hour. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Priority: Blocker > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (SUREFIRE-1445) Properties from configuration POM are not passed to Provider on JDK 9
[ https://issues.apache.org/jira/browse/SUREFIRE-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16266836#comment-16266836 ] ASF GitHub Bot commented on SUREFIRE-1445: -- GitHub user acogoluegnes opened a pull request: https://github.com/apache/maven-surefire/pull/171 [SUREFIRE-1445] Explicitly define SurefireProperties#putAll This ensures the overriden put method is called and the items property is updated. You can merge this pull request into a Git repository by running: $ git pull https://github.com/acogoluegnes/maven-surefire SUREFIRE-1445 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/maven-surefire/pull/171.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #171 commit 163077f3b9844b94f931ee8cfe573be97b8437bc Author: Arnaud CogoluègnesDate: 2017-11-27T13:54:30Z [SUREFIRE-1445] Explicitly define SurefireProperties#putAll This ensures the overriden put method is called and the items property is updated. > Properties from configuration POM are not passed to Provider on JDK 9 > - > > Key: SUREFIRE-1445 > URL: https://issues.apache.org/jira/browse/SUREFIRE-1445 > Project: Maven Surefire > Issue Type: Bug > Components: Maven Failsafe Plugin, Maven Surefire Plugin >Affects Versions: 2.19.1, 2.20, 2.20.1 > Environment: JDK 9 >Reporter: Marc Philipp >Priority: Blocker > > Given the POM below, the {{JUnitPlatformProvider}} can read {{"excludeTags"}} > = {{"slow"}} from {{ProviderParameters.getProviderProperties()}} when it runs > on JDK 8 but not on JDK 9. > The reason is that the constructor of {{SurefireProperties}} relies on an > implementation detail of the class it extends, namely that {{putAll()}} will > call {{put()}} for each entry. However, while {{Properties}} does that on JDK > 8, it doesn't on JDK 9. > Here's a link to the line in {{SurefireProperties}}: > https://github.com/apache/maven-surefire/blob/master/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java#L62 > {code:xml} > > http://maven.apache.org/POM/4.0.0; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 > http://maven.apache.org/xsd/maven-4.0.0.xsd;> > 4.0.0 > junit5 > tagging > 1.0-SNAPSHOT > > > > maven-surefire-plugin > 2.19.1 > > > slow > > > > > org.junit.platform > > junit-platform-surefire-provider > 1.0.2 > > > org.junit.jupiter > junit-jupiter-engine > 5.0.2 > > > > > > > > org.junit.jupiter > junit-jupiter-api > 5.0.2 > test > > > > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)