Apache Harmony is retired at the Apache Software Foundation since Nov 16, 2011.

The information on these pages may be out of date, or may refer to resources that have moved or have been made read-only.
For more information please refer to the Apache Attic

Short Integrity Cycle

If there is a need to establish short integrity cycle which ensures that the code is compliable and basic functionality is not broken. Then such cycle can be organized in pretty straightforward way. Let’s take EHWA-API as test scenario and run it on DRLVM:

1) Install the same tools, as for building the Apache Harmony components.

2) Check out the infrastructure from SVN repository:

svn co http://svn.apache.org/repos/asf/harmony/enhanced/buildtest/trunk/infra

3) Change directory to the infrastructure directory and create the next ‘framework.local.properties’ in it

# Setup for mail notifications
framework.parameters.usemail=<your_smtp_server>
framework.parameters.usemail.to=<list_of_recipients>
framework.parameters.usemail.from=<test_account_name>

# Suffix for notifications' subject
framework.parameters.usemail.subject.suffix=debug

# Send notification only if suite status changes
framework.parameters.usemail.always=false

# Enable notifications for Class library and DRLVM (disabled by default)
classlib.parameters.cc.publish=true
drlvm.parameters.cc.publish=true

# Directory to store archived results
framework.parameters.optional.upload.dir=<results_dir>
      

4) Run the following commands:

ant -Dtest.suites="classlib,drlvm,ehwa-api" install
ant setup
ant run-cc
      

These steps launches CruiseControl with Class library, DRLVM and EHWA-API test scenario. Alerts notifications are sent to specified ${framework.parameters.usemail.to} and test results can be found in ${framework.parameters.optional.upload.dir} The testing cycle is triggered by update of Class library or DRLVM source code in SVN repository.

Back to top

Extended Integrity Cycle

Let's setup integrity cycle which is targeted to catch regression early. So the cycle is based on HDK and runs unit tests from Class library, DRLVM and JDKTools workspaces. Also let's optimize disk space usage and run unit suites in built HDK workspace (by default they are checked out to a separate workspace)

1) Install the same tools, as for building the Apache Harmony components.

2) Check out the infrastructure from SVN repository:

svn co http://svn.apache.org/repos/asf/harmony/enhanced/buildtest/trunk/infra

3) Change directory to the infrastructure directory and setup HDK workspace first.

ant -Dtest.suites="hdk" install
ant setup
      
After that step there is HDK workspace that is used to configure/setup unit tests.

3) Create the next ‘framework.local.properties’:

# Setup for mail notifications
framework.parameters.usemail=<your_smtp_server>
framework.parameters.usemail.to=<list_of_recipients>
framework.parameters.usemail.from=<test_account_name>

# Suffix for notifications' subject
framework.parameters.usemail.subject.suffix=debug

# Send notification only if suite status changes
framework.parameters.usemail.always=false

# Directory to store archived results
framework.parameters.optional.upload.dir=<results_dir>

# Unit tests depend on HDK build now (by default they depend on DRLVM)
classlib-test.parameters.depends=hdk
drlvm-reg-test.parameters.depends=hdk
drlvm-test.parameters.depends=hdk
jdktools-test.parameters.depends=hdk

# Tests are run in HDK workspace against HDK's JRE 
classlib-test.parameters.required.tested.jre=${hdk.parameters.shared.binaries.jre.dir}
classlib-test.parameters.svn.classlib.dir=hdk/classlib

drlvm-test.parameters.required.hy.hdk=${hdk.parameters.shared.trunk.dir}/target/hdk
drlvm-test.parameters.required.drlvm.config=debug
drlvm-test.parameters.svn.drlvm.dir=hdk/drlvm
drlvm-test.parameters.svn.common_resources.dir=hdk/common_resources

drlvm-reg-test.parameters.required.hy.hdk=${hdk.parameters.shared.trunk.dir}/target/hdk
drlvm-reg-test.parameters.required.drlvm.config=debug
drlvm-reg-test.parameters.svn.drlvm.dir=hdk/drlvm
drlvm-reg-test.parameters.svn.common_resources.dir=hdk/common_resources

jdktools-test.parameters.required.tested.jre=${hdk.parameters.shared.binaries.jre.dir}
jdktools-test.parameters.svn.jdktools.dir=hdk/jdktools
jdktools-test.parameters.svn.common_resources.dir=hdk/common_resources
      

4) Run the following commands:

ant -Dtest.suites="hdk,classlib-test,drlvm-test,drlvm-reg-test,jdktools-test" install
ant setup
ant run-cc
      

These steps launches CruiseControl that build HDK and runs unit tests. The testing cycle is triggered by update of HDK source code in SVN repository. Alerts notifications are sent to specified ${framework.parameters.usemail.to} and test results can be found in ${framework.parameters.optional.upload.dir}

Back to top

Snapshot Cycle

Let's setup snapshot testing cycle that includes Class library, DRLVM and JDKTools unit tests. The setup is pretty straightforward.

1) Install the same tools, as for building the Apache Harmony components.

2) Check out the infrastructure from SVN repository:

svn co http://svn.apache.org/repos/asf/harmony/enhanced/buildtest/trunk/infra

3) Change directory to the infrastructure directory.

4) Copy ‘framework.local.properties’ file from snapshot adaptor' dir to the root dir.

cp adaptors/snapshot/framework.local.properties .

5) Update ‘framework.local.properties’. For example, if e-mail notifications are required then set appropriate values in the file.

6) Run the following commands:

ant -Dtest.suites="snapshot,classlib-test,drlvm-test,drlvm-reg-test,jdktools-test" install
ant setup
ant run-cc
      

These steps launches CruiseControl that downloads and unpacks snapshot and runs unit tests. The testing cycle is run once per snapshot.

Back to top

Integrate New Suite/Scenario

TODO.

Back to top