Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
COSMOS/COSMOS TEST AUTO
Contents
1) Introduction
This page provides information and links related to Test Automation of COSMOS junits.
2) Test Automation Overview
The COSMOS build is based on Eclipse PDE (Plug-in Development Environment) and it runs in the eclipse server. Currently the candidate drivers at the end of an iteration are manually tested by the respective component teams. This initiative is to define the process of testing and automate junit execution as part of the build. By automating and integrating with the build, testing can be done more often and bugs will be discovered early on.
The test cases are available in CVS at the following location:
Go to HEAD -> org.eclipse.cosmos -> tests
3) Test Details
The following table briefly explains the different contacts for the test cases as well as the pre reqs and test setup needed to execute it.
Sl No | Component | Test Project | Contact Person | Dependencies | Test Setup | Test Automation |
---|---|---|---|---|---|---|
1 | data-collection | org.eclipse.cosmos.dc.cmdf.services.tests | David Whiteman | org.eclipse.cosmos.common.tests | The directory in testTempDirectory in CMDBfTestMessages.properties will be created. This will need to be changed from the default for Linux testing. | Done, only normal junits, no plugin junits |
2 | data-collection | org.eclipse.cosmos.dc.framework.test | ? | ? | ? | Execution works fine, but all the test cases fails, need this to be deployed http://localhost:8080/cosmos/services |
3 | data-collection | org.eclipse.cosmos.dc.tests | ? | ? | ? | The project cannot be compiled due to following dependency errors: missing required Java projects: |
4 | data-collection | org.eclipse.cosmos.example.mdr.registration.tests | Ali Mehregani | COSMOS environment | This test requires the COSMOS environment to be running before the test is executed. It's meant to perform functional testing on the registration service. It's probably unrealistic to run this plug-in against each build. I would exclude this test from your test automation framework | |
1 | data-reporting | org.eclipse.cosmos.dr.tests.drs.service.handler | Sheldon Lee-Loy | The COSMOS End 2 End should be deployed on http://localhost:8080 | The project cannot be compiled due to following dependency errors: 1) missing required Java project: 'org.eclipse.cosmos.dr.drs.service.handler' | |
2 | data-reporting | org.eclipse.cosmos.dr.tests.drs.service.handler.tptp | Sheldon Lee-Loy | org.eclipse.cosmos.dr.tests.drs.service.handler | The COSMOS End 2 End should be deployed on http://localhost:8080 | The project was not built since it depends on org.eclipse.cosmos.dr.tests.drs.service.handler, which has build path errors |
1 | management-enablement | org.eclipse.cosmos.me.dmtoolkit.tests | David Whiteman | org.eclipse.cosmos.common.tests, Webtools platform | One manual test in addition to a plugin test. | InactiveProcessException while executing testcase |
2 | management-enablement | org.eclipse.cosmos.me.management.tests | ? | ? | ? |
The project cannot be compiled due to following dependency errors: |
1 | resource-modeling | org.eclipse.cosmos.rm.repository.tests | David Whiteman | org.eclipse.cosmos.common.tests | See org.eclipse.cosmos.rm.repository.tests/src/org/eclipse/cosmos/rm/repository/tests/common/testMessages.properties and org.eclipse.cosmos.rm.repository.tests/src/META-INF | Done, only normal juints, no plugin junits. Configuration reqd as mentioned. |
2 | resource-modeling | org.eclipse.cosmos.rm.smlif.tests | David Whiteman | org.eclipse.cosmos.common.tests | Configure artifacts in org.eclipse.cosmos.rm.smlif.tests/test-resources. Open the TPTP artifacts to see documentation on what is required. | Partially done, AllTests.testsuite works. Error while executing TPTP plugin junits - junit.framework.AssertionFailedError: The project P/org.eclipse.cosmos.rm.example.datacenter does not exist in the test workspace at E:/Bobz/workarea/COSMOS/TestAuto/tmp/test-workspace |
3 | resource-modeling | org.eclipse.cosmos.rm.validation.tests | David Whiteman | org.eclipse.cosmos.common.tests | See org.eclipse.cosmos.rm.validation.tests/src/org/eclipse/cosmos/rm/validation/internal/common/testMessages.properties. Also need to configure artifacts in org.eclipse.cosmos.rm.validation.tests/test-resources for plugin tests (open the artifacts to read documentation on doing this). | Done, both normal and plugin junits work. |
We will try to automate as much as possible from the above list using the TPTP Test Automation Framework.
4) Test Automation Setup
Please check "/org.eclipse.cosmos/releng/org.eclipse.cosmos.releng.builder/test-automation" cvs structure for the files refer in following instructions.
1) To create proper automation directory structure please checkout and run "create-test-structure.bat" as follows : create-test-structure.bat D:\COSMOS\test-automation This will create following directory structure in test automation directory. artifacts |-ant |-cvs |-cosmos |-tptp45 |-tptp441 |-webapp bin config lib logs script test-results
2) Install apache-ant-1.7.0-bin to "artifacts\ant" location.
3) Copy cvs.exe to "artifacts\cvs" location. Download this from http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/. cvs-1-11-14.zip file contains cvs.exe.
4) Copy following zip files to "artifacts\tptp45" location. These files can be found at TPTP 4.5 download page. (For axis check apache web page) tptp.runtime.allInOne.win32.win32.x86-TPTP-4.5.0.zip org.eclipse.tptp.test.report.birt-TPTP-4.5.0.zip birt-report-framework-2_3_0.zip wtp-R-3.0-20080616152118a.zip GEF-runtime-3.4.0.zip dtp_1.6.0.zip axis2-1.3-bin.zip
5) Copy following zip files to "artifacts\tptp441" location and then unzip them. These files can be found at TPTP 4.4.1 download page. tptp.runtime.allInOne.win32.win32.x86-TPTP-4.4.1.zip birt-report-framework-2_2_2.zip dtp_1.5.2_022008.zip GEF-runtime-3.3.2.zip wtp-R-2.0.2-20080223205547.zip
6) Copy following files to "artifacts\webapp" location. apache-tomcat-5.5.27.zip axis2.war birt-runtime-2_3_0.zip
7) Copy "run_testauto.bat" file to "bin" directory and then modify following variable in that batch file. set automation_home=D://COSMOS//test-automation set cvspath=D:\COSMOS\test-automation\artifacts\cvs set antpath=D:\COSMOS\test-automation\artifacts\ant\bin Make sure to use same file seperator character for variables as given in batch file.
8) Copy "testauto.properties" file to "config" directory and then modify following variable in that file according to test machine environment. JAVA_HOME=C:/Program Files/IBM/Java50 cosmos-url=http://build.eclipse.org/technology/cosmos/downloads/COSMOS/1.1.0/ scp-user=build scp-pwd=build-cosmos scp-host=build.eclipse.org scp-host-path=/shared/technology/cosmos/downloads/COSMOS/1.1.0 Provide your eclipse user and password information for scp related settings.
9) Copy following files to "script" directory. testauto.xml testauto_setup.xml testdc.xml testdr.xml testrm.xml testsdd.xml
(10) To setup "lib" directory. Copy "ant-tptp.jar" to lib from "tptp.runtime.allInOne.win32.win32.x86-TPTP-4.5.0.zip/eclipse\dropins\ eclipse\plugins\org.eclipse.hyades.execution_4.4.200.v200806120100". Copy "com.ibm.icu_3.8.1.v20080530.jar" to lib from "tptp.runtime.allInOne.win32.win32.x86-TPTP-4.5.0.zip/eclipse/plugins". Copy "org.eclipse.osgi_3.4.0.v20080605-1900.jar" to lib from "tptp.runtime.allInOne.win32.win32.x86-TPTP-4.5.0.zip/eclipse/plugins". Copy "jsch-0.1.29.jar" to lib. (This file used for ant scp task) Download this from http://sourceforge.net/project/showfiles.php? group_id=64920&package_id=107616 Checkout "test-automation/src" from cvs,create Jar out of it and copy it to lib. Name of the jar file does not matter but preferrably it can be named as "TestAuto.jar"
11) Run "bin/run_testauto.bat" to run the test-automation.