You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by sm...@apache.org on 2007/10/10 17:06:41 UTC

svn commit: r583505 [1/4] - in /harmony/enhanced/buildtest/branches/2.0: adaptors/mauve_test/ tests/mauve_test/

Author: smishura
Date: Wed Oct 10 08:06:40 2007
New Revision: 583505

URL: http://svn.apache.org/viewvc?rev=583505&view=rev
Log:
Apply patch from HARMONY-4828:
([buildtest] New test suite for mauve unit test.)

Added:
    harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/
    harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/MAUVE.BTI.README.txt   (with props)
    harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/adaptor.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/parameters.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/mauve_test/
    harmony/enhanced/buildtest/branches/2.0/tests/mauve_test/all.include.list.txt
    harmony/enhanced/buildtest/branches/2.0/tests/mauve_test/include.list.txt   (with props)

Added: harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/MAUVE.BTI.README.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/MAUVE.BTI.README.txt?rev=583505&view=auto
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/MAUVE.BTI.README.txt (added)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/MAUVE.BTI.README.txt Wed Oct 10 08:06:40 2007
@@ -0,0 +1,86 @@
+        ================================================
+        Running Muave Unit Tests under BT infrastructure
+        ================================================
+
+
+This document describes how to run Mauve Unit Test on Apache Harmony
+within Apache Harmony Build&Test infrastructure.
+Please see BTI's README.txt for general instructions on BT usage. 
+The following platforms are currently supported: Linux x86, Linux x86_64.
+
+---------------
+Archive Content
+---------------
+
+This archive contains scripts for running Mauve Test within BT. 
+The directories structure within BT trunk directory is as follows:
+
++<BTI trunk>/
+|-+adaptors/                        - scripts connecting test suites to BTI (called "adaptors")
+|  |
+|  |-+mauve_test/                   - mauve_test suite adaptor directory
+|     |
+|     |--adaptor.xml                - mauve_test suite adaptor
+|     |
+|     |--MAUVE.BTI.README.txt       - this readme file
+|     |
+|     |--parameters.xml             - parameters file
+|
+|-+tests/                           - test suites integrated into BTI
+   |
+   |-+muave_test/                   - mauve_test scripts directory
+      |
+      |--all.include.list.txt       - all test list that can run within harmony jre
+      |
+      |--include.list.txt           - test list can pass 100% within RI
+      |
+
+-----------------------------------------------------------------
+Running Mauve Unit Tests on Harmony JRE under BT infrastructure
+-----------------------------------------------------------------
+
+1. Follow instructions from <BTI trunk>/README.txt to satisfy general BTI
+   pre-requisites (install necessary software, specify environment variables,
+   specify proxy settings if necessary).
+
+2. Unpack this archive to <BTI trunk> directory
+
+3. Perform setup:
+
+     buildtest -Dtest.suites="classlib,drlvm,mauve_test" setup
+
+4. Configure Mauve Test for BT
+
+   * Modify platform specific include.list in <BTI trunk>/tests/mauve_test if necessary. 
+     You can change the ${required.test.list} in <BTI trunk>/adaptors/mauve_test/parameters.xml 
+     for the wanted test list to run. Default is the all.include.list.txt.
+
+   * Copy ecj_3.2.2.jar downloaded by BTI from <BTI trunk>/build/jar
+     to your ${ANT_HOME}/lib, since the mauve test need to compiled by ecj.jar.
+
+   * Make sure configure the mauve test first, since by default the compilation is compiled by make.
+     There are still some variable undefined in <mauve_src>/gnu/testlet/config.java.in.
+     You can configure it by "./configure", it will set the variable and change the file to cofig.java.
+     You can finish it manually. Refer to <mauve_src>/README for more details.
+
+5. Configure BT for Mauve Unit Test run:
+
+   * Specify appropriate mail settings in <BTI trunk>/framework.local.properties file
+     if you want Cruise Control to send mail notifications.
+
+   * Specify appropriate mail settings in <BTI trunk>/framework.local.properties file
+     if you want Cruise Control to send mail notifications.
+
+6. Build classlib and drlvm and run Mauve Unit Test on it:
+
+     buildtest -Dtest.suites="classlib,drlvm,mauve_test" run
+
+7. To continuously perform Harmony JRE build (classlib and drlvm) and EUT run under Cruise Control:
+
+     buildtest -Dtest.suites="classlib,drlvm,mauve_test" run-cc
+
+--------------------------------
+DISCLAIMER AND LEGAL INFORMATION
+--------------------------------
+Other brands and names are the property of their respective owners.
+

Propchange: harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/MAUVE.BTI.README.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/adaptor.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/adaptor.xml?rev=583505&view=auto
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/adaptor.xml (added)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/adaptor.xml Wed Oct 10 08:06:40 2007
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+     
+         http://www.apache.org/licenses/LICENSE-2.0
+     
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License. -->
+
+<!-- ====================================================================== 
+                        BT Adaptor for Mauve Test
+     ====================================================================== -->
+<project name="mauve_test" default="run" basedir=".">
+
+    <property name="mauve.results.dir" location="${results.dir}/${suite.name}"/>
+    <property name="mauve.classes.dir" location="${classes.dir}/${suite.name}"/>
+    <property name="current.results.dir" location="${mauve.results.dir}/results"/>
+    <property name="mauve.summary" location="${mauve.results.dir}/summary.txt"/>
+
+    <target name="setup">
+        <echo level="info" message="============= Adaptor for ${suite.name}: Set Up ..."/>
+        <echo level="info" message=""/>
+        <echo level="info" message="Tested JVM: ${mauve_test.parameters.required.tested.jvm}"/>
+        <echo level="info" message="Compiler(ecj.jar) location: ${ext.ecj.jar.location}"/>
+        <echo level="info" message="Mauve source location: ${mauve.location}"/>
+        <echo level="info" message="Mauve classes location: ${mauve.classes.dir}"/>
+        <echo level="info" message=""/>
+
+        <mkdir dir="${current.results.dir}"/> 
+        <mkdir dir="${mauve.classes.dir}"/> 
+        <antcall target="-compile"/>
+    </target>
+
+    <target name="run">
+        <condition property="jvm.not.exist">
+            <not>
+                <available file="${tested.jvm}"/>
+            </not>
+        </condition>
+        <fail message="Path to JVM does not exist: ${tested.jvm}" if="jvm.not.exist"/>
+
+        <!-- Run mauve test -->
+        <java classname="gnu.testlet.runner.Mauve"
+              fork="yes"
+              jvm="${tested.jvm}"
+              dir="${mauve.classes.dir}">
+              <arg line="-o ${current.results.dir} ${test.sources.dir}/${suite.name}/${test.list}"/>
+            <classpath>
+                <pathelement path="${mauve.classes.dir}"/>
+            </classpath>
+        </java>
+       
+        <!-- Generate mail summary --> 
+        <echo file="${mauve.summary}" message="========== Mauve Test Summary =========="/>
+        <echo file="${mauve.summary}" append="true" message="${line.separator}${line.separator}"/>
+        <echo file="${mauve.summary}" append="true" message="Tested JVM: ${mauve_test.parameters.required.tested.jvm}"/>
+        <echo file="${mauve.summary}" append="true" message="${line.separator}"/>
+        <echo file="${mauve.summary}" append="true" message="Report Location: ${current.results.dir}"/>
+        <echo file="${mauve.summary}" append="true" message="${line.separator}${line.separator}"/>
+        <echo file="${mauve.summary}" append="true" message="Check the summary of mauve test in the attach file."/>
+        <echo file="${mauve.summary}" append="true" message="${line.separator}"/>
+        <echo file="${mauve.summary}" append="true" message="========================================"/>
+        <echo file="${mauve.summary}" append="true" message="${line.separator}"/>
+
+        <!--Backup test result--> 
+        <tstamp>
+            <format property="test.run.time" pattern="yyyyMMdd_HHmm"/>
+        </tstamp>
+        <mkdir dir="${current.results.dir}_${test.run.time}" />
+        <copy todir="${current.results.dir}_${test.run.time}" >
+            <fileset dir="${current.results.dir}"/>
+        </copy>
+        
+    </target>
+    
+    <target name="-compile" description="Compile the Mauve source for test">
+        <!-- Ecj is required to compile the mauve test --> 
+        <property name="mauve.javac.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+        <fail message=">>>>>>>> Error >>>>>>>>>${line.separator}${line.separator}
+                       The Eclipse compiler class for ant could not be found! ${line.separator}
+                       Please copy ${ext.ecj.jar.location} to ${ANT_HOME}/lib${line.separator}">
+            <condition>
+                <not>
+                    <available classname="org.eclipse.jdt.core.JDTCompilerAdapter"/>
+                </not>
+            </condition>
+        </fail>
+ 
+        <!-- Configure the mauve test first  -->
+        <fail message=">>>>>>>> Error >>>>>>>>>${line.separator}
+                       Pls configure the mauve first, using './configure'. Or you can configure maunually.${line.separator}
+                       Replace the make tag in ${mauve.location}/gnu/testlet/config.java.in and rename it to config.java${line.separator}
+                       You can refer to the detail in ${mauve.location}/README. ${line.separator}">
+            <condition>
+                <not>
+                    <available file="${mauve.location}/gnu/testlet/config.java"/>
+                </not>
+            </condition>
+        </fail>
+        
+        <!-- Compile the test code within ecj, there exist compile failures -->
+        <javac compiler="${mauve.javac.compiler}" 
+               srcdir="${mauve.location}"
+               sourcepath="${mauve.location}" 
+               destdir="${mauve.classes.dir}"
+               nowarn="on"
+               failonerror="false">
+            <bootclasspath>
+                <fileset dir="${tested.jre}">
+                    <include name="**/*.jar"/>
+                    <exclude name="**/*-src.jar"/>
+                </fileset>
+            </bootclasspath>
+        </javac>
+
+    </target>
+
+    <target name="clean">
+        <delete dir="${mauve.results.dir}" quiet="true"/>
+        <delete dir="${mauve.classes.dir}" quiet="true"/>
+    </target>
+
+</project>

Propchange: harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/adaptor.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/parameters.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/parameters.xml?rev=583505&view=auto
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/parameters.xml (added)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/parameters.xml Wed Oct 10 08:06:40 2007
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<parameters depends="drlvm">
+
+    <required>
+        <tested.jre
+            description="Path to Tested Jre Directory"
+            value="${drlvm.parameters.shared.jre.dir}"/>
+
+        <tested.jvm
+            description="Path to Tested Runtime"
+            value="${drlvm.parameters.shared.jvm.location}"/>
+
+        <test.list
+            description="Testcase list that will be run by mauve test suite"
+            value="all.include.list.txt"/>
+
+        <mauve.location
+            description="Path to Mauve test classes. Assigned by user"
+            value=""/>
+    </required>
+
+    <external>
+        <ecj.jar
+            url="http://www.eclipse.org/jdt/core/patches/ecj_3.2.2.jar"
+            md5="f855d48f159618b0c945cf773a6694e1"
+        />
+    </external>
+
+    <shared/>
+
+    <cc>
+        <summary value="${mauve.summary}"/>
+        <attachs value="${current.results.dir}/index.html"/>
+    </cc>
+
+</parameters>

Propchange: harmony/enhanced/buildtest/branches/2.0/adaptors/mauve_test/parameters.xml
------------------------------------------------------------------------------
    svn:eol-style = native