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
- From: Mike Edwards <mike_edwards@uk.ibm.com>
- To: "OASIS Test " <sca-assembly-testing@lists.oasis-open.org>
- Date: Wed, 13 May 2009 10:37:41 +0100
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]