[seam-dev] Arquillian Testsuite structure for Modules

Shane Bryzak sbryzak at redhat.com
Sat Aug 20 11:02:41 EDT 2011


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
>       o 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
>       o 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.
>       o 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/seam-dev/attachments/20110821/277299d5/attachment.html 


More information about the seam-dev mailing list