You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2018/12/27 09:29:31 UTC

svn commit: r1849791 - in /webservices/axiom/trunk: pom.xml systests/eclipse-tests/pom.xml systests/wildfly-tests/pom.xml

Author: veithen
Date: Thu Dec 27 09:29:31 2018
New Revision: 1849791

URL: http://svn.apache.org/viewvc?rev=1849791&view=rev
Log:
Use a Maven plugin to compute a security policy to enforce test hermeticity.

Modified:
    webservices/axiom/trunk/pom.xml
    webservices/axiom/trunk/systests/eclipse-tests/pom.xml
    webservices/axiom/trunk/systests/wildfly-tests/pom.xml

Modified: webservices/axiom/trunk/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/pom.xml?rev=1849791&r1=1849790&r2=1849791&view=diff
==============================================================================
--- webservices/axiom/trunk/pom.xml (original)
+++ webservices/axiom/trunk/pom.xml Thu Dec 27 09:29:31 2018
@@ -579,7 +579,7 @@
                              the data instead of loading it into memory). Obviously, the execution time of
                              these tests also are proportional to the heap size. To accelerate the execution
                              of the tests, we should use a heap size as small as possible. -->
-                        <argLine>${argLine} -Xms16m -Xmx48m ${securityManagerArgs}</argLine>
+                        <argLine>${argLine} -Xms16m -Xmx48m</argLine>
                         <trimStackTrace>false</trimStackTrace>
                         <systemProperties>
                             <property>
@@ -619,7 +619,6 @@
                     <artifactId>maven-failsafe-plugin</artifactId>
                     <version>2.19</version>
                     <configuration>
-                        <argLine>${argLine} ${securityManagerArgs}</argLine>
                         <trimStackTrace>false</trimStackTrace>
                         <systemProperties>
                             <property>
@@ -938,51 +937,6 @@
                         </configuration>
                     </execution>
                     <execution>
-                        <id>generate-policy-file</id>
-                        <phase>generate-test-resources</phase>
-                        <goals>
-                            <goal>execute</goal>
-                        </goals>
-                        <configuration>
-                            <scripts>
-                                <script><![CDATA[
-                                    import static groovy.json.StringEscapeUtils.escapeJava
-                                    
-                                    if (project.packaging != 'pom' && project.properties['hermeticTests'] == 'true') {
-                                        new File(project.build.directory, "test.policy").withWriter { out ->
-                                            out.println "grant {"
-                                            out.println """  permission java.io.FilePermission "${escapeJava(System.properties.'java.home')}\${/}-", "read";"""
-                                            out.println """  permission java.io.FilePermission "${escapeJava(session.settings.localRepository)}\${/}-", "read";"""
-                                            session.sortedProjects.each({
-                                                out.println """  permission java.io.FilePermission "${escapeJava(it.build.directory)}\${/}*", "read";"""
-                                            })
-                                            out.println """  permission java.io.FilePermission "${escapeJava(project.basedir.absolutePath)}\${/}-", "read";"""
-                                            out.println """  permission java.io.FilePermission "${escapeJava(project.build.directory)}", "read,write";"""
-                                            out.println """  permission java.io.FilePermission "${escapeJava(project.build.directory)}\${/}-", "read,write,delete";"""
-                                            out.println """  permission java.lang.RuntimePermission "*";"""
-                                            out.println """  permission java.lang.management.ManagementPermission "monitor";"""
-                                            out.println """  permission java.lang.reflect.ReflectPermission "*";"""
-                                            out.println """  permission java.net.NetPermission "*";"""
-                                            out.println """  permission java.net.SocketPermission "localhost", "connect,listen,accept,resolve";"""
-                                            out.println """  permission java.security.SecurityPermission "*";"""
-                                            out.println """  permission java.util.PropertyPermission "*", "read,write";"""
-                                            out.println """  permission javax.management.MBeanPermission "*", "*";"""
-                                            out.println """  permission javax.management.MBeanServerPermission "*";"""
-                                            out.println """  permission javax.management.MBeanTrustPermission "*";"""
-                                            out.println """  permission javax.xml.ws.WebServicePermission "publishEndpoint";"""
-                                            out.println """  permission org.osgi.framework.AdminPermission "*", "*";"""
-                                            out.println """  permission org.osgi.framework.ServicePermission "*", "register,get";"""
-                                            out.println "};"
-                                        }
-                                        project.properties['securityManagerArgs'] = '-Djava.security.manager -Djava.security.policy=' + project.build.directory.replace('\\', '/') + '/test.policy'
-                                    } else {
-                                        project.properties['securityManagerArgs'] = ''
-                                    }
-                                ]]></script>
-                            </scripts>
-                        </configuration>
-                    </execution>
-                    <execution>
                         <id>check-tmp-dir</id>
                         <phase>verify</phase>
                         <goals>
@@ -1051,6 +1005,18 @@
                 </configuration>
             </plugin>
             <plugin>
+                <groupId>com.github.veithen.maven</groupId>
+                <artifactId>hermetic-maven-plugin</artifactId>
+                <version>0.1.0-SNAPSHOT</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generate-policy</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>animal-sniffer-maven-plugin</artifactId>
                 <version>1.17</version>

Modified: webservices/axiom/trunk/systests/eclipse-tests/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/systests/eclipse-tests/pom.xml?rev=1849791&r1=1849790&r2=1849791&view=diff
==============================================================================
--- webservices/axiom/trunk/systests/eclipse-tests/pom.xml (original)
+++ webservices/axiom/trunk/systests/eclipse-tests/pom.xml Thu Dec 27 09:29:31 2018
@@ -33,7 +33,7 @@
 
     <properties>
         <!-- TODO -->
-        <hermeticTests>false</hermeticTests>
+        <nonHermeticTests>true</nonHermeticTests>
     </properties>
 
     <repositories>

Modified: webservices/axiom/trunk/systests/wildfly-tests/pom.xml
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/systests/wildfly-tests/pom.xml?rev=1849791&r1=1849790&r2=1849791&view=diff
==============================================================================
--- webservices/axiom/trunk/systests/wildfly-tests/pom.xml (original)
+++ webservices/axiom/trunk/systests/wildfly-tests/pom.xml Thu Dec 27 09:29:31 2018
@@ -35,7 +35,7 @@
         <wildfly.version>14.0.1.Final</wildfly.version>
         <wildfly.home>${project.build.directory}/wildfly-${wildfly.version}</wildfly.home>
         <wildfly.jigsawArgs></wildfly.jigsawArgs>
-        <hermeticTests>false</hermeticTests>
+        <nonHermeticTests>true</nonHermeticTests>
     </properties>
 
     <dependencies>