tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Tuscany: SDO CTS (page edited)
Date Tue, 05 Feb 2008 09:22:00 GMT
SDO CTS (TUSCANY) edited by kelvin goodson
      Page: http://cwiki.apache.org/confluence/display/TUSCANY/SDO+CTS
   Changes: http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=46768&originalVersion=13&revisedVersion=14


{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]


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 SDO 2.1 implementations. 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 focused 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' <tuscany-user@ws.apache.org> mailing
list, if possible add a \[SDO CTS\] at the start of the subject line to make it easier to

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 :
svn co http://svn.apache.org/repos/asf/incubator/tuscany/java/cts/

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 CTS and run it against the Tuscany implementation all you need to do is:
me@mine:~$ cd cts
me@mine:~/cts$  mvn
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 signalling 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
** 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.

This message is automatically generated by Confluence

Unsubscribe or edit your notifications preferences

If you think it was sent incorrectly contact one of the administrators

If you want more information on Confluence, or have a bug to report see

To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org

View raw message