Jump to: navigation, search

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

m (Prerequisites)
Line 38: Line 38:
 
*Select all or a subset of projects
 
*Select all or a subset of projects
  
===Prerequisites===
+
=== Prerequisites ===
* [http://tortoisesvn.tigris.org TortoiseSVN] and a saved [http://www.chiark.greenend.org.uk/~sgtatham/putty  PuTTY] SSH session
+
* ''TortoiseSVN - network setting - SSH client'' set as '''<TortoiseSVN_HOME>\bin\TortoisePlink -l <userName> -pw <password_cleartext>'''
+
[[Image:Explorer_right_click_svn_settings_menu.JPG|400px]]
+
*[http://wiki.eclipse.org/EclipseLink/Building/Automate Automated SVN or command-line SVN setup]
+
* You will need to enable some ports or just disable your software firewall.
+
* Eclipse 3.2-3.4|1.5 installed with the subclipse plug-in for in-eclipse checkouts
+
* Referenced core projects '''org.eclipse.persistence.core''' and '''eclipselink.core.lib''' checked out into workspace or view
+
* Required projects for your specific view '''org.eclipse.persistence.sdo|moxy|jpa|dbws''', '''eclipselink.sdo|moxy|jpa|dbws.lib''' and '''eclipselink.sdo|moxy|jpa|dbws.test''' checked out into workspace or view
+
* If using Ant instead of Eclipse to run - edit build.properties either at this project level or better - globally override the following in your user directory on windows: ''C:/Documents and Settings/<user-dir>/build.properties''
+
<blockquote style="background: grey; border: 1px solid rgb(153, 153, 153); padding: 1em;"><pre><nowiki>
+
javaee.lib=<jar_location>/javaee.jar - required by MOXy or core tests
+
junit.lib=<JUNIT_HOME>/junit.jar
+
</nowiki></pre></blockquote>
+
*Override any project specific variables in your ''<user-dir>/build.properties'' depending on whether you are running inside an eclipse workspace or outside.
+
*If the directory variable '''extensions.depend.dir''' is not in the standard expected location - 1 level above the trunk at '''<trunk>/../extension.lib.external''' then override it in your own build.properties using the following similar line
+
**<font color="red">extensions.depend.dir=E:/view_libs/extension.lib.external</font>
+
*Add the following javac.debug properties if you are debugging in Eclipse using code built either by Eclipse or Ant.
+
  
<pre>
+
*[http://tortoisesvn.tigris.org TortoiseSVN] and a saved [http://www.chiark.greenend.org.uk/~sgtatham/putty PuTTY] SSH session
javac.debug=true
+
*''TortoiseSVN - network setting - SSH client'' set as '''&lt;TortoiseSVN_HOME&gt;\bin\TortoisePlink -l &lt;userName&gt; -pw &lt;password_cleartext&gt;'''
 +
 
 +
[[Image:Explorer right click svn settings menu.JPG|400px]]
 +
 
 +
*[http://wiki.eclipse.org/EclipseLink/Building/Automate Automated SVN or command-line SVN setup]
 +
*You will need to enable some ports or just disable your software firewall.
 +
*Eclipse 3.2-3.4|1.5 installed with the subclipse plug-in for in-eclipse checkouts
 +
*Referenced core projects '''org.eclipse.persistence.core''' and '''eclipselink.core.lib''' checked out into workspace or view
 +
*Required projects for your specific view '''org.eclipse.persistence.sdo|moxy|jpa|dbws''', '''eclipselink.sdo|moxy|jpa|dbws.lib''' and '''eclipselink.sdo|moxy|jpa|dbws.test''' checked out into workspace or view
 +
*If using Ant instead of Eclipse to run - edit build.properties either at this project level or better - globally override the following in your user directory on windows: ''C:/Documents and Settings/&lt;user-dir&gt;/build.properties''
 +
<blockquote style="border: 1px solid rgb(153, 153, 153); padding: 1em; background: grey none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><pre>junit.lib=&lt;JUNIT_HOME&gt;/junit.jar
 +
</pre></blockquote>
 +
*Override any project specific variables in your ''&lt;user-dir&gt;/build.properties'' depending on whether you are running inside an eclipse workspace or outside.
 +
*If the directory variable '''extensions.depend.dir''' is not in the standard expected location - 1 level above the trunk at '''&lt;trunk&gt;/../extension.lib.external''' then override it in your own build.properties using the following similar line
 +
**<font color="red">extensions.depend.dir=E:/view_libs/extension.lib.external</font>
 +
*Add the following javac.debug properties if you are debugging in Eclipse using code built either by Eclipse or Ant.
 +
<pre>javac.debug=true
 
javac.debuglevel=lines,vars,source
 
javac.debuglevel=lines,vars,source
 
</pre>
 
</pre>

Revision as of 15:52, 8 September 2009

Summary

The EclipseLink test suites are written using JUnit. They consist of a set of jars and classes that contain various tests and resources. The tests are contained in the eclipselink.*.test projects. This page is intended to outline the setup and execution steps required to successfully run the JUnit tests. There are 2 ways to checkout EclipseLink and for each of these there are 2 ways to run tests.

  1. Checkout using Subclipse all projects individually into your eclipse workspace
    1. Build classes in eclipse and run/debug there
    2. Build/run classes using Ant 1.7 or greater
  2. or.. Checkout using TortoiseSVN the root trunk into a folder outside your workspace (IE: c:/view_root) 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 - but you will require some build.properties changes.
    1. Build classes in eclipse and run/debug there
    2. Build/run classes using Ant 1.7 or greater
Checkout using right-click menu | checkout, or via commandline :
view_root>tortoiseProc /command:checkout /path:"c:\view_root" 
/url:svn+ssh://username@eclipse/svnroot/rt/org.eclipse.persistence/trunk /closeonend:1

Note: @eclipse is your putty session name


Recommended eclipse.ini settings for EclipseLink

The following eclipse.ini settings are recommended. The -showLocation, -framework and -Dsun.lang.ClassLoader.allowArraySyntax are new, the XXMaxPermSize attribute is modified.

-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512M
-framework
plugins\org.eclipse.osgi_3.4.0.v20080605-1900.jar
-vmargs
-Dsun.lang.ClassLoader.allowArraySyntax=true
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Importing EclipseLink Projects Into Eclipse

  • Right click in "Package Explorer" or "Navigator" and select Import | Existing projects into workspace
  • Make sure the check box "copy projects into workspace" is UN-checked or you will end up with 2 copies
  • Select all or a subset of projects

Prerequisites

  • TortoiseSVN and a saved PuTTY SSH session
  • TortoiseSVN - network setting - SSH client set as <TortoiseSVN_HOME>\bin\TortoisePlink -l <userName> -pw <password_cleartext>

Explorer right click svn settings menu.JPG

  • Automated SVN or command-line SVN setup
  • You will need to enable some ports or just disable your software firewall.
  • Eclipse 3.2-3.4|1.5 installed with the subclipse plug-in for in-eclipse checkouts
  • Referenced core projects org.eclipse.persistence.core and eclipselink.core.lib checked out into workspace or view
  • Required projects for your specific view org.eclipse.persistence.sdo|moxy|jpa|dbws, eclipselink.sdo|moxy|jpa|dbws.lib and eclipselink.sdo|moxy|jpa|dbws.test checked out into workspace or view
  • If using Ant instead of Eclipse to run - edit build.properties either at this project level or better - globally override the following in your user directory on windows: C:/Documents and Settings/<user-dir>/build.properties
junit.lib=<JUNIT_HOME>/junit.jar 
  • Override any project specific variables in your <user-dir>/build.properties depending on whether you are running inside an eclipse workspace or outside.
  • If the directory variable extensions.depend.dir is not in the standard expected location - 1 level above the trunk at <trunk>/../extension.lib.external then override it in your own build.properties using the following similar line
    • extensions.depend.dir=E:/view_libs/extension.lib.external
  • Add the following javac.debug properties if you are debugging in Eclipse using code built either by Eclipse or Ant.
javac.debug=true
javac.debuglevel=lines,vars,source

Classpath Variables

Ensure the following (Java | Build Path | Classpath Variables) are set:

  • ORACLE_JDBC_LIB variable has been mapped to your database's JDBC driver (compile-time for extension project)
  • JDBC_LIB variable has been mapped to your database's JDBC driver (vendor-agnostic driver)
  • Some JDBC drivers may require the system library path to be set, or dlls to be on the path
  • TOOLS_LIB variable has been mapped to your JDK tools.jar
  • The following jars may be placed into extension.oracle.lib.external
    • AQAPI_LIB variable has been mapped to your aqapi*.jar
    • SPATIAL_LIB variable has been mapped to sdoapi.jar
    • XDB_LIB variable has been mapped to xdb.jar
    • XML_LIB variable has been mapped to xml.jar
    • XMLPARSERV2_LIB variable has been mapped to the oracle specific xmlparserv2.jar

The following classpath variables are required for the example.jpa.common project

  • javax-persistence has been mapped to /jpa/plugins/javax.persistence*.jar (currently _2.0_preview)
  • eclipselink-jar variable has been mapped to eclipselink.jar at the SVN root

The following classpath variable is required for the util.workbench* projects

  • ECLIPSELINK_JAR has been mapped to eclipselink.jar at the SVN root

Eclipse Preparation

Note: Before testing in Eclipse using the Testing Browser - you will need to a full root build of EclipseLink in 'trunk>ant' so that the test jars eclipse*model.jar get created and placed on the root of jpa/eclipselink.jpa.test. Please refresh your eclipselink.jpa.test project to pick these up before running the Testing Browser eclipse launch target.

How To