harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From smish...@apache.org
Subject svn commit: r550346 [1/4] - in /harmony/enhanced/buildtest/branches/2.0: adaptors/jedit_test/ tests/jedit_test/ tests/jedit_test/scripts/ tests/jedit_test/src/ tests/jedit_test/src/org/ tests/jedit_test/src/org/apache/ tests/jedit_test/src/org/apache/h...
Date Mon, 25 Jun 2007 04:50:22 GMT
Author: smishura
Date: Sun Jun 24 21:50:20 2007
New Revision: 550346

URL: http://svn.apache.org/viewvc?view=rev&rev=550346
Log:
Apply patch from HARMONY-3633:
([testing] JEdit automated GUI test scenario for B&T 2.0 infrastructure)

Added:
    harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/
    harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/adaptor.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/parameters.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/build.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/jedit_test.build.properties   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/readme.txt   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scenario.txt   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scripts/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scripts/jedit_fn_00.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scripts/jedit_ln_00.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scripts/jedit_st_00.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scripts/jedit_st_01.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scripts/jedit_st_fixture.xml   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/apache/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/apache/harmony/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/apache/harmony/guitests/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/apache/harmony/guitests/JEditFunctionalTest.java   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/apache/harmony/guitests/JEditLaunchTest.java   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/org/apache/harmony/guitests/JEditStressTest.java   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/patches/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/patches/harmony/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/patches/harmony/java/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/patches/harmony/java/awt/
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/patches/harmony/java/awt/Toolkit.java   (with props)
    harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/src/patches/patch.txt   (with props)

Added: harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/adaptor.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/adaptor.xml?view=auto&rev=550346
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/adaptor.xml (added)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/adaptor.xml Sun Jun 24 21:50:20 2007
@@ -0,0 +1,159 @@
+<?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 2.0 Adaptor for jEdit4.2 test
+     ====================================================================== -->
+<project name="jedit_test" default="run" basedir=".">
+
+    <!-- ================================= 
+          setup common conditions
+         ================================= -->
+    <condition property="is_Harmony">
+        <and>
+            <available file="${jedit_test.tested.runtime}/readme.txt"/>
+            <isfileselected file="${jedit_test.tested.runtime}/readme.txt">
+                <contains text="Apache Harmony JRE"/>
+            </isfileselected>
+        </and>
+    </condition>
+
+    <condition property="boot.dir"
+               value="${jedit_test.tested.runtime}/lib/boot"
+               else="">
+        <isset property="is_Harmony"/>
+    </condition>
+
+    <condition property="use.bootclasspath"
+               value="-Xbootclasspath/p:${checkouts.dir}/${suite.name}/classes/harmony"
+               else="">
+        <isset property="is_Harmony"/>
+    </condition>
+
+    <condition property="ush.prefix"
+               value="-Dabbot.util.url_stream_handler_prefix=org.apache.harmony.luni.internal.net.www.protocol"
+               else="">
+        <isset property="is_Harmony"/>
+    </condition>
+
+    <condition property="install.handler"
+               value="-Dabbot.util.do_not_install_handler=true"
+               else="">
+        <isset property="is_Harmony"/>
+    </condition>
+
+    <!-- ================================= 
+          target: setup
+         ================================= -->
+    <target name="setup">
+        <condition property="tested.vm.exist">
+            <or>
+                <available file="${jedit_test.tested.runtime}/bin/java"/>
+                <available file="${jedit_test.tested.runtime}/bin/java.exe"/>
+            </or>
+        </condition>
+        <fail message="Can't find java executable in: ${jedit_test.tested.runtime}/bin" unless="tested.vm.exist"/>
+
+        <svn-update-bt path="${test.sources.dir}/${suite.name}"/>
+
+        <external-ant-build target="setup"
+                            failonerror="false"
+                            failproperty="jedit.setup.failed"/>
+
+        <fail message="Failed to setup JEdit tests." if="jedit.setup.failed"/>
+    </target>
+
+    <!-- ================================= 
+          target: run
+         ================================= -->
+    <target name="run">
+        <tstamp>
+            <format property="time.stamp" pattern="yyyy-MM-dd_HHmm" />
+        </tstamp>
+
+        <external-ant-build target="launch"
+                            failonerror="false"
+                            failproperty="jedit.launch.failed"/>
+        <copy todir="${results.dir}/${suite.name}/${time.stamp}">
+            <fileset dir="${checkouts.dir}/${suite.name}/report" includes="**/TEST-*.xml"/>
+        </copy>
+
+        <external-ant-build target="functional"
+                            failonerror="false"
+                            failproperty="jedit.functional.failed"/>
+        <copy todir="${results.dir}/${suite.name}/${time.stamp}">
+            <fileset dir="${checkouts.dir}/${suite.name}/report" includes="**/TEST-*.xml"/>
+        </copy>
+
+        <external-ant-build target="stress"
+                            failonerror="false"
+                            failproperty="jedit.stress.failed"/>
+        <copy todir="${results.dir}/${suite.name}/${time.stamp}">
+            <fileset dir="${checkouts.dir}/${suite.name}/report" includes="**/TEST-*.xml"/>
+        </copy>
+
+        <delete dir="${results.dir}/${suite.name}/last" failonerror="false"/>
+        <copy todir="${results.dir}/${suite.name}/last" failonerror="false">
+            <fileset dir="${results.dir}/${suite.name}/${time.stamp}"/>
+        </copy>
+
+        <condition property="jedit.failed">
+            <or>
+                <isset property="jedit.launch.failed"/>
+                <isset property="jedit.functional.failed"/>
+                <isset property="jedit.stress.failed"/>
+            </or>
+        </condition>
+
+        <fail message="Some of JEdit tests failed." if="jedit.failed"/>
+    </target>
+
+    <!-- =================================
+          target: clean
+         ================================= -->
+    <target name="clean">
+        <echo level="info" message="Removing all from working directory"/>
+        <delete dir="${checkouts.dir}/${suite.name}"/>
+        <echo level="info" message="Removing all from results directory"/>
+        <delete dir="${results.dir}/${suite.name}"/>
+    </target>
+
+    <!-- - - - - - - - - - - - - - - - - - 
+          macrodefs etc.                      
+         - - - - - - - - - - - - - - - - - -->
+    <macrodef name="external-ant-build">
+        <attribute name="target"/>
+        <attribute name="failonerror" default="true"/>
+        <attribute name="failproperty" default="external-ant-build.fail.property"/>
+        <sequential>
+            <exec-ant targets="@{target}"
+                      dir="${test.sources.dir}/${suite.name}"
+                      failonerror="@{failonerror}"
+                      failproperty="@{failproperty}">
+                <sysproperty key="target.dir"                        value="${checkouts.dir}/${suite.name}"/>
+                <sysproperty key="test.java.home"                    value="${jedit_test.tested.runtime}"/>
+                <sysproperty key="tested.vm.options"                 value="${jedit_test.parameters.optional.tested.vm.options}"/>
+                <sysproperty key="test.stress.iterations"            value="${jedit_test.parameters.optional.stress.test.iterations}"/>
+                <sysproperty key="harmony.boot.dir"                  value="${boot.dir}"/>
+                <sysproperty key="test.vmarg.bootclasspath"          value="${use.bootclasspath}"/>
+                <sysproperty key="test.vmarg.ush_prefix"             value="${ush.prefix}"/>
+                <sysproperty key="test.vmarg.do_not_install_handler" value="${install.handler}"/>
+            </exec-ant>
+        </sequential>
+    </macrodef>
+    
+</project>

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

Added: harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/parameters.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/parameters.xml?view=auto&rev=550346
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/parameters.xml (added)
+++ harmony/enhanced/buildtest/branches/2.0/adaptors/jedit_test/parameters.xml Sun Jun 24 21:50:20 2007
@@ -0,0 +1,44 @@
+<!-- 
+    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.runtime
+            description="Path to Tested Runtime"
+            value="${drlvm.parameters.shared.jre.dir}"/>
+    </required>
+
+    <optional>
+        <tested.vm.options
+            description="JVM options for tested runtime"
+            value=""/>
+        <stress.test.iterations
+            description="Number of iterations in 'stress' test scenario"
+            value="2"/>
+    </optional>
+
+    <external/>
+
+    <shared/>
+
+    <cc>
+        <results
+            description="merge test results into CC log"
+            value="${results.dir}/${suite.name}/last' pattern='TEST-*.xml"/>
+    </cc>
+
+</parameters>

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

Added: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/build.xml?view=auto&rev=550346
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/build.xml (added)
+++ harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/build.xml Sun Jun 24 21:50:20 2007
@@ -0,0 +1,514 @@
+<?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. -->
+
+<project name="JEditTest" default="help" basedir=".">
+
+    <description>
+  Main purpose:
+  Run automated GUI test scenarios for jEdit application (http://www.jedit.org/)
+  using Abbot Java GUI Test Framework (http://abbot.sourceforge.net) 
+  on Harmony's DRLVM (http://harmony.apache.org)
+    </description>
+
+    <property file="jedit_test.build.properties" />
+
+    <!-- The following are input props and may be changed by caller -->   
+    <property name="abbot.install.dir" location="${target.dir}"/>
+    <property name="jedit.install.dir" location="${target.dir}/jedit"/>
+     
+    <property name="jedit.dist" location="${download.dir}/${jedit.distr}"/>
+    <property name="abbot.dist" location="${download.dir}/${abbot.distr}"/>
+    <property name="javastyle.pl.dist"
+        location="${download.dir}/${jedit.plugin.javastyle.distr}"/>
+    <property name="jcompiler.pl.dist"
+        location="${download.dir}/${jedit.plugin.jcompiler.distr}"/>
+    <property name="console.pl.dist"
+        location="${download.dir}/${jedit.plugin.console.distr}"/>
+    <property name="errlist.pl.dist"
+        location="${download.dir}/${jedit.plugin.errlist.distr}"/>
+    <property name="jcore.pl.dist"
+        location="${download.dir}/${jedit.plugin.jcore.distr}"/>
+    <property name="jaccomms.pl.dist"
+        location="${download.dir}/${jedit.plugin.jaccomms.distr}"/>
+    <property name="pviewer.pl.dist"
+        location="${download.dir}/${jedit.plugin.pviewer.distr}"/>
+    <property name="commcntl.pl.dist"   
+        location="${download.dir}/${jedit.plugin.commcntl.distr}"/>
+    
+    <!-- The following are hardcoded props -->
+    <property name="abbot.root" location="${abbot.install.dir}/${abbot.name}"/>
+    <property name="patched.src.dir" location="${abbot.root}/psrc"/>
+    <property name="jedit.pl.install.dir" location="${jedit.install.dir}/jars"/>
+
+    <!-- Check if we need to compile patch for Harmony -->
+    <condition property="need.compile.harmony.patch">
+        <not>
+            <equals arg1="${harmony.boot.dir}" arg2=""/>
+        </not>
+    </condition>
+
+    <!-- ================================= 
+          target: public targets              
+         ================================= -->
+
+    <target name="help">
+        <echo>Builds/runs automated GUI tests for jEdit application (http://www.jedit.org)
+using Abbot Java GUI Test Framework (http://abbot.sourceforge.net) on specified VM
+
+Usage:
+
+  ant [help]
+    Displays this help
+
+  ant setup
+    Builds jEdit tests
+
+  ant launch
+    Runs jEdit launch test
+
+  ant functional
+    Runs jEdit functional test
+
+  ant stress
+    Runs jEdit stress test
+
+  ant clean.report
+    Cleans jEdit test(s) report(s)
+
+  ant clean.partial
+    Cleans all except dowloads
+
+  ant clean
+    Cleans test(s) report(s) and all the stuff except downloads
+
+Use 'build.properties' file to configure build/test-run process.
+All configurable parameters are at the beginning of the file.
+
+Build/test run preconditions:
+ - Internet connection (only once during build for external dependencies downloads);
+ - Ant 1.6.5 or higher from http://ant.apache.org (ant binaries are in your PATH);
+ - J2SE 1.5 JDK ('java' and 'javac' must be in your PATH);
+ - Patch utility (must be in your PATH);
+ - Junit framework 3.8.1 or higher from http://junit.org ('junit.jar' in your CLASSPATH).</echo>
+    </target>
+
+    <target name="setup" depends="-install-depends, -compile.harmony.patch">
+        <mkdir dir="${tests.classes.dir}"/>
+        <javac srcdir="${tests.src.dir}" destdir="${tests.classes.dir}"
+            excludes="**/patches/**">
+            <classpath refid="tests-compile-classpath" />
+        </javac>
+    </target>
+
+    <target name="launch" depends="setup, -run-launch, -generate-report">
+        <fail if="test.not.passed" />
+    </target>
+
+    <target name="functional" depends="setup, -run-functional, -generate-report">
+        <fail if="test.not.passed" />
+    </target>
+
+    <target name="stress" depends="setup, -run-stress, -generate-report">
+        <fail if="test.not.passed" />
+    </target>
+
+    <target name="-compile.harmony.patch" if="need.compile.harmony.patch">
+        <mkdir dir="${harmony.patched.classes.dir}"/>
+        <javac srcdir="${patches.dir}/harmony" destdir="${harmony.patched.classes.dir}">
+            <bootclasspath refid="patched-harmony-compile-classpath" />
+        </javac>
+    </target>
+
+    <target name="clean.report">
+        <delete dir="${tests.report.dir}" />
+    </target>
+
+    <target name="clean.partial" depends="clean.report">
+  <!-- CAREFULL !!! -->      
+        <delete dir="abbot-1.0.0.rc5"/>
+        <delete dir="${jedit.install.dir}"/>
+        <delete dir="${tests.working.dir}" />
+        <delete dir="${classes.dir}" />
+    </target>
+
+    <target name="clean" depends="clean.partial">
+        <!--CAREFULL!!! delete  dir="${download.dir}" /-->
+    </target>
+
+    <!-- "Private" targets -->
+
+    <target name="-install-depends"
+        depends="-fetch-depends,
+                 -install-jedit,
+                 -install-jedit-plugins,
+                 -install-abbot">
+    </target>
+
+    <target name="-install-jedit" unless="already-installed-jedit">
+        <delete dir="${jedit.install.dir}"/>
+        <java jar="${jedit.dist}" fork="true" failonerror="true">
+            <arg line="auto ${jedit.install.dir}" />
+        </java>
+    </target>
+
+    <target name="-install-jedit-plugins"
+        depends="-install-jedit" unless="already-installed-plugins">
+        <unzip src="${javastyle.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${jcompiler.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${console.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${errlist.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${jcore.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${jaccomms.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${pviewer.pl.dist}" dest="${jedit.pl.install.dir}" />
+        <unzip src="${commcntl.pl.dist}" dest="${jedit.pl.install.dir}" />
+    </target>
+
+    <target name="-install-abbot" depends="-jar-patched-abbot">
+    </target>
+
+    <target name="-install-original-abbot"
+        unless="already-installed-orig-abbot">
+        <delete dir="${abbot.root}"/>
+        <unzip src="${abbot.dist}" dest="${abbot.install.dir}"/>
+    </target>
+
+    <target name="-patch-original-abbot" depends="-install-original-abbot"
+        unless="already-patched-orig-abbot">
+        <mkdir dir="${patched.src.dir}" />
+        <unzip src="${abbot.root}/src.jar"
+            dest="${patched.src.dir}">
+            <patternset>
+                <include name="src/**" />
+                <include name="test/abbot/util/NamedTimerTest.java" />
+            </patternset>
+        </unzip>
+        <unzip src="${abbot.root}/lib/abbot.jar"
+            dest="${patched.src.dir}/src">
+            <patternset>
+                <include name="abbot/script/init.bsh" />
+            </patternset>
+        </unzip>
+        <patch patchfile="${patches.dir}/patch.txt" dir="${patched.src.dir}" strip="5" />
+    </target>
+
+    <target name="-compile-patched-abbot" depends="-patch-original-abbot" >
+        <javac srcdir="${patched.src.dir}/src"
+            destdir="${patched.src.dir}/src"
+            nowarn="true"
+            deprecation="on"
+            debug="true">
+            <classpath refid="abbot-build-classpath" />
+        </javac>
+    </target>
+
+    <target name="-jar-patched-abbot" depends="-compile-patched-abbot" >
+        <jar destfile="${abbot.root}/lib/${patched.jar}"
+            basedir="${patched.src.dir}/src" >
+            <exclude name="**/*.java" />
+            <manifest>
+                <attribute name="Class-Path"
+                    value="gnu-regexp.jar junit.jar jdom.jar xerces.jar xml-apis.jar MRJToolkitStubs.zip bsh.jar"/>
+            </manifest>
+        </jar>
+    </target>
+
+    <target name="-fetch-depends" depends="-set-proxy" unless="already-fetched">
+        <mkdir dir="${download.dir}" />
+        <property name="plugin.url"
+            value="${sf.download.url}/${jedit.plugin.url}/" />
+        <!-- Download jEdit 4.2 final -->
+        <get src="${sf.download.url}/${jedit.url}/${jedit.distr}"
+            dest="${jedit.dist}"
+            usetimestamp="true" verbose="true" />
+        <!-- Download jEdit plugins needed -->
+        <get src="${plugin.url}${jedit.plugin.javastyle.distr}"
+            dest="${javastyle.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.jcompiler.distr}"
+            dest="${jcompiler.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.console.distr}"
+            dest="${console.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.errlist.distr}"
+            dest="${errlist.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.jcore.distr}"
+            dest="${jcore.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.jaccomms.distr}"
+            dest="${jaccomms.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.pviewer.distr}"
+            dest="${pviewer.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <get src="${plugin.url}${jedit.plugin.commcntl.distr}"
+            dest="${commcntl.pl.dist}"
+            usetimestamp="true" verbose="true" />
+        <!-- Download Abbot framework 1.0.0.rc5 -->
+        <get src="${sf.download.url}/${abbot.url}/${abbot.distr}"
+            dest="${abbot.dist}"
+            usetimestamp="true" verbose="true" />
+    </target>
+
+    <target name="-set-proxy" if="use-proxy" unless="already-fetched">
+        <echo>Proxy: ${http.proxy.host}:${http.proxy.port}</echo>
+        <setproxy proxyhost="${http.proxy.host}" proxyport="${http.proxy.port}" />
+    </target>
+
+    <target name="-prepare-each-run" depends="
+        -install-jedit-properties,
+        clean.report">
+        <delete dir="${tests.working.dir}" />
+        <mkdir dir="${tests.working.dir}" />
+        <mkdir dir="${tests.report.dir}" />
+    </target>
+
+    <target name="-install-jedit-properties" depends="-save-jedit-settings">
+        <delete dir="${user.home}/.jedit"/>
+        <mkdir dir="${user.home}/.jedit"/>
+        <echo file="${user.home}/.jedit/properties" append="false">#Autogenerated jEdit properties
+mode.java.commando.compile=javac
+firstTime=false
+</echo>
+    </target>
+
+    <target name="-save-jedit-settings" if="jedit-settings-available"
+        unless="already-jedit-settings-saved">
+        <move todir="${user.home}/${jedit.settings.backup.dir}">
+            <fileset dir="${user.home}/.jedit" />
+        </move>
+        <echo>Your personal jEdit settings have been backed up in
+            ${user.home}/${jedit.settings.backup.dir}</echo>
+    </target>
+
+    <target name="-run-launch" depends="setup, -prepare-each-run">
+        <junit-task test-files="launch-test-files" />
+    </target>
+
+    <target name="-run-functional" depends="setup, -prepare-each-run"  >
+        <junit-task test-files="functional-test-files" />
+    </target>
+
+    <target name="-run-stress" depends="setup, -prepare-each-run"  >
+        <junit-task test-files="stress-test-files" />
+    </target>
+
+    <target name="-generate-report">
+        <mkdir dir="${tests.report.dir}" />
+        <junitreport todir="${tests.report.dir}">
+            <fileset dir="${tests.report.dir}">
+                <include name="TEST-*.xml"/>
+            </fileset>
+            <report format="frames" todir="${tests.report.dir}/html"/>
+        </junitreport>
+    </target>
+
+    <!-- Various paths, filesets etc -->
+
+    <path id="tests-compile-classpath">
+        <pathelement
+            location="${abbot.root}/lib/${patched.jar}" />
+        <pathelement
+            location="${abbot.root}/lib/junit.jar" />
+    </path>   
+
+    <path id="patched-harmony-compile-classpath">
+        <pathelement
+            location="${harmony.boot.dir}/luni-kernel-stubs.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/security-kernel-stubs.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/security.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/luni.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/beans.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/annotation.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/awt.jar" />
+        <pathelement
+            location="${harmony.boot.dir}/text.jar" />
+    </path>   
+
+    <path id="abbot-build-classpath">
+        <pathelement location="${abbot.root}/lib/junit.jar"/>   
+        <pathelement location="${abbot.root}/lib/jdom.jar"/>   
+        <pathelement location="${abbot.root}/lib/xerces.jar"/>  
+        <pathelement location="${abbot.root}/lib/xml-apis.jar"/>
+        <pathelement location="${abbot.root}/lib/gnu-regexp.jar"/>  
+        <pathelement location="${abbot.root}/lib/MRJToolkitStubs.zip"/>  
+        <pathelement location="${abbot.root}/lib/bsh.jar"/>
+        <pathelement location="${abbot.root}/lib/jgraph.jar"/>   
+        <pathelement location="${abbot.root}/lib/ant4eclipse/ant4eclipse.jar"/>
+    </path>
+   
+    <path id="run-classpath">
+        <pathelement location="${tests.classes.dir}" />     
+        <pathelement location="${jedit.install.dir}/jedit.jar" />
+        <pathelement location="${abbot.root}/lib/${patched.jar}" />
+    </path>
+
+    <fileset id="launch-test-files" dir="${tests.src.dir}">
+        <include name="**/JEditLaunchTest.java"/>
+    </fileset>
+
+    <fileset id="functional-test-files" dir="${tests.src.dir}">
+        <include name="**/JEditFunctionalTest.java"/>
+    </fileset>
+
+    <fileset id="stress-test-files" dir="${tests.src.dir}">
+        <include name="**/JEditStressTest.java"/>
+    </fileset>
+
+    <!-- Various build conditions -->
+
+    <condition property="already-fetched">
+        <and>
+            <available file="${jedit.dist}" />
+            <available file="${javastyle.pl.dist}" />
+            <available file="${jcompiler.pl.dist}" />
+            <available file="${console.pl.dist}" />
+            <available file="${errlist.pl.dist}" />
+            <available file="${jcore.pl.dist}" />
+            <available file="${jaccomms.pl.dist}" />
+            <available file="${pviewer.pl.dist}" />
+            <available file="${commcntl.pl.dist}" />
+            <available file="${abbot.dist}" />
+        </and>
+    </condition>
+
+    <condition property="already-installed-jedit">
+        <and>
+            <istrue value="${already-fetched}" />
+            <available file="${jedit.install.dir}/jedit.jar" />
+            <available file="${jedit.install.dir}/doc" />
+            <available file="${jedit.install.dir}/jars" />
+            <available file="${jedit.install.dir}/macros" />
+            <available file="${jedit.install.dir}/modes" />
+            <available file="${jedit.install.dir}/properties" />
+            <available file="${jedit.install.dir}/startup" />
+        </and>
+    </condition>
+
+    <condition property="already-installed-plugins">
+        <and>
+            <istrue value="${already-fetched}" />
+            <available file="${jedit.install.dir}/jars/bcel.jar" />
+            <available file="${jedit.install.dir}/jars/CommonControls.jar" />
+            <available file="${jedit.install.dir}/jars/commons-codec-1.3.jar" />
+            <available file="${jedit.install.dir}/jars/commons-collections.jar" />
+            <available file="${jedit.install.dir}/jars/commons-httpclient-2.0.1.jar" />
+            <available file="${jedit.install.dir}/jars/commons-lang-2.0.jar" />
+            <available file="${jedit.install.dir}/jars/commons-logging.jar" />
+            <available file="${jedit.install.dir}/jars/Console.jar" />
+            <available file="${jedit.install.dir}/jars/ErrorList.jar" />
+            <available file="${jedit.install.dir}/jars/JakartaCommons.jar" />
+            <available file="${jedit.install.dir}/jars/JavaCore.jar" />
+            <available file="${jedit.install.dir}/jars/JavaParser.jar" />
+            <available file="${jedit.install.dir}/jars/JavaStyle.jar" />
+            <available file="${jedit.install.dir}/jars/JCompiler.jar" />
+            <available file="${jedit.install.dir}/jars/jrefactory.jar" />
+            <available file="${jedit.install.dir}/jars/kappalayout.jar" />
+            <available file="${jedit.install.dir}/jars/log4j.jar" />
+            <available file="${jedit.install.dir}/jars/ProjectViewer.jar" />
+            <available file="${jedit.install.dir}/jars/xmlrpc-2.0.1.jar" />
+        </and>
+    </condition>
+
+    <condition property="already-installed-orig-abbot">
+        <and>
+            <istrue value="${already-fetched}" />
+            <available file="${abbot.root}/lib/abbot.jar" />
+        </and>
+    </condition>
+
+    <condition property="already-patched-orig-abbot">
+        <and>
+            <istrue value="${already-installed-orig-abbot}" />
+            <available file="${patched.src.dir}/src/abbot/util/ExtendedTimerTask.java" />
+        </and>
+    </condition>
+
+    <condition property="use-proxy-host">
+        <isset property="http.proxy.host"/>
+    </condition>
+
+    <condition property="use-proxy-port">
+        <isset property="http.proxy.port"/>
+    </condition>
+
+    <condition property="use-proxy">
+        <and>
+            <istrue value="${use-proxy-host}" />
+            <istrue value="${use-proxy-port}" />
+        </and>
+    </condition>
+
+    <condition property="already-jedit-settings-saved">
+        <available file="${user.home}/${jedit.settings.backup.dir}" />
+    </condition>
+
+    <condition property="jedit-settings-available">
+        <available file="${user.home}/.jedit" />
+    </condition>
+
+     <!-- Various macrodefs -->
+
+    <macrodef name="junit-task">
+        <attribute name="test-files"/>
+        <sequential>
+            <junit fork="yes"
+                printsummary="withOutAndErr"
+                errorproperty="test.not.passed"
+                failureproperty="test.not.passed"
+                showoutput="on"
+                dir="${tests.working.dir}"
+                jvm="${test.java.home}/bin/java">
+
+                <jvmarg line="${tested.vm.options}" />
+
+                <jvmarg value="-Djedit.home=${jedit.install.dir}" />
+                <jvmarg value="${test.vmarg.ush_prefix}" />
+                <jvmarg value="${test.vmarg.do_not_install_handler}" />
+                <jvmarg value="-DJEditStressTest.it_num=${test.stress.iterations}" />
+                <jvmarg value="${test.vmarg.bootclasspath}" />
+                <jvmarg value="-Dtest.scripts.dir=${basedir}/scripts" />
+
+                <jvmarg value="-Dabbot.robot.popup_delay=${abbot.robot.popup_delay}" />
+                <jvmarg value="-Dabbot.robot.component_delay=${abbot.robot.component_delay}" />
+                <jvmarg value="-Dabbot.robot.drag_delay=${abbot.robot.drag_delay}" />
+                <jvmarg value="-Dabbot.robot.drop_delay=${abbot.robot.drop_delay}" />
+                <jvmarg value="-Dabbot.annotation.min_delay=${abbot.annotation.min_delay}" />
+                <jvmarg value="-Dabbot.annotation.delay_unit=${abbot.annotation.delay_unit}" />
+                <jvmarg value="-Dabbot.runner.launch_delay=${abbot.runner.launch_delay}" />
+                <jvmarg value="-Dabbot.runner.terminate_delay=${abbot.runner.terminate_delay}" />
+                <jvmarg value="-Dabbot.window_ready_delay=${abbot.window_ready_delay}" />
+
+                <classpath refid="run-classpath" />
+
+                <formatter type="xml" />
+
+                <batchtest todir="${tests.report.dir}">
+                    <fileset refid="@{test-files}" />
+                </batchtest>
+            </junit>
+        </sequential>
+    </macrodef>
+
+</project>

Propchange: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/jedit_test.build.properties
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/jedit_test.build.properties?view=auto&rev=550346
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/jedit_test.build.properties (added)
+++ harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/jedit_test.build.properties Sun Jun 24 21:50:20 2007
@@ -0,0 +1,120 @@
+# 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.
+
+#
+# BUILDTIME EDITABLE PARAMETERS ------------------
+
+#
+# For proxy connection uncomment and update
+# accordingly the following two lines (needed for build phase only)
+#
+#http.proxy.host=proxy01.ims.intel.com
+#http.proxy.port=911
+
+# Directory where Harmony's jars located
+# NOTE:
+#  - Always use forward slashes in your path here
+#
+harmony.boot.dir=C:/win_ia32_msvc_release/deploy/jdk/jre/lib/boot
+
+#
+# RUNTIME EDITABLE PARAMETERS ------------------
+
+#
+# Root location of the implementation under test
+# (${test.java.home}/bin/java must be available).
+# NOTE:
+#  - Always use forward slashes in your path here
+#
+test.java.home=C:/tools/jdk1.5.0_06
+tested.vm.options=
+
+#
+# Number of iterations in "stress" test scenario
+#
+test.stress.iterations=2
+
+#
+# For test runs on Harmony's VMs leave the following three lines as is;
+# For test runs on RI make the values empty as follows:
+#test.vmarg.bootclasspath=
+#test.vmarg.ush_prefix=
+#test.vmarg.do_not_install_handler=
+#
+test.vmarg.bootclasspath=-Xbootclasspath/p:${basedir}/${harmony.patched.classes.dir}
+test.vmarg.ush_prefix=-Dabbot.util.url_stream_handler_prefix=org.apache.harmony.luni.internal.net.www.protocol
+test.vmarg.do_not_install_handler=-Dabbot.util.do_not_install_handler=true
+
+
+#
+# USUALLY THERE IS NOTHING TO EDIT BELOW THIS LINE ------------------
+
+target.dir=target
+classes.dir=${target.dir}/classes
+tests.report.dir=${target.dir}/report
+tests.working.dir=${target.dir}/working
+download.dir=${target.dir}/downloads
+tests.src.dir=src
+patches.dir=${tests.src.dir}/patches
+jedit.settings.backup.dir=.jedit.backup
+harmony.patched.classes.dir=${classes.dir}/harmony
+tests.classes.dir=${classes.dir}/tests
+
+sf.download.url=http://prdownloads.sourceforge.net
+jedit.url=jedit
+jedit.plugin.url=jedit-plugins
+abbot.url=abbot
+
+jedit.distr=jedit42install.jar
+jedit.plugin.javastyle.distr=JavaStyle-1.2-bin.zip
+jedit.plugin.jcompiler.distr=JCompiler-1.7.2-bin.zip
+jedit.plugin.console.distr=Console-4.2.6.5-bin.zip
+jedit.plugin.errlist.distr=ErrorList-1.4.2-bin.zip
+jedit.plugin.jcore.distr=JavaCore-0.7.1-bin.zip
+jedit.plugin.jaccomms.distr=JakartaCommons-0.4.4-bin.zip
+jedit.plugin.pviewer.distr=ProjectViewer-2.1.3.5-bin.zip
+jedit.plugin.commcntl.distr=CommonControls-0.9.1-bin.zip
+abbot.name=abbot-1.0.0.rc5
+abbot.distr=${abbot.name}.zip
+patched.jar=abbot-patched.jar
+
+
+#
+# Delay properties for Abbot
+
+# Maximum ms to wait for a popup to appear
+abbot.robot.popup_delay=300000
+
+# Maximum ms to wait for a component to appear
+abbot.robot.component_delay=300000
+
+# Delay after mouse press before moving to register a drag (X11)
+abbot.robot.drag_delay=1000
+
+# Delay after mouse move before release to register a drop (w32)
+abbot.robot.drop_delay=2000
+
+# Annotation minimum display time
+abbot.annotation.min_delay=50000
+
+# Annotation display time in ms, per word
+abbot.annotation.delay_unit=5000
+
+# Timeouts for forked VM execution
+abbot.runner.launch_delay=600000
+abbot.runner.terminate_delay=300000
+
+# Delay between WINDOW_OPENED and window ready for input
+abbot.window_ready_delay=300000

Propchange: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/jedit_test.build.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/readme.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/readme.txt?view=auto&rev=550346
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/readme.txt (added)
+++ harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/readme.txt Sun Jun 24 21:50:20 2007
@@ -0,0 +1,264 @@
+jEdit4.2 automated GUI test suite
+=================================
+
+Main purpose of these tests is to make sure that implementation
+under test (Harmony's VM's primarily) is able to run jEdit application
+and an user is able to perform some work in jEdit. Tests automation is based
+on Abbot Java GUI test automation framework (see http://abbot.sourceforge.net).
+
+There are three tests:
+
+ - "launch" test; This test just checks that jEdit application
+   can be launched using runtime under test;
+
+ - "functional" test; This test launches jEdit application and
+   checks that some standard work scenario can be performed in jEdit;
+
+ - "stress" test; This test launches jEdit application and checks
+   that some work scenario (almost the same as in "functional" test)
+   can be performed in jEdit given number of times.
+
+All tests implemented as jUnit testcases.
+
+This readme contains the following chapters:
+--------------------------------------------
+1. ARCHIVE CONTENTS
+2. TOOLS REQUIRED FOR THE BUILD
+3. BUILDING
+  3.1 BUILD ARTIFACTS
+4. RUNNING TESTS
+  4.1 ON HARMONY's VM
+  4.2 ON RI
+  4.3 TEST RUN ARTIFACTS
+5. KNOWN ISSUES
+6. TODO
+7. DISCLAIMER AND LEGAL INFORMATION
+
+
+1. ARCHIVE CONTENTS
+-------------------
+
+The archive contains test source files, test scripts and build/run ant
+environment.
+
+Below <INSTALL_DIR> is the location into which you unpacked this archive.
+
+After extracting the archive, the following files and directories appear under 
+<INSTALL_DIR>/jedit4.2_test/
+
+  <INSTALL_DIR>/jedit4.2_test/
+       |
+       +-- build.xml                        - Ant build/run file
+       |
+       +-- jedit_test.build.properties      - Ant build/run config. Usually
+       |                                      it is the only file which should
+       |                                      be modified in order to configure
+       |                                      regular build/test-run process
+       |
+       +-- readme.txt                       - This text
+       |
+       +-- scenario.txt                     - "functional" scenario description
+       |
+       +-- src/org/apache/harmony/guitests/ - Test sources
+       |    |
+       |    +-- JEditLaunchTest.java        - "launch" test
+       |    +-- JEditFunctionalTest.java    - "functional" test
+       |    +-- JEditStressTest.java        - "stress" test
+       |    +-- patches/                    - Patches which enable Abbot
+       |         |                            framework on Harmony's runtime*
+       |         |
+       |         +-- patch.txt                       - Patch for Abbot classes
+       |         +-- harmony/java/awt/Toolkit.java   - Patch for Harmony
+       |
+       +-- scripts/                         - Test scripts
+            |
+            +-- jedit_ln_00.xml             - "launch" test script
+            +-- jedit_fn_00.xml             - "functional" test script
+            +-- jedit_st_00.xml             - "stress" test script prolog
+            +-- jedit_st_01.xml             - "stress" test script body
+            +-- jedit_st_fixture.xml        - "stress" test script support
+        
+
+*) These small patches are temporary.
+  Corresponding Abbot patch is on the project's web-page already:
+  http://sourceforge.net/tracker/index.php?func=detail&aid=1618017&group_id=50939&atid=461492
+  Harmony's patch contains stub for nonimplemented method
+  java.awt.Toolkit.getLockingKeyState and will be eliminated after
+  the method implementation.
+
+
+2. TOOLS REQUIRED FOR THE BUILD
+----------------------------------------------------------
+
+To build Java** sources contained in the archive, install and
+configure the following tools in the user environment:
+
+  Apache Ant     - Build tool: Ant 1.6.5 or higher from http://ant.apache.org
+
+  Junit          - Testing framework 3.8.1 or higher from http://junit.org
+
+  J2SDK 1.5.0    - J2SE** 1.5.0 compatible SDK, for example
+                   http://java.sun.com/javase/downloads/index.jsp
+
+  Patch          - Utility for applying patches to source files. On Windows
+                   you may use one from Cygwin distribution, for example v2.5.8
+                   from ftp://ftp.cise.ufl.edu/pub/mirrors/cygwin/release/patch/
+
+
+3. BUILDING
+-----------
+
+1) Make sure that you have internet connection because external project
+   dependencies will be downloaded using it during build. If you connected
+   through proxy uncomment and update with actual info two related lines in
+   the beginning of 'build.properties' file
+
+2) Set in 'build.properties' file directory where Harmony's jars located
+   by modifying 'harmony.boot.dir' property
+
+3) Set/verify the values for the following environment variables:
+
+    - PATH (Path on Windows) must contain the path to
+      patch utility executable, ant bin/ and J2SDK bin/ directories;
+    - junit.jar must be in CLASSPATH
+
+4) Build tests by executing the following commands:
+
+    cd <INSTALL_DIR>/jedit4.2_test
+    ant setup
+
+NOTE:
+ - You may get help on build/run system usage by executing 'ant'
+ command without target specification in <INSTALL_DIR>/jedit4.2_test/ directory.
+
+3.1 BUILD ARTIFACTS
+
+The build produces a set of additional directories placed in the following
+tree structure (not fully expanded here):
+
+  <INSTALL_DIR>/jedit4.2_test/
+       |
+       +-- target/
+            +-- classes/
+            |       |
+            |       +-- harmony  - Compiled Harmony patch
+            |       +-- tests    - Compiled test classes
+            +-- downloads/       - Downloaded external dependencies
+            +-- abbot-1.0.0.rc5/      - Abbot framework (patched)
+            +-- jedit/                - jEdit4.2final application
+        
+
+
+4. RUNNING TESTS
+----------------
+
+The tests may be run on both Harmony's VM's and on the RI.
+At the moment of archive creation all three tests pass on RI but
+only "launch" test passes on Harmony's VMs. Both "functional"
+and "stress" tests fail after several successfull scenario steps
+because of errors in Harmony's AWT/Swing implementation.
+
+There is no need in internet connection and patch executable
+during tests run.
+
+4.1 ON HARMONY's VM
+~~~~~~~~~~~~~~~~~~~
+
+1) As for build process (step 2 above) set/verify
+   the values for PATH and CLASSPATH environment variables.
+   'javac' must be in your PATH because "functional" and
+   "stress" test will execute it from within jEdit
+
+2) Configure runtime under test in 'build.properties' file
+   by modifying 'test.java.home' property's value. You must provide
+   full path to the root of Harmony's JRE here.
+
+3) Run the tests by executing the following commands:
+
+    cd <INSTALL_DIR>/jedit4.2_test
+    ant <test_name>
+    
+   Where <test_name> is one of
+
+     launch
+     functional
+     stress
+
+NOTE:
+ - DO NOT TOUCH keyboard/mouse during test run.
+ - Use 'build.properties' file to set number of "stress" test iterations by
+   modifying 'test.stress.iterations' property's value  (default is 2)
+ - FOR jEdit USERS: The tests need some initial jEdit configuration. Test run
+   system creates it before each new test run. If user's jEdit configuration
+   exists in user's home directory <USER_HOME>/.jedit/ it will be saved in
+   <USER_HOME>/.jedit.backup/ before the first test run.
+
+
+4.2 ON RI
+~~~~~~~~~
+
+Do it exactly as described in 4.1 above with the following changes in step 2):
+
+2) Configure runtime under test in 'build.properties' file
+   by modifying 'test.java.home' property's value providing
+   full path to the root dir of RI's JRE (or root dir of RI's JDK);
+   Set 'test.vmarg.bootclasspath', 'test.vmarg.ush_prefix' and 
+   'test.vmarg.do_not_install_handler' properties' values in
+   'build.properties' file to empty as follows:
+
+     test.vmarg.bootclasspath=
+     test.vmarg.ush_prefix=
+     test.vmarg.do_not_install_handler=
+
+4.3 TEST RUN ARTIFACTS
+
+Any test run produces the following set of additional directories
+(not expanded here):
+
+  <INSTALL_DIR>/jedit4.2_test/
+       |
+       +-- target/
+             +-- report/         - Test run reports dir. Contains
+             |                     test run reports. Can be
+             |                     removed by 'clean.report'
+             |                     ant target invocation.
+             |
+             +-- working/        - Working directory for the tests.
+                                   Contains temporary files created
+                                   during test run. Removed/created
+                                   empty before each new test run.
+
+
+
+5. KNOWN ISSUES
+---------------
+
+1. At the moment of this archive creation only "launch" test passes on
+   Harmony's VMs. Both "functional" and "stress" tests fail after several
+   successfull scenario steps because of errors in Harmony's AWT/Swing
+   implementation.
+
+2. Because of 1 above only "launch" test can be integrated into CruiseControl
+   system. It must be replaced with "functional" one as soon as Harmony's
+   AWT/Swing implementation improved.
+
+3. There are patches for both Harmony's classes and Abbot framework in the
+   archive. However they are temporary. Corresponding Abbot patch is on
+   the project's web-page already:
+
+    http://sourceforge.net/tracker/index.php?func=detail&aid=1618017&group_id=50939&atid=461492
+
+   Harmony's patch contains stub for nonimplemented method in class
+   java.awt.Toolkit and will be eliminated after the method implementation.
+
+
+6. TODO
+-------
+
+1. Eliminate Abbot/Harmony patches (see 3 in chapter 6 above).
+
+
+8. DISCLAIMER AND LEGAL INFORMATION
+------------------------------------
+
+**) Other brands and names are the property of their respective owners.

Propchange: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/readme.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scenario.txt
URL: http://svn.apache.org/viewvc/harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scenario.txt?view=auto&rev=550346
==============================================================================
--- harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scenario.txt (added)
+++ harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scenario.txt Sun Jun 24 21:50:20 2007
@@ -0,0 +1,217 @@
+This file describes original ("manual") test scenario after which automated
+test scenarios were developed. Main purpose of automated tests is to make sure
+that implementation under test (Harmony's DRLVM for example, see
+http://harmony.apache.org) is able to run jEdit application and an user is able
+to perform some work in jEdit.
+------------------------------------------------------------
+
+
+jEdit test scenario
+
+Software requirements:
+jEdit 4.2final
+J2SE 1.5 SDK
+
+
+1. Installation jEdit & plugins
+
+1.1 Download jEdit 4.2final from here:
+
+	 http://www.jEdit.org/index.php?page=download.
+
+1.2 Install it (see installation instructions on this page as well).
+
+1.3 Change to directory where jEdit is installed (<jEdit_HOME>).
+	Run jEdit with the command “java –jar jEdit.jar”
+	(JAVA_HOME should point to java 5.0).
+	Read and close “Tips of the Day” window.
+
+1.4 Install the following plugins:
+
+	* JavaStyle: Java code beautifier and template Javadoc comment generator 
+	* JCompiler: in-process compiler for Java files in the edit buffer 
+	* ProjectViewer: tree-structured view of related project files
+ In fact more plugins will be installed because of plugin dependencies.
+
+
+1.4.1 For that perform the following steps:
+
+ Go to menu "Utilities" -> "Global Options…" -> "Proxy Servers",
+ check "Use HTTP proxy server", 
+ set "HTTP proxy host" to proper value, 
+ set "HTTP proxy port" to proper value,
+ click "Apply", and "OK"
+
+1.4.2 Go to menu "Plugins" -> "Plugin Manager", select tab "Install",
+ click on “Name” title to sort plugins in alphabet order.
+ Check the plugins listed above and press "Install" button.
+ Select "Manage" tab to make sure that all the plugins were
+ installed without errors (their status should be "Loaded").
+ Close Plugin Manager.
+ 
+1.4.3 If you experience any difficulties try to change mirror settings.
+ Open "Plugin Manager" -> "Download options..." and press
+ "Update mirror list" button.
+ Then choose "North America: University of Minnesota (Minneapolis, MN)"
+ as preferred download mirror, press "Apply", and "OK" and repeat plugins
+ installation.
+ 
+1.4.4 You can also install plugins manually.
+ For that use the following link and instructions
+      
+      http://plugins.jEdit.org/list.php
+      
+ Download and save plugins to "jar" subdirectory of your <jEdit_HOME>
+ directory, unzip them and link them up in the Plugins Manager.
+
+1.5 This item is a workaround for a bug in JCompile plugin,
+ described here: http://community.jEdit.org/?q=node/view/2729. 
+
+1.5.1 Download the plugin “Console” 4.1.2 (not 4.2.6.4) from here:
+
+      http://plugins.jEdit.org/list.php
+      
+ to <jEdit_HOME>\jars directory, unzip it.
+ 
+1.5.2 Go to “Plugins” -> “Plugin Manager”, choose “Manage” tab.
+
+1.5.3 Remove the latest version of Console plugin
+ (click on “Console 4.2.6.4” plugin and press “Remove”.
+  You will be asked for confirmation, answer “Yes”.
+  
+1.5.4 Then check “Console.jar” plugin. Now you installed Console 4.1.2. 
+
+1.6 Close jEdit (“File” -> “Exit” or “Ctrl-q”).
+
+
+
+2. Data preparation
+
+2.1 Make directory “<jEdit_HOME>\project”. Cd to it.
+
+
+
+3. Running jEdit and tune its settings
+
+3.1 Download one of the JRE to be tested.
+
+3.2 Run the following commands:
+
+	$TESTED_JAVA –jar jedit.jar
+
+ Where $TESTED_JAVApoints to runtime under test
+
+ jEdit should open. Read and close “Tip of the Day” window.
+
+3.3 Configure editor panes. 
+
+3.3.1 Open menu "Utilities" -> "Global Options" -> "Docking".
+
+3.3.2 Set Docking position for "File System Browser" window to "left" value.
+
+3.3.3 Set Docking position for "Console" window to "bottom" value.
+
+3.3.4 You can resize docked windows by dragging the splitters.
+
+
+
+4. Compile and run a simple java class
+
+4.1 Open File System Browser pane. The file tree will be shown.
+
+4.2 Expand <jEdit_HOME> -> “project”.
+
+4.3 Right click on “project” and choose “New File” from pop-up menu.
+
+4.4 Rename new file to “Hello.java” (“File” -> “Save As…”),
+ enter file name “Hello.java”. Make sure that the title of
+ the main pane is changed to "Hello.java".
+ 
+4.5 Paste the following code to the edior:
+   ------ Hello.java ------
+
+           public class Hello {
+           	public static void main(String[] args) {
+           		System.out.println("Hello, World!");
+           	}
+           }
+      ------ end of Hello.java ------
+
+4.6 Save the changes.
+ ("File" -> "Save" or press the appropriate icon on
+  the main pane tool bar or just press "Ctrl-s”).
+
+4.7 Compile java file:
+ Open "Plugins" -> "Console" -> "Compile Current Buffer..." menu.
+ Set "Source file(s)" to <jEdit_HOME>\project\Hello.java.
+ Set "Output directory" to <jEdit_HOME>\project. Press "OK". 
+
+4.8 Click "Refresh" icon in File System Browser pane.
+ Make sure that Hello.class file appeared under "project" directory.
+
+4.9 Open menu "Plugins" -> "Java Browser" -> "Open Java Browser".
+ The window with class outline should appear. Close this window.
+
+4.10 Run Hello class. Open "Plugins" -> "Console" -> "Run Current Buffer..."
+ Set “Class path” to "<jEdit_HOME>\project" and press "OK" button.
+ Open Console pane and make sure that the output is "Hello, world!
+ Process java exited with code 0".
+
+4.11 Go to “Search” -> “Find…” menu or press “Ctrl-f.
+ Set “Search for” to < ”Hello, World!” > (don’t forget commas).
+  Set “Replace with” to < System.getProperty(“java.home”) >.
+  Press “Replace All”.
+  
+4.12 Go to "Plugins" -> "JavaStyle" -> "JavaStyle Preformat Buffer" menu.
+
+4.13 Save changes (“Ctrl-s”).
+
+4.14 Repeat class compilation and running
+ (“Console” -> “Compile Current Buffer” and “Console” -> “Run Current Buffer”).
+
+
+
+5. Using miscellaneous functions
+
+5.1 Open “Utilities” -> “Global Options…”.
+ A new popup window “Options: jEdit” will appear.
+ Click “Text Area” field on the left of the window.
+ Click on the rectangle titles “Background color”.
+ Make sure that a new popup window “Pick Color” appears and
+ its tab “Swatches” is selected. Choose some background color
+ and press “OK” to close “Pick Color” window.
+ Press “Apply” and “OK” buttons in the “Option jEdit” window.
+ Make sure that the background color changed.
+ 
+5.2 Open “File” -> “Print” or “Ctrl-P”.
+ Make sure that popup window titled “Print” appeared.
+ Press “Print”. Make sure that the file Hello.java is printed.
+ 
+5.3 Open “Help” -> “About jEdit”. A new popup window “About jEdit” will appear.
+ Wait till some text will be loaded (the text should appear not very slow)
+ and close the window.
+ 
+5.4 Open “Help” -> “jEdit Help” or “F1”.
+ A new popup window “jEdit Help” will appear.
+ Make sure that the window has 2 frames.
+ A left one should contain 2 tabs – “Contents” and “Search”.
+ “Contents” tab is selected by default and represents the content tree.
+ Switch to “Search” tab and type “font” in the text area. Press “Enter”.
+ Make sure that search gives some entries.
+ Double-click one of the entries and make sure that the appropriate
+ content appears in the right frame.
+ 
+5.5 Move the mouse over the icons on toolbar and make sure
+ that the appropriate tooltips pop up.
+ 
+5.6 Close “jEdit Help” window.
+
+
+
+6. Cleanup
+
+6.1 Close all the files in the main pane buffer.
+ Press "Close" icon on the main pane tool bar or press "Ctrl-w"
+ on each open file.
+
+6.2 Close jEdit.

Propchange: harmony/enhanced/buildtest/branches/2.0/tests/jedit_test/scenario.txt
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message