SDO CTS (TUSCANY) edited by Amita Vadhavkar
Page: http://cwiki.apache.org/confluence/display/TUSCANY/SDO+CTS
Changes:
http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=46768&originalVersion=12&revisedVersion=13
Content:
---------------------------------------------------------------------
{section:border=false}{column:width=15%}
{include: SDO Java Subproject Menu}{column}{column:width=85%}
{panel:title=Apache Tuscany SDO Community Test Suite
|borderStyle=solid|borderColor=#C3CDA1|titleBGColor=#C3CDA1|bgColor=#ECF4D1}
* [What is SDO Community Test Suite (SDO CTS)|#Definition]
* [How to get involved? |#How to get involved?]
* [Obtaining and using the CTS|#Obtaining and using the CTS]
* [Running the CTS against Tuscany in Eclipse|#Run it]
\\
{panel}
h3. {anchor:Core Definition} {bgcolor:#C3CDA1}What is SDO Community Test Suite
(SDO CTS) {bgcolor}
The SDO CTS provides a set of test that exercise *any* SDO 2.1 implementation.
The tests validate an SDO implementation behaves as expected, according to the
community's understanding of the SDO specification.
The SDO CTS enables developers to choose or switch SDO implementations without
the concern of having to re-code a significant proportion of their application
due to differences between implementations. This community test suite is
initially focuses on areas seen as important to developers of SDO applications.
Over time this will grow to include a larger proportion of the SDO
specification according to the community's desire. The SDO CTS does not claim
to be a validation or compliance suite, nor does it endorse any specific
implementation.
If the SDO specification appears ambiguous or unclear then the community may
decide what to do; it could decide to test the area with an agreed expected
behavior, or decide not to test this area. Ambiguities will be fed back to the
specification group for clarification.
h3. {anchor:How to get involved?} {bgcolor:#C3CDA1}How to get involved?{bgcolor}
SDO users feedback and involvement would be greatly appreciated. Tell us what
is important to you, and if you can provide test cases.
Start by sending an email to the Tuscany Users <[EMAIL PROTECTED]> mailing
list, if possible add a \[SDO CTS\] at the start of the subject line to make it
easier to spot.
If you already have suitable test cases that you'd like to contribute, then go
ahead and open an _improvement_ in [our tracking
system|http://issues.apache.org/jira/browse/TUScany].
h3. {anchor:Obtaining and using the CTS} {bgcolor:#C3CDA1}Obtaining and using
the CTS{bgcolor}
Currently the SDO CTS is only available in source form from the subversion
repository. You will need the following:
* A [subversion|http://subversion.tigris.org/] client
* A [Maven 2|http://maven.apache.org] build environment.
The code can be downloaded from [the subversion
repository|http://svn.apache.org/repos/asf/incubator/tuscany/java/cts/] using :
{code}
svn co http://svn.apache.org/repos/asf/incubator/tuscany/java/cts/
{code}
The SDO CTS project currently contains two sub-projects:
* cts/sdo2.1 contains the actual test cases
* cts/sdo2.1-tuscany executes the test cases against the current Tuscany
Implementation
To build the CST and run it against the Tuscany implementation all you need to
do is:
{code}
[EMAIL PROTECTED]:~$ cd cts
[EMAIL PROTECTED]:~/cts$ mvn
{code}
Note that some users report that 0 tests are executed when performing these
instructions. This is reported in Jira
[TUSCANY-1249|https://issues.apache.org/jira/browse/TUSCANY-1249]. If you see
these symptoms and have any insights please report them in the Jira. An
alternative means of running the tests is to run them from within the Eclipse
platform as described below.
If you would like to execute the SDO CTS against a different implementation
then you will need to provide a helper class.
h4. {anchor:Run it} {bgcolor:#C3CDA1}Running the CTS against Tuscany in
Eclipse{bgcolor}
Within the Tuscany svn repository there are two distinct source code
hierarchies related to the CTS. The first, under the directory sdo2.1 is the
real community test suite, and the second, sdo2.1-tuscany is the code that
Tuscany uses to exercise the CTS. Another SDO implementation wishing to use the
CTS would need to produce code similar to the Tuscany specific code to run the
CTS tests against itself. It is important to maintain the separation of these
two source hierarchies, so that no Tuscany code leaks into the generic CTS
code, otherwise other SDO implementations would see compile failures in the
core CTS because of the absence of the Tuscany code from their environment.
If you are running and perhaps modifying the CTS in Eclipse then you can get
help from Eclipse to ensure that this separation is maintained by setting up
two Eclipse projects. By ensuring that there is a one way dependency of the
Tuscany specific eclipse project on the CTS generic Eclipse project you will
benefit from Eclipse signaling compile failures when an attempt is made to
create an inappropriate dependency.
* In a command window in the root folder, issue the command "mvn" to compile
the CTS artifacts and install them into your local maven repository
* Change directory to the sdo2.1 directory and issue the command "mvn
eclipse:eclipse"
* Change directory to the sdo2.1-tuscany directory and issue the command "mvn
eclipse:eclipse"
* Open eclipse and import the two projects into your existing workspace
** Switch to the Java perspective
** Execute "File => Import ... => General => Existing project into workspace
** Click "Browse ..." Navigate to the CTS/sdo2.1 directory and click OK
** Select the sdo2.1-cts project and click OK
* After Eclipse has built the project you may see that there are compile
errors. This is because Maven has created build dependencies for the project
on the contents of your maven repository, but Eclipse doesn't yet know where
that repository is. If you see this, you must create and assign a value to the
M2_REPO variable within eclipse to resolve these dependencies
** Right click in the Package Explorer frame on the root of the newly created
project and select Properties => Java Build Path
** Click on the "Libraries" tab and select "Add Variable...", "Configure
Variables ...", "New ..."
** Set Name to M2_REPO and Click on "Folder..."
** Navigate to the "repository" folder/directory (on Windows this is \Documents
and Settings\<user>\.m2\repository, on Linux it is ~/.m2/repository) and click
OK
** Accept the request for doing a full rebuild
** Cancel away from the "Configure Variables" dialog
** Click "OK" on the Project Properties Window
** When building is complete the project should now have no errors
* Now you need to import the Tuscany specific CTS project in the same way, by
navigating to the sdo2.1-tuscany folder and importing the sdo2.1-tuscany project
* Next, add a dependency for the Tuscany specific Eclipse project on the
generic CTS Eclipse project
** Right click on the sdo2.1-tuscany project in the Package Explorer frame of
the Eclipse Java perspective, and select "Properties"
** Click on the "Java Build Path" option, and then the "Projects" tab
** Click "Add.." and select the sdo2.1-cts project (Note that if you are also
developing the tuscany implementation then you may wish to also select your sdo
implementation and api projects at this point)
** Click OK twice, and wait for the Eclipse compilation operation to complete
Now you can edit the CTS generic code, and the Tuscany harness, and any
inadvertent attempt to introduce Tuscany dependencies on the generic CTS
project will result in red flags from Eclipse due to compilation failures.
To execute the two main suites of tests in the CTS against Tuscany you must run
either
* test.sdo21.vendor.tuscany.tests.AdoptedCtsTestSuite or
* test.sdo21.vendor.tuscany.tests.OptionalCtsTestSuite
in the Tuscany specific project.
{column}
{section}
---------------------------------------------------------------------
CONFLUENCE INFORMATION
This message is automatically generated by Confluence
Unsubscribe or edit your notifications preferences
http://cwiki.apache.org/confluence/users/viewnotifications.action
If you think it was sent incorrectly contact one of the administrators
http://cwiki.apache.org/confluence/administrators.action
If you want more information on Confluence, or have a bug to report see
http://www.atlassian.com/software/confluence
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]