Return-Path: Delivered-To: apmail-ws-tuscany-commits-archive@locus.apache.org Received: (qmail 15687 invoked from network); 4 Feb 2008 08:06:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Feb 2008 08:06:32 -0000 Received: (qmail 64166 invoked by uid 500); 4 Feb 2008 08:06:23 -0000 Delivered-To: apmail-ws-tuscany-commits-archive@ws.apache.org Received: (qmail 64146 invoked by uid 500); 4 Feb 2008 08:06:23 -0000 Mailing-List: contact tuscany-commits-help@ws.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: tuscany-dev@ws.apache.org Delivered-To: mailing list tuscany-commits@ws.apache.org Received: (qmail 64137 invoked by uid 99); 4 Feb 2008 08:06:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Feb 2008 00:06:23 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Feb 2008 08:05:54 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 26D6F714071 for ; Mon, 4 Feb 2008 00:06:01 -0800 (PST) Message-ID: <17489185.1202112361145.JavaMail.www-data@brutus> Date: Mon, 4 Feb 2008 00:06:01 -0800 (PST) From: confluence@apache.org To: tuscany-commits@ws.apache.org Subject: [CONF] Apache Tuscany: SDO CTS (page edited) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org 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=11&revisedVersion=12 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=#6699ff|titleBGColor=#D5EFFF|bgColor=#ffffff} * [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} What is SDO Community Test Suite (SDO CTS) 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?} How to get involved? 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 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} Obtaining and using the CTS 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} me@mine:~$ cd cts me@mine:~/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. For more info on this see the [Contributing|Contributing to the SDO CTS] section. h4. {anchor:Run it} Running the CTS against Tuscany in Eclipse 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\\.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: tuscany-commits-unsubscribe@ws.apache.org For additional commands, e-mail: tuscany-commits-help@ws.apache.org