I've made some progress in this area, so far
I've created a few of the container boms in
seam-parent and also started converting the
Solder tests to use the new structure.
I have run into one issue though - when running
the tests I'm encountering the error below. The
reason it hasn't manifested in the International
module is because there was a version mismatch
between some of the test suite artifacts,
however if you synchronize them all you get the
same error.
[INFO] Reactor Summary:
[INFO]
[INFO] Seam International Test Suite: Aggregator
......... SUCCESS [1.224s]
[INFO] Seam Container BOMs Aggregator
.................... SUCCESS [0.025s]
[INFO] Weld EE Embedded 1.1 Container
.................... SUCCESS [0.899s]
[INFO] JBoss AS7 Managed Container
....................... SUCCESS [2.722s]
[INFO] Seam International Test Suite Common
.............. SUCCESS [0.376s]
[INFO] Seam International Test Suite: Internals
Integration Tests SUCCESS [0.013s]
[INFO] Seam International Test Suite: Internals
Integration Tests Base SUCCESS [0.743s]
[INFO] Seam International Test Suite: Internals
Integration Tests for JBoss AS FAILURE [2.529s]
[INFO] Seam International Test Suite: Internals
Integration Tests for Weld EE Embedded SKIPPED
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 9.393s
[INFO] Finished at: Sun Aug 21 00:55:38 EST 2011
[INFO] Final Memory: 25M/348M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-dependency-plugin:2.1:unpack
(unpack-base-tests) on project
seam-international-testsuite-integration-internals-jbossas:
Error unpacking file:
/home/shane/project/seam/international/testsuite/internals/base/target/classes
to:
/home/shane/project/seam/international/testsuite/internals/jbossas/target/test-classes
[ERROR]
org.codehaus.plexus.archiver.ArchiverException:
The source must not be a directory.
[ERROR] -> [Help 1]
I've spent a little time trying to find a
workaround but it seems that this has been a
known bug in Maven for at least 4 years. If
anyone wants to take a look at this and try to
figure out a workaround in the meantime please
be my guest.
Shane
On 30/07/11 12:16, Ken Finnigan wrote:
All,
I've committed the work on the Arquillian
testsuite infrastructure on the i18n module
which can be found here: https://github.com/seam/international/tree/develop/testsuite
Here are some notes on how it's structured and
what needs to be done:
- API and Impl modules still retain unit
tests that don't require container testing
- testsuite/common includes Deployment and
Library helpers and anything that would be
common to multiple types of testsuites,
such as internals, smoke, etc
- The helpers from this module could
potentially be pulled up into a common
module for all, but that may introduce
complexity in trying to use it in each
module so may be best to leave it there
for the moment and see how it goes
- testsuite/container-boms contains the
container definition for weld ee embedded
and AS7. Others can be found at https://github.com/mojavelinux/arquillian-showcase/tree/master/container-boms
- One of the first things that needs to
happen is these container-boms need to
be created in a seam parent module of
some kind such that each module can
utilize them without having to replicate
the content directly
- testsuite/internals/base contains the
test classes that used to be within impl.
For i18n I was able to leave the entirety
of the test classes in the bases module
and simply explode it into the
target/test-classes directory of the
testsuite/internals/${container} modules
as part of the integration-test phase.
- To make it easier to then explode the
jar built from this module into sub
modules, the test classes and resources
actually need to be in src/main. As we
don't plan using the jar built from this
for anything other than testing it's not
an issue.
- container tests are only activated on
the integration-test phase and skipped on
the basic test phase
- https://github.com/seam/international/blob/develop/testsuite/README.md
outlines all the proposed types of suites
that testsuite can contain. I believe an
initial first step should be to move the
existing container tests, or create some,
for the internals module. Over time we
can then look to flesh out the testsuite
with additional types such as smoke,
cluster, api, etc
- One area that I haven't looked at yet is
code coverage given that the tests are
further spread than previously. I'm
hoping that it will be relatively easy to
amalgamate all the coverage data to
produce a single report.
Any questions about this please let me know.
Ken
_______________________________________________
seam-dev mailing list
seam-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/seam-dev