[jboss-as7-dev] Testsuite modularization? // Re: Testsuite refactor
Kabir Khan
kabir.khan at jboss.com
Wed Nov 23 05:09:30 EST 2011
I've tried a few different combinations and to me it seems like we're on the right track functionality-wise.
mvn clean install
-> runs smoke tests as expected
--
mvn clean install -DallTests
-> runs all tests as expected
--
mvn clean install -DallTests=true
-> runs all tests as expected
--
mvn install -pl testsuite/integration/group-smoke/ -Dtest=org.jboss.as.test.smoke.embedded.demos.client.jms.JmsClientTestCase
-> runs the one test as expected
(I did -pl testsute/integration/group-smoke on the assumption that we will be moving to modules)
--
cd testsuite/integration/group-basic
mvn install -Dtest=org.jboss.as.test.integration.deployment.classloading.ear.EarClassPath2TestCase
-> runs the one test as expected
--
cd testsuite/integration/group-basic
mvn install
-> Runs those tests as expected
--
Disclaimer: I have not verified that the correct tests are in the correct 'groups' and that every single test that used to get run runs :-)
>From what I can tell, once the test classes get broken out into their individual modules , which I believe Ondrej says is the next step, we should be ok to run these from the IDE as well (I have not tried if this works already). I need to go away for a few hours, when I get back I'll look a bit more at the structure of the poms/arquillian.xml files etc.
On 23 Nov 2011, at 03:50, Jason T. Greene wrote:
> On 11/22/11 5:19 PM, Ondřej Žižka wrote:
>>>> There are many problems - I've mentioned them before - like:
>>>> * Smoke profile can either be default and need to be disabled
>>>> explicitely for any other group; but in that case many people will
>>>> forget to disable it which causes inference with other profiles.
>>>> Or it would have to be defined explicitely - i.e."no smoke tests run by
>>>> default"
>>>> * Huge unmaintainable pom.xml
>>>> * Impossible to define multiple groups
>>>
>>> These all sound livable for awhile to me.
>> AS 6 sounded livable for a while to some.
>>
>>>> * Hard to separate web/full or even make all tests run with full
>>>> Etc etc. See the resources above, and the issues discussed on as7 list
>>>> recently.
>>>
>>> This works today in master. I just added multiple executions.
>> Okay, so it was ready for three days. I understand that coding is more
>> fun than merging but what's the point of duplicating work and patching
>> unsatisfactory harness?
>
> Because its a priority for beta, and a major refactor is not, especially
> one that has little consensus.
>
>>
>>>> Compat tests are in different module anyway. This change is refactoring
>>>> the integration module. The testsuite/pom.xml is affected too but only
>>>> slightly - properties etc.
>>>> Do/will the integration submodules need different classpath? BTW slight
>>>> differences could be handled by tweaking deps in profiles.
>>>
>>> Yeah so this is double maintenance, both of these have to be in sync right?
>> I don't understand - what's doubled here, opposite to having two
>> pom.xml's? It's much less code this way.
>
> The resources/classpath/properties/etc must be duplicated in both the
> maven module that "owns" the classes and the group module.
>
>
>>
>>>> Regarding moving the test sources - is there anyone seeing any advantage
>>>> in having them all in testsuite/integration/src/test/java ? It looked
>>>> quite ellegant solution but if there's really no one liking it, let's
>>>> move it :)
>> Seems like you skipped this paragraph, I recommend the last sentence to
>> your attention. Following it will take us to "MORE SMALL MODULES".
>>
>>> Please keep in mind that
>>>> some configs will need to be distributed across whole testsuite, and
>>>> _every_ config"axis" (databases, IPv6, security,...) will need to be
>>>> reflected in _every_ module. What's now few-lines pom.xml for each
>>>> module may become a big ball of mud, pulling in things from parent
>>>> pom.xml's.
>>>
>>> Yeah i think referencing external files is a nice solution to this problem.
>> No. You can't externalize pom.xml's code to pass tons of properties to
>> surefire and to Arquillian (which needs them duplicated right in pom.xml).
>
> Most of the "axis" entries you have above seem to me to be AS
> configuration and arq configuratio which is a separate file.
>
>
> --
> Jason T. Greene
> JBoss AS Lead / EAP Platform Architect
> JBoss, a division of Red Hat
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
More information about the jboss-as7-dev
mailing list