qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Ritchie <ritch...@apache.org>
Subject Re: Java InVM test exclusion using Ant test profiles
Date Tue, 08 Dec 2009 11:15:38 GMT
2009/12/8 Robbie Gemmell <robbie.gemmell@gmail.com>:
> I have created a new 08InVMExcludes file and added it to the
> profile.excludes property in default.testprofile, enabling exclusion of the
> test only for the InVM testing. I didn't make the other changes I suggested
> to correct the usage of the 08Excludes file, so it is currently still
> excluding tests from all profiles as before.
>
> Robbie
>
> -----Original Message-----
> From: Rajith Attapattu [mailto:rajith77@gmail.com]
> Sent: 07 December 2009 18:57
> To: dev@qpid.apache.org
> Subject: Re: Java InVM test exclusion using Ant test profiles
>
> On Mon, Dec 7, 2009 at 1:39 PM, Robbie Gemmell <robbie.gemmell@gmail.com>
> wrote:
>> My understanding of it was that the default profile was for InVM testing
> and
>> pulling in the global excludes, with other broker profiles (java
> standalone,
>> cpp etc) based off that and pulling in any profile specific excludes. I
>> think thats a god system to keep..it just isn't quite working like that at
>> the moment.
>
> Yes that was the initial approach.
> However I also believe we need to have excludes per protocol version as
> well.
> We would need to continue to run the 0-8 test profile for quite some
> time as we have those systems in production.
>
> As I outlined in my email I think it's reasonable to assume the
> default profile is all tests that can be run with the in-vm broker.
> Since the Java broker supports both 0-8 and 0-10 I assume both types
> of test can be run against the broker during a single run?
>
> Anyways I am fairly relaxed about how the profiles are structured so
> long as we test all combinations we are required and there is a
> reasonable way to handle excludes.
> I am fine with anything that achieves the above objective.
>
>
>> Robbie
>>
>> -----Original Message-----
>> From: Rajith Attapattu [mailto:rajith77@gmail.com]
>> Sent: 07 December 2009 18:01
>> To: dev@qpid.apache.org
>> Subject: Re: Java InVM test exclusion using Ant test profiles
>>
>> Robbie,
>>
>> The current excludes files needs a bit or re-org for sure.
>> I think two types of exclusions are needed.
>> 1. Tests that run on either c++ , java broker or in-vm broker.
>> 2. Tests that are specific to a particular protocol version.
>> 3. Tests that are for a particular feature like clustering,
>> persistence, ssl, no-prefetch etc..
>>
>> All this time the 0-10 excludes list worked well bcos the Java broker
>> was not 0-10 ready.
>> Therefore tests that cannot be run against the c++ broker was also
>> dumped into the 0-10 Excludes files.
>> Now the Java broker should run both 0-8 and 0-10 related tests (of
>> course in separate runs)
>>
>> I guess the default profile should be tests that are
>> a) Not broker specific (or can be easily run against all brokers - or
>> is it all tests that can be run with an in-vm broker?)
>> b) Not protocol specific
>>
>> And the rest worked out from there.
>> just my 2 cents.
>> What do you think?
>>
>> Regards,
>>
>> Rajith
>>
>> On Mon, Dec 7, 2009 at 12:44 PM, Robbie Gemmell
>> <robbie.gemmell@quasareclipse.co.uk> wrote:
>>> Hi all,
>>>
>>>
>>>
>>> I have written a test that should only be run against the Java broker,
> but
>>> cant currently be run against the InVM broker. As a result I am looking
> to
>>> exclude it only from the InVM tests, but looking at the test profiles I
>> dont
>>> think this is currently possible. There are some tests in the 08Excludes
>>> file that mention exclusion for InVM testing, but the default testprofile
>> is
>>> pulling in the 08Excludes file in the main test.excludes property rather
>>> than the profile specific profile.excludes property, so this would appear
>> to
>>> exclude the contained entries for all tests (Java InVM /Standalone, and
>> C++)
>>> as if they were in the main Excludes file.
>>>
>>>
>>>
>>> From the naming I would expect the 08Excludes to affect both Standalone
>> and
>>> InVM java brokers, and there is already a 08StandaloneExcludes file used
>> in
>>> the profile.excludes property in the java testprofile, so I propose
> moving
>>> the 08Excludes into the profile.excludes property for default and java
>> test
>>> profiles, and adding a a new 08InVMExcludes file to the profile.excludes
>>> property in default.testprofile.
>>>
>>>
>>>
>>> Does this seem agreeable to everyone?
>>>
>>>
>>
>>
>>
>> --
>> Regards,
>>
>> Rajith Attapattu
>> Red Hat
>> http://rajith.2rlabs.com/
>>
>> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> Apache Qpid - AMQP Messaging Implementation
>> Project:      http://qpid.apache.org
>> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>>
>>
>
>
>
> --
> Regards,
>
> Rajith Attapattu
> Red Hat
> http://rajith.2rlabs.com/
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org
>
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:dev-subscribe@qpid.apache.org

Rajith,

The problem is that the files are exclude lists and points 2 & 3 are
_includes_. I have a test that I need to exclude from the Java 09
Profile(the which is what the java profile now runs) but include in
the 0.10.

What I have locally is renaming all the excludes to better match what
they are actually designed to run against
010 -> CPP
08 -> Java

This gives us the opportunity to use the versioned exclude files to
exclude from actual versions.

There is some work to be done here though because the new
CPPExcludes(was 010Exclude) should contain exclusions for all cpp
broker runs.. things like JMX tests as the cpp broker doesn't have a
jmx interface. However, it already has excludes in here that are
excludes for the 0-10 version. I have currently left the java.0.10
profile excluding the same files as before however it is clearer to
see now the problem we are having with the 0-10 excludes. The
java.0-10 profile should not exclude the CPPExcludes file as this
contains things like the new Java broker logging, JMX tests, Java
persistence tests, etc.

If I find time I will try and go through and split out the actual 0-10
protocol excludes from the CPP broker excludes but I currently don't
have a CI machine running on trunk for all the profiles so would be
great to get some assistance here as I'll be going by the exclude
description.

Alternatively someone with more free time could take a look and
suggest a better approach. As long as we can exclude on broker type
and default protocol version then that would be great. Especially as
the current approach is still not ideal, as Rajith said above we want
additional includes not excludes. I have a test that only works on a
broker that is 0-8/9/10 capable so adding it to the CPPExclude and the
08Exclude seems some what odd.



-- 
Martin Ritchie

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


Mime
View raw message