RE: [SUSPICIOUS] Re: Running integration tests twice against different webapp configurations

2018-10-12 Thread Ellis, Scott
Thank you Thomas! The parallel solution worked  or me. And thanks for the other 
replies too.

For the record, the second jetty instance must use the run-forked goal, because 
 the ShutdownMonitor thread in jetty is declared static. A design flaw in my 
opinion. Trying to run a second jetty instance in the same vm fails with error 
"ShutdownMonitor already started,"  even with a different key and port.

Thanks,
Scott

-Original Message-
From: Thomas Broyer [mailto:t.bro...@gmail.com] 
Sent: Friday, October 12, 2018 2:34 AM
To: Maven Users List 
Subject: [SUSPICIOUS] Re: Running integration tests twice against different 
webapp configurations

Alternatively, if possible, you could possibly run the app with both 
configurations in parallel (two executions of jetty-maven-plugin in 
pre-integration-test and post-integration-test phase, using different ports), 
and run you tests twice, for each app / port (two executions of failsafe at 
integration-test phase)

On Fri, Oct 12, 2018 at 8:44 AM Anders Hammar  wrote:

> I'd say you need two modules; one for each IT setup. Each module is a 
> Maven project and will then run the integration tests. The actual 
> integration test code could then be in a third module and you declare 
> a dependency on that artifact.
>
> /Anders
>
> On Thu, Oct 11, 2018 at 11:21 PM Ellis, Scott 
>  >
> wrote:
>
> > Hi,
> >
> > I have a project that builds a webapp and runs integration tests 
> > against it using the failsafe plugin and the jetty-maven-plugin.
> >
> > That is, I use the jetty-maven-plugin to start jetty in the 
> > pre-integration-test phase, run the tests, then shut jetty down in 
> > the post-integration-test phase.
> >
> > Now, my web app can have an entirely different configuration in 
> > addition to the existing one, so I need to start jetty with a new 
> > config and run a new suite of tests, while maintaining all the existing 
> > functionality.
> >
> > So what I really want to do it run these phases twice:
> >
> > pre-integration-test
> > integration-test
> > post-integration-test
> >
> > First I want to run them with the my webapp configured the old way, 
> > and then run the same phases again with my webapp configured the new way.
> >
> > Any advice on how to do this? The configurations can be set with 
> > system properties. The problem is how to run those phases twice in that 
> > order.
> >
> > Thanks for any insight you can offer, Scott
> >
>


Re: [SUSPICIOUS] Re: Running integration tests twice against different webapp configurations

2018-10-13 Thread Paul Hammant
You're explicitly calling stop() on both Jetty instances ... (pass or fail)
and not just letting it fall through to the Shutdown hook which is static ?


On Sat, Oct 13, 2018 at 1:31 AM Ellis, Scott 
wrote:

> Thank you Thomas! The parallel solution worked  or me. And thanks for the
> other replies too.
>
> For the record, the second jetty instance must use the run-forked goal,
> because  the ShutdownMonitor thread in jetty is declared static. A design
> flaw in my opinion. Trying to run a second jetty instance in the same vm
> fails with error "ShutdownMonitor already started,"  even with a different
> key and port.
>
> Thanks,
> Scott
>
> -Original Message-
> From: Thomas Broyer [mailto:t.bro...@gmail.com]
> Sent: Friday, October 12, 2018 2:34 AM
> To: Maven Users List 
> Subject: [SUSPICIOUS] Re: Running integration tests twice against
> different webapp configurations
>
> Alternatively, if possible, you could possibly run the app with both
> configurations in parallel (two executions of jetty-maven-plugin in
> pre-integration-test and post-integration-test phase, using different
> ports), and run you tests twice, for each app / port (two executions of
> failsafe at integration-test phase)
>
> On Fri, Oct 12, 2018 at 8:44 AM Anders Hammar  wrote:
>
> > I'd say you need two modules; one for each IT setup. Each module is a
> > Maven project and will then run the integration tests. The actual
> > integration test code could then be in a third module and you declare
> > a dependency on that artifact.
> >
> > /Anders
> >
> > On Thu, Oct 11, 2018 at 11:21 PM Ellis, Scott
> >  > >
> > wrote:
> >
> > > Hi,
> > >
> > > I have a project that builds a webapp and runs integration tests
> > > against it using the failsafe plugin and the jetty-maven-plugin.
> > >
> > > That is, I use the jetty-maven-plugin to start jetty in the
> > > pre-integration-test phase, run the tests, then shut jetty down in
> > > the post-integration-test phase.
> > >
> > > Now, my web app can have an entirely different configuration in
> > > addition to the existing one, so I need to start jetty with a new
> > > config and run a new suite of tests, while maintaining all the
> existing functionality.
> > >
> > > So what I really want to do it run these phases twice:
> > >
> > > pre-integration-test
> > > integration-test
> > > post-integration-test
> > >
> > > First I want to run them with the my webapp configured the old way,
> > > and then run the same phases again with my webapp configured the new
> way.
> > >
> > > Any advice on how to do this? The configurations can be set with
> > > system properties. The problem is how to run those phases twice in
> that order.
> > >
> > > Thanks for any insight you can offer, Scott
> > >
> >
>