[hibernate-dev] replace Pax Exam with Docker

Sanne Grinovero sanne at hibernate.org
Fri Jan 12 06:27:56 EST 2018


+1 to explore alternatives to Pax Exam, but I'd be wary of maintining
our own test infrastructure.

Pax Exam was just "helping" to deploy/run things in Karaf, so I can't
imagine using Karaf without the helpers being a walk in the park; e.g.
having to deal with HTTP operations comes with its own baggage
{dependencies, complexity, speed, .. } and generally more stuff to
maintain.

So.. +1 to try out Arquillian or anything else. Or maybe you could
start your own tool, but I'd prefer to see it in a separate repository
:) e.g. a nice Gradle plugin so maybe you get more people helping?

Also: considered contributing to Pax? My personal experience with it
has always been a pain but if I had to try identify the reason, it was
mostly caused by me being unfamiliar with Karaf and not having good
clues to track down the real failure; maybe some minor error reporting
improvements could make a big difference to its usability? Just
saying, I don't feel like Pax is bad, but it seems their developers
really expect their users to be deeply familiar with it all - feels
like the typical case in which they could use some feedback and a
hand.

Thanks,
Sanne

On 12 January 2018 at 08:22, Gunnar Morling <gunnar at hibernate.org> wrote:
> Hi Brett,
>
> We also had our fair share of frustration with Pax Exam in HV, and I was
> (more than once) at the point of dropping it.
>
> Docker could work, but as you say it's a bit of a heavy dependency, if not
> required anyways. Not sure whether I'd like to add this as a prerequisite
> for the HV build to be executed. And tests in separate profiles tend to be
> "forgotten" in my experience.
>
> One other approach could be to use Arquillian's OSGi support (see
> https://github.com/arquillian/arquillian-container-osgi), did you consider
> to use that one as an alternative?
>
> Cheers,
>
> --Gunnar
>
>
> 2018-01-12 3:34 GMT+01:00 Brett Meyer <brett at hibernate.org>:
>
>> <tired-rant>
>>
>> I'm fed up with Pax Exam and would love to replace it as the
>> hibernate-osgi integration test harness.  Most of the Karaf committers
>> I've been working with hate it more than I do.  Every single time we
>> upgrade the Karaf version, something less-than-minor in hibernate-osgi,
>> upgrade/change dependencies, or attempt to upgrade Pax Exam itself,
>> there's some new obfuscated failure.  And no matter how much I pray, it
>> refuses to let us get to the container logs to figure out what
>> happened.  Tis a house of cards.
>>
>> </tired-rant>
>>
>> One alternative that recently came up elsewhere: use Docker to bootstrap
>> the container, hit it with our features.xml, install a test bundle that
>> exposes functionality externally (over HTTP, Karaf commands, etc), then
>> hit the endpoints and run assertions.
>>
>> Pros: true "integration test", plain vanilla Karaf, direct access to all
>> logs, easier to eventually support and test other containers.
>>
>> Cons: Need Docker installed for local test runs, probably safer to
>> isolate the integration test behind a disabled-by-default Maven profile.
>>
>> Any gut reactions?
>>
>> OSGi is fun and I'm not at all bitter,
>>
>> -Brett-
>>
>> ;)
>>
>>
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev


More information about the hibernate-dev mailing list