OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly-testing message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [sca-assembly-testing] Restructuring the Layout of the TestCases - TestDirectory structure



One additional realization; some of the sca-contribution.xml files will need to be modified as additional language contributions are added to with appropriate import.xxx element.

Bryan Aupperle, Ph.D.
STSM, WebSphere Enterprise Platform Software Solution Architect

Research Triangle Park,  NC
+1 919-254-7508 (T/L 444-7508)
Internet Address: aupperle@us.ibm.com



Mike Edwards <mike_edwards@uk.ibm.com>

05/13/2009 05:37 AM

To
"OASIS Test " <sca-assembly-testing@lists.oasis-open.org>
cc
Subject
[sca-assembly-testing] Restructuring the Layout of the TestCases - Test Directory structure






Folks,


This is both a follow-up to Bryan's email on the subject of directory structure and also an explanation of the recent

changes that I have made to the layout of the Assembly testcases, which you will now see if you look at the latest code

in OASIS SVN:


http://tools.oasis-open.org/version-control/browse/wsvn/sca-assembly/TestCases/#_TestCases_

Bryan rightly made the point that there are broadly 3 classes of artifacts:


1. XML artifacts with no dependencies on any implementation language
  eg Composite files using only <implementation.composite/> and <interface.wsdl/>

          WSDL files, XSDs


2. XML artifacts with dependencies on an implementation language

  eg. Composite files using <implementation.java/> (etc)


3. Language specific artifacts

   Java class files, etc


First, I have tried to make a clean separation between 1. and 2.

There is now a directory "General" which contains those language independent artifacts which can be used by multiple testcases, for example.


For language dependent artifacts, I propose that we create directories with names ending in "_xxxx" where xxxx identifies the language.


So:  

"General_Java" - contains Java related artifacts

"General_BPEL" - contains BPEL related artifacts

"General_CPP" - contains C++ related artifacts


... and so on.


Note that in SCA terms, each of these directories represents a Contribution


In many cases, I think that type 2) artifacts can and should be held in the same directory as the language specific artifacts that they use.

So, "General_Java" would contain the Java classes required by the Composite files that are held in that directory.


Now, Bryan also separately points out that there are numerous artifacts which are deliberately in error.  It is undesirable for such artifacts

to be in places shared by multiple tests since SCA runtimes are permitted to reject such artifacts out of hand when a contribution is

presented to the runtime which contains such artifacts, assuming that the errors are detectable by static analysis.


Such artifacts in error must be placed in separate directories which represent separate contributions which are only referenced and used

by specific testcases that are looking at the errors concerned (typically only one test will access these artifacts).


I have already gone well down this road, with a series of directories with names like "ASM_12001" - the name here being clearly linked

to the testcase which uses it.


I propose that we combine these 2 approaches.  Sometimes, a specific testcase (with artifacts containing errors) will also have a split

of language-dependent artifacts and language independent artifacts.  These should be split between 2 directories, along this pattern:


"ASM_12001"

"ASM_12001_Java"


How is the choice of language handled when running the tests?


I have extended BaseJAXWSTestCase.java to now include handling an OASIS_TESTENV_IMPL_LANG environment variable or System property.


This can be set to the name of the language to run:


"Java" for Java

"BPEL" for BPEL

"CPP" for C++


etc


It defaults to Java....


Each testcase which makes use of language specific artifacts then must name the language specific Contributions that it uses as follows:


"General"
+ _Lang

- _Lang is a protected variable in BaseJAXWSTestCase into which the chosen language is placed - so that for the language choices

above you get:


General_Java

General_BPEL

General_CPP


The _Lang variable can be applied to any contribution name stem, so that a given test can depend on as many language specific

contributions as necessary.



If folks are happy with this approach, then I will add a section to the TestCases document which describes all of this.



Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
Email:  mike_edwards@uk.ibm.com





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]