Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EclipseLink/Development/Testing/foundation"

(Eclipse JUnit)
(No difference)

Revision as of 15:28, 3 December 2007

Running the foundation LRG

The foundation tests consist of an LRG (long regression), SRG (short regression), and various non-classified tests (non-LRG). If anything code was changed in eclipselink.core it is recommended to run the LRG. If minimal changes were made the SRG is sufficient. Depending on what was changed, running some of the non-LRG tests may also be desirable.

There are several was to run the tests.

  • ant
  • Eclipse JUnit
  • Testing Browser

Ant

The eclipselink.core.test/build.xml contains several ant targets for testing. The test target will run the LRG. Ensure that the eclipselink.core.test/run directory contains a test.properties file that includes configuration information for your database.

 ant test

This will run the LRG, the results will be output into the run directory as html.

Eclipse JUnit

The eclipselink.core.test Eclipse project contains launch targets in the elipselink.core.test/run directory to run the LRG or SRG through the Eclipse JUnit integration. Ensure that the eclipselink.core.test/run directory contains a test.properties file that includes configuration information for your database.

Note that the majority of the foundation tests are built using a legacy test framework which has been migrated to extend JUnit. One issue is that the total number of tests are unknown before the tests are setup, so the progress bar in Eclipse will not be accurate.

Ensure the following:

  • JAVA_TOOLS_LIB variable has been mapped to your JDK tools.jar
  • JDBC_LIB variable has been mapped to your database's JDBC driver
  • Some JDBC drivers may require the system library path to be set, or dlls to be on the path

Testing Browser

Early in its existence, this product was tested with an in-house testing framework. A large number of tests are still available through this test framework. Testing is gradually being migrated to frameworks such as JUnit, but the GUI tool available in the legacy framework is still quite useful for testing. The code for this test framework is stored in the eclipselink.core.test project.

The eclipselink.core.test Eclipse project contains a launch targets in the elipselink.core.test/run directory to run the Testing Browser.

You could also configure your own run target:

  1. Run the process.resource target of the build.xml in the base directory of the eclipselink.core.test project as an ant script. This will copy some xml files to your eclipselink.core.test/run directory.
  2. Create a Java Application run target on the eclipselink.core.test project - I'll call it Testing Browser
  3. Use org.eclipse.persistence.testing.framework.ui.TestingBrowserFrame as the main class
  4. Add "-Xmx256m -Djava.security.manager -Djava.security.policy==${workspace_loc:eclipselink.core.test}/resource/java.policy.allpermissions" to the VM arguments section of the Arguments tab
  5. Add the following to the classpath: (note these are listed by category and you may be able to run subsets of the tests without certain categories)
    1. JDBC
      1. your JDBC driver of choice
    2. JPA
      1. jpa.core
      2. jpa.test
    3. Oracle Extensions
      1. eclipselink.extension.oracle
      2. eclipselink.extension.oracle.test
      3. jars required to compile eclipselink.extension.oracle - aqapi.jar, sdoapi.jar, dms.jar, xdb.jar, xml.jar, xmlparserv2.jar
    4. Java
      1. a JAVA_TOOLS_LIB variable that points to the tools jar in your java installation
    5. Generated classes
      1. Add the base directory of the eclipselink.core.test project. For some reason, this is where all java output goes. We output some java files and then compile them. They will go there.
  6. Run the "Testing Browser" run target
  7. Input you DB login information. You can do this by selecting a value from the "Quick Login" drop box and then edit the form on the right side of the GUI with any information that is different from what is already populated
  8. Run either the SRGTestModel or the LRGTestModel listed on the right side of the GUI by selecting it and then clicking the "Run Test" button.

Back to the top