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.
Difference between revisions of "EclipseLink/Development/Testing/SDO"
< EclipseLink | Development | Testing
(→Interpreting Ant Test Results) |
(→Building & Running the SDO Junit tests - prerequisites) |
||
Line 8: | Line 8: | ||
## Build/run classes using Ant | ## Build/run classes using Ant | ||
− | == Building & Running the SDO Junit tests | + | == Building & Running the SDO Junit tests== |
+ | ===Prerequisites=== | ||
# Eclipse installed with the subclipse pluggin or TortoiseSVN for out of eclipse checkouts | # Eclipse installed with the subclipse pluggin or TortoiseSVN for out of eclipse checkouts | ||
# Required projects eclipselink.core and eclipselink.lib checked out into workspace/view | # Required projects eclipselink.core and eclipselink.lib checked out into workspace/view |
Revision as of 23:27, 27 October 2007
Contents
Summary
This page is intended to outline the setup and execution steps required to successfully run the SDO JUnit tests. There are 2 ways to checkout EclipseLink and 2 ways to run the tests.
- Checkout using subclipse all projects individually into your eclipse workspace
- Build classes in eclipse and run/debug there
- Build/run classes using Ant
- Checkout using tortoiseSVN the root trunk into a folder outside your workspace and either use ant to build an eclipselink.jar or create proxy projects using link to source from eclipse - Recommended if you would like to build the eclipselink.jar
- Build classes in eclipse and run/debug there
- Build/run classes using Ant
Building & Running the SDO Junit tests
Prerequisites
- Eclipse installed with the subclipse pluggin or TortoiseSVN for out of eclipse checkouts
- Required projects eclipselink.core and eclipselink.lib checked out into workspace/view
- eclipselink.sdo, eclipselink.sdo.lib and eclipselink.sdo.test checked out into workspace/view
- Edit build.properties either at this project level or globally in your user directory.
- Windows: C:\Documents and Settings\<user-dir> Linux:
- javaee.lib=<jar_location>/javaee.jar - required by MOXy or core tests
- junit.lib=<JUNIT_HOME>/junit.jar - required by eclipselink.sdo.test
- tools.lib=<JAVA_HOME/lib/tools.jar - required by eclipselink.sdo.test
- Currently an integrated test suite that will run all EclipseLink projects including SDO is being developed. You can run the SDO test suite by overriding some variables in your <user-dir>/build.properties depending on whether you are running inside an eclipse workspace (2) or not (1). The eclipselink.core.lib variable already set on the local build.properties will resolve a dependency on org.eclipse.persistence.internal.libraries.asm in eclipselink-asm.jar
- Running ant outside an eclipse workspace
- Leave eclipselink.* variables as-is on the local build.properties
- Running ant inside an eclipse workspace
- Modify the following variables to account for the different directory structure...
- eclipselink.core=../../foundation/eclipselink.core
- eclipselink.core.lib=../../foundation/eclipselink.core.lib
- Modify the following variables to account for the different directory structure...
- Running ant outside an eclipse workspace
- Configuration options
- The tests run by default using a non-static customContext=true which is the mode that will normally be used in a multithreaded container.
- customContext = true (run test using an thread-safe instantiable instance of SDOHelperContext) - default
- customContext = false (run test using static HelperContext Singleton)
Building & Running within an Eclipse Workspace via subclipse checkout
The SDO test suite is written using JUnit. It consists of a set of jars that contain various tests and resources. The SDO tests are contained in the eclipselink.sdo.test project
- Running using Ant
- Navigate to the <workspace>/eclipselink.sdo.test directory
- Run the sdo.test/build.xml by typing "ant". This will compile in order eclipselink.core, eclipselink.sdo and eclipselink.sdo.test and should take around 2-4 min.
- View results in the reports subdirectory
- Running using Eclipse
- Setting up Eclipse
- Checkout 5 of 11 new projects (projects will be created inside the workspace) (core,core.lib,sdo,sdo.lib,sdo.test) using SVN (turn off automatic build temporarily)
- Setting up Eclipse
- Goto "Running a suite"
Building & Running within a Subversion checkout (outside an eclipse workspace)
- Create your own view directory - for example "c:/view_el/"
- Check out the SVN project for SDO into this directory using the format svn+ssh://<username>@<svn_session>/svnroot/technology/org.eclipse.persistence/trunk
- Either build all 4 core, jpa, moxy and sdo projects into an eclipselink.jar by following the instructions in Building EclipseLink Source - specifically the section on setting up the extension jars not included in eclipselink.core.lib like (aqapi.jar, sdoapi.jar(spatial), ojdb14dms_10.jar(or other jdbc lib), xdb.jar, xml.jar, xmlparserv2.jar), or allow the sdo test script to run off classes by doing the following...
- Edit your local or global build.properties file
- Navigate to the eclipselink.sdo.test directory
- Run sdo.test/build.xml by typing "ant"
- View results in the reports subdirectory under true|false
- Setting up Eclipse
- Create 5 of 11 new projects (core,core.lib,sdo,sdo.lib,sdo.test) from existing source = "c:/view_el/eclipselink.* (turn off automatic build temporarily)
- At this point you should get 2 errors if the TOOLS_LIB variable is not set for sdo.test. Set this variable globally using Window | Preferences | Java | Build Path | Classpath Variables - new -> name=TOOLS_LIB, path==<JAVA_HOME/lib/tools.jar
- Goto "Running a suite"
Running the SDO Junit tests
Running a suite
- Turn "build automatically" back on to build classes
- Pick a suite - we will use org.eclipse.persistence.testing.sdo.model.sequence.SDOSequenceTestCS as it is small and utilizes resources as well as core xsd/xml define/load functions.
- Create a new java application run/debug target
- Modify the arguments tab|working directory to point to ${workspace_loc:eclipselink.sdo.test/resource} or create a resource variable to reuse in other targets - this is where all tests will execute.
- Setup sdo variables, in particular those used by class generation
- Window | Preferences | Java | Installed JRE's | <your JDK> | Edit | Default VM Arguments
- -Djaxb.test.contextpath=oracle.toplink.testing.ox.jaxb.dom
- -Dtoplink.xml.platform=oracle.toplink.platform.xml.jaxp.JAXPPlatform
- -DuseLogging=true
- -DuseSAXParsing=true
- -DuseDeploymentXML=false
- -DignoreCRLF=true
- -DcustomContext=true
- -Xloggc:c:\wse\gc.log -DXprof (profiling log - optional)
- -DXmx512m (increase memory size - may be required for some larger suites like loadandsave)
- -Dparser=org.eclipse.persistence.platform.xml.jaxp.JAXPParser
- (Set the classpath used by the class generation test suite - relative to ${resource.dir}) - here for projects checked out to your workspace
- -Dsdo.classgen.compile.path=../eclipselink.sdo/classes;../eclipselink.sdo.lib;../classes;../eclipselink.core.lib/mail.jar;../eclipselink.core.lib/activation.jar;../%JAVA_HOME%/lib/tools.jar;../
- Above classgen.compile.path to be verified 20071026
- Window | Preferences | Java | Installed JRE's | <your JDK> | Edit | Default VM Arguments
- Run the test and observe results in the Console
Interpreting Ant Test Results
- See the SDO test results page numbers and the detailed results to validate your own results.
- Depending on the value of the customContext variable look under the true|false subdirectory in junit-noframes.html