You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2008/03/31 23:10:19 UTC

svn commit: r643150 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-page-manager/pom.xml components/jetspeed-portal/pom.xml pom.xml

Author: ate
Date: Mon Mar 31 14:10:08 2008
New Revision: 643150

URL: http://svn.apache.org/viewvc?rev=643150&view=rev
Log:
Big change: switching maven surefire testcase running to use forkMode=never.

The first reason for wanting to do this is simplyfied support for using m2eclipse plugin (see: m2eclipse.codehaus.org).
This great plugin support running maven 2 on a project pom.xml as well as provides a dynamic maven based classpath container to eclipse.
For debugging testcases, this works perfectly (just set a breakpoint and run the goal), but it only works (for tests) with surefire forkMode=never.

But setting forkMode=never unearthed many, very many, unexpected and unknown (to me) issues and bugs!
It took most of previous week to debug and fix all of them, but as far as I'm concerned, much for the better.

Once I've committed all fixes for the testcases (shortly) a full Jetspeed test build can now be done without need for forking.
Among things, I expect it now to be likely that the Jetspeed Spring container (or maybe even the portal application itself too) can be hot restarted!
I haven't tested it yet (still working on a full portal deployment), but even if there still might be some issues, many now are fixed at least.

BTW: I'm also upgrading to latest Derby 10.3.2.1

WARNING WARNING WARNING
Maven surefire when run with forkMode=never creates new/separate classloaders for each module it executes in, to ensure separate (static) object instances.
As a consequence of this (on a Sun JVM), a full Jetspeed test build now leads to: "java.lang.OutOfMemoryError: PermGen space" :(
It seems the JRocket JVM shouldn't/cannot have this problem and might be interesting to evaluate, but I haven't tested it out yet.
Anyway, for Jetspeed committers and other developers/testers who are required to do a full test build, make sure to set the following evironment variable
to overcome this problem:

  export MAVEN_OPTS="-XX:MaxPermSize=256m"
  

Modified:
    portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/pom.xml
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml
    portals/jetspeed-2/portal/trunk/pom.xml

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/pom.xml?rev=643150&r1=643149&r2=643150&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/pom.xml (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-page-manager/pom.xml Mon Mar 31 14:10:08 2008
@@ -128,8 +128,6 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
-                    <!-- multiple database PageManager related tests require forking for each and every testcase -->
-                    <forkMode>always</forkMode>
                     <excludes>
                         <exclude>**/*$*</exclude>
                         <exclude>**/PageManagerTestShared.java</exclude>

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml?rev=643150&r1=643149&r2=643150&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/pom.xml Mon Mar 31 14:10:08 2008
@@ -241,8 +241,6 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
-                    <!-- some tests require forking -->
-                    <forkMode>always</forkMode>
                     <excludes>
                         <exclude>**/*$*</exclude>
                         <exclude>**/TestAggregator.java</exclude>

Modified: portals/jetspeed-2/portal/trunk/pom.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/pom.xml?rev=643150&r1=643149&r2=643150&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/pom.xml (original)
+++ portals/jetspeed-2/portal/trunk/pom.xml Mon Mar 31 14:10:08 2008
@@ -320,7 +320,7 @@
     <myfaces.version>1.1.5</myfaces.version>
     <nekohtml.version>0.9.5</nekohtml.version>
     <ojb.version>1.0.3</ojb.version>
-    <org.apache.derby.version>10.1.1.0</org.apache.derby.version>
+    <org.apache.derby.version>10.3.2.1</org.apache.derby.version>
     <org.apache.pluto.version>1.0.1</org.apache.pluto.version>
     <org.apache.portals.bridges.common.version>1.0.3</org.apache.portals.bridges.common.version>
     <org.apache.portals.bridges.frameworks.version>1.0.3</org.apache.portals.bridges.frameworks.version>
@@ -1173,6 +1173,7 @@
           <configuration>
             <disableXmlReport>true</disableXmlReport>
             <trimStackTrace>false</trimStackTrace>
+            <forkMode>never</forkMode>
             <redirectTestOutputToFile>true</redirectTestOutputToFile>
 
             <!-- workaround for still not fixed SUREFIRE-288: Surefire tries to instantiate nested TestCase classes -->
@@ -1182,19 +1183,19 @@
             <!-- database related tests system properties -->
             <systemProperties>
               <property>
-                <name>org.apache.jetspeed.test.database.user</name>
+                <name>org.apache.jetspeed.database.user</name>
                 <value>${org.apache.jetspeed.test.database.user}</value>
               </property>
               <property>
-                <name>org.apache.jetspeed.test.database.password</name>
+                <name>org.apache.jetspeed.database.password</name>
                 <value>${org.apache.jetspeed.test.database.password}</value>
               </property>
               <property>
-                <name>org.apache.jetspeed.test.database.url</name>
+                <name>org.apache.jetspeed.database.url</name>
                 <value>${org.apache.jetspeed.test.database.url}</value>
               </property>
               <property>
-                <name>org.apache.jetspeed.test.database.driver</name>
+                <name>org.apache.jetspeed.database.driver</name>
                 <value>${org.apache.jetspeed.test.database.driver}</value>
               </property>
             </systemProperties>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org