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/06/25 06:50:22 UTC
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...
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! > (dont 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