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.