SF.net SVN: jikesrvm:[15767] rvmroot/trunk

View: New views
1 Messages — Rating Filter:   Alert me  

SF.net SVN: jikesrvm:[15767] rvmroot/trunk

by dgrove-oss :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Revision: 15767
          http://jikesrvm.svn.sourceforge.net/jikesrvm/?rev=15767&view=rev
Author:   dgrove-oss
Date:     2009-08-14 21:19:29 +0000 (Fri, 14 Aug 2009)

Log Message:
-----------
DaCapo xalan requires the VM to use a specific version of xalan,
which is not the same version found in modern JVM class libraries.
Add plumbing to tests.xml to allow test-specific settings of the
VM's bootclasspath and then use this mechanism in the dacapo build.xml
to ensure that the xalan code taken from the xalan.jar extracted from
dacapo.jar is loaded in preference to whatever xalan version may be
built-in to the classlibarary.

Modified Paths:
--------------
    rvmroot/trunk/build/tests.xml
    rvmroot/trunk/testing/tests/dacapo/build.xml

Modified: rvmroot/trunk/build/tests.xml
===================================================================
--- rvmroot/trunk/build/tests.xml 2009-08-12 18:36:49 UTC (rev 15766)
+++ rvmroot/trunk/build/tests.xml 2009-08-14 21:19:29 UTC (rev 15767)
@@ -409,6 +409,7 @@
     <attribute name="class"/>
     <attribute name="args" default=""/>
     <attribute name="classpath" default=""/>
+    <attribute name="bootclasspath" default=""/>
     <attribute name="processors" default=""/>
     <attribute name="initialHeapSize" default=""/>
     <attribute name="maxHeapSize" default=""/>
@@ -423,6 +424,7 @@
                   class="@{class}"
                   args="@{args}"
                   classpath="@{classpath}"
+                  bootclasspath="@{bootclasspath}"
                   processors="@{processors}"
                   initialHeapSize="@{initialHeapSize}"
                   maxHeapSize="@{maxHeapSize}"
@@ -441,6 +443,7 @@
     <attribute name="class"/>
     <attribute name="args" default=""/>
     <attribute name="classpath" default=""/>
+    <attribute name="bootclasspath" default=""/>
     <attribute name="processors" default=""/>
     <attribute name="initialHeapSize" default=""/>
     <attribute name="maxHeapSize" default=""/>
@@ -474,6 +477,7 @@
       <setTestProperty tag="@{tag}" key="extra.args" default="@{rvmArgs}"/>
       <setTestProperty tag="@{tag}" key="extra.rvm.args" default=""/>
       <setTestProperty tag="@{tag}" key="class.path" default="${default.test.@{tag}.classpath}"/>
+      <setTestProperty tag="@{tag}" key="bootclass.path" default="@{bootclasspath}"/>
       <setTestProperty tag="@{tag}" key="time.limit" default="${default.test.@{tag}.timeLimit}"/>
       <setTestProperty tag="@{tag}" key="initial.heapsize" default="${default.test.@{tag}.initialHeapSize}"/>
       <setTestProperty tag="@{tag}" key="max.heapsize" default="${default.test.@{tag}.maxHeapSize}"/>
@@ -512,7 +516,7 @@
       <property name="test.@{tag}.rvm.wrapper-args" value=""/>
 
       <property name="test.@{tag}.command"
-                value='${rvm.exe} ${test.@{tag}.rvm.args} -classpath "${test.@{tag}.class.path}" ${test.@{tag}.class} ${test.@{tag}.args}'/>
+                value='${rvm.exe} ${test.@{tag}.rvm.args} ${test.@{tag}.bootclass.path} -classpath "${test.@{tag}.class.path}" ${test.@{tag}.class} ${test.@{tag}.args}'/>
     </sequential>
   </macrodef>
 
@@ -557,7 +561,7 @@
             <arg line="-o ${test.@{tag}.@{execution}.output.file}"/>
 
             <!-- The RVM execution -->
-            <arg line="${rvm.exe} ${test.@{tag}.rvm.args}"/>
+            <arg line="${rvm.exe} ${test.@{tag}.rvm.args} ${test.@{tag}.bootclass.path}"/>
             <arg value="-classpath"/>
             <arg value="${test.@{tag}.class.path}"/>
             <arg line="${test.@{tag}.class} ${test.@{tag}.args}"/>
@@ -613,6 +617,7 @@
     <attribute name="tag"/>
     <attribute name="class"/>
     <attribute name="classpath" default=""/>
+    <attribute name="bootclasspath" default=""/>
     <attribute name="args" default=""/>
     <attribute name="execution" default="default"/>
     <attribute name="initialHeapSize" default=""/>
@@ -624,6 +629,7 @@
            class="@{class}"
            args="@{args}"
            classpath="@{classpath}"
+           bootclasspath="@{bootclasspath}"
            initialHeapSize="@{initialHeapSize}"
            maxHeapSize="@{maxHeapSize}"
            rvmArgs="@{rvmArgs}"

Modified: rvmroot/trunk/testing/tests/dacapo/build.xml
===================================================================
--- rvmroot/trunk/testing/tests/dacapo/build.xml 2009-08-12 18:36:49 UTC (rev 15766)
+++ rvmroot/trunk/testing/tests/dacapo/build.xml 2009-08-14 21:19:29 UTC (rev 15767)
@@ -25,13 +25,23 @@
 
   <property name="test.class.path" value="${dacapo.jar}"/>
 
+  <target name="extract-xalan-jar" depends="init">
+    <test-file name="dacapo.jar" location="${jikesrvm.dir}/.ant.properties"/>
+    <unzip src="${dacapo.jar}" dest="${build.tests.dir}">
+      <patternset>
+        <include name="xalan.jar"/>
+      </patternset>
+    </unzip>
+  </target>
+
   <macrodef name="dacapo">
     <attribute name="name"/>
     <attribute name="timeLimit" default=""/>
     <attribute name="heapsize" default=""/>
     <attribute name="requires-display" default="false"/>
+    <attribute name="bootclasspath" default=""/>
     <sequential>
-      <rvm tag="@{name}" class="Harness" requires-display="@{requires-display}" args="@{name}" timeLimit="@{timeLimit}" maxHeapSize="@{heapsize}"/>
+      <rvm tag="@{name}" class="Harness" requires-display="@{requires-display}" args="@{name}" timeLimit="@{timeLimit}" maxHeapSize="@{heapsize}" bootclasspath="@{bootclasspath}"/>
       <outputSingleStatisticResults tag="@{name}" key="time" pattern="===== DaCapo @{name} PASSED in (.*) msec ====="/>
     </sequential>
   </macrodef>
@@ -42,7 +52,7 @@
   <!-- *                                                                          * -->
   <!-- **************************************************************************** -->
 
-  <target name="test" depends="init">
+  <target name="test" depends="init,extract-xalan-jar">
     <test-file name="dacapo.jar" location="${jikesrvm.dir}/.ant.properties"/>
 
     <startResults/>
@@ -58,7 +68,7 @@
     <dacapo name="luindex"  heapsize="120"/>
     <dacapo name="lusearch" heapsize="300"/>
     <dacapo name="pmd"      heapsize="200"/>
-    <dacapo name="xalan"    heapsize="150"/>
+    <dacapo name="xalan"    heapsize="150" bootclasspath="-Xbootclasspath/p:xalan.jar" />
 
     <finishResults/>
   </target>


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jikesrvm-commits mailing list
Jikesrvm-commits@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-commits