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