harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mikhail Loenko" <mloe...@gmail.com>
Subject Re: [test] Jetty integration progress ? (was Re: [classlib] jetty based tests)
Date Thu, 17 Aug 2006 06:16:19 GMT
2006/8/17, Richard Liang <richard.liangyx@gmail.com>:
>
>
> Andrew Zhang wrote:
> > Hi folks,
> >
> > I'd like to say something more about jetty integration. We should
> > reach an
> > agreement on how to integrate/use jetty in Harmony. There are some
> > concerns
> > I can image now:
> >
> > 1. Where to put jetty? support or luni module or somewhere else? It
> > depends
> > on question 2.
> How about putting jetty into depends?

+1

Thanks,
Mikhail



>
> >
> > 2. How to use jetty? How many jetty instances are there? Singleton or
> > multiple instances? In other word, shall we start only one jetty
> > server at
> > the beginning before running all tests? or will we start/destroy embedded
> > jetty server at will in any test case? Seems jetty supports both options.
> I agree. We still shall be cautious about jetty instances though it's
> light-weighted. IMHO, for most test cases, one global jetty instance is
> enough. But maybe there are some cases which need separate instances.
> Let's see comments from others :-)
>
> >
> > 3. How to write jetty based test?. Multi-thread network test always is a
> > problem to us. I found it's also hard to be theoretically.
> Yes.
> >
> > According to the description above, I suggest put jetty in support
> > module,
> > and encapsulate a class (i.e Support_JettyServer) with some public
> > methods
> > for test writing (i.e getJettyPort(), setHandler(), set...). The
> > advantage
> > of this approach hides all jetty details in support. Once jetty support
> > class is ready, all modules can write http tests in the same way.
> >
> > Any suggestions are highly appreciated! Thanks!
> >
> > On 8/1/06, Andrew Zhang <zhanghuangzhu@gmail.com> wrote:
> >>
> >>  Hi folks,
> >>
> >> I volunteer to work on excluded tests in luni module, most of which are
> >> dependent on external servers(http server, socks proxy and etc.).
> >>
> >> As we discussed some months earlier, we'd integrate Jetty to Harmony
> >> test
> >> framework for eliminating external http server, but seems no more
> >> progress.
> >>
> >> Any volunteer to do this job? :-)
> >>
> >> Thanks!
> >>
> >>
> >> On 5/23/06, Stepan Mishura <stepan.mishura@gmail.com > wrote:
> >> >
> >> > Hi George, Paulex,
> >> >
> >> > Thanks for your answers. As a preliminary result - your convinced
> >> me and
> >> > I'm
> >> > going to be volunteer to evaluate jetty integration to classlib test
> >> > suite.
> >> >
> >> > Do anybody work on integrating jetty http server to move net tests out
> >> > of
> >> > exclude list?
> >> >
> >> > Thanks,
> >> > Stepan.
> >> >
> >> > On 5/23/06, George Harley < george.c.harley@googlemail.com > wrote:
> >> > >
> >> > > Stepan Mishura wrote:
> >> > > > Hi George, Tim
> >> > > >
> >> > > > I'd like to clarify the following questions:
> >> > > > 1) Configuring
> >> > > > As I understood we say that the server is 'embedded' when we
can
> >> > > > start/stop
> >> > > > it within Ant without additional configuration steps. And all
we
> >> > need
> >> > > > to do
> >> > > > is just download required jars. Right?
> >> > > >
> >> > > > What about Eclipse users?
> >> > >
> >> > > Hi Stepan,
> >> > >
> >> > > In addition to be being start-able, stop-able and configurable from
> >> > Ant
> >> > > and XML config files, Jetty can also be embedded into the Java
> >> code of
> >> > a
> >> > > test case or test suite. Configuration, starting and stopping are
> >> all
> >> > > possible. Eclipse users should not be disadvantaged.
> >> > >
> >> > >
> >> > > >
> >> > > > 2) Time to run test suite
> >> > > > May be it is hard to estimate but anyway - will the test suite
run
> >> > > > slow down
> >> > > > if we'll use jetty instead of mock objects? How much?
> >> > >
> >> > > Depends on configuration. Configure and start the server in the
> >> > setup()
> >> > > of a JUnit TesCase (and stopping the server in the teardown()) would
> >> > > obviously be slower than doing the equivalent in a JUnit TestSetup
> >> > > descendent. Start up is a lot less than half a second on my machine.
> >> > >
> >> > > Is there some performance benchmark for tests that is at risk here
?
> >> > >
> >> > >
> >> > > >
> >> > > > 3) Testing
> >> > > > Quoting Tim from 'local server thread': "There is no way to
> >> force a
> >> > > > server
> >> > > > to send you a chunked response using regular HTTP headers, so
in
> >> > this
> >> > > > case
> >> > > > the server and client have an understanding that when the client
> >> > asks
> >> > > > for a
> >> > > > particular resource the server will send it back in chunks."
> >> > > >
> >> > > > With mock objects this can be done with no problems and
> >> HARMONY-164
> >> > > > demonstrates the possible way. Also are we going to create
> >> negative
> >> > > > tests,
> >> > > > for example, for broken server response? I think yes. Can
> >> jettyserver
> >> > > be
> >> > > > used for negative testing?
> >> > >
> >> > > Yes. You can send back any error.
> >> > >
> >> > >
> >> > > >
> >> > > > See other comments below
> >> > > >
> >> > > > On 5/22/06, George Harley wrote:
> >> > > >>
> >> > > >> Stepan Mishura wrote:
> >> > > >> > On 5/19/06, Tim Ellison wrote:
> >> > > >> >>
> >> > > >> >> Stepan Mishura wrote:
> >> > > >> >> <snip>
> >> > > >> >> > I'm OK only if we separate tests with Jetty
from common test
> >> > suite
> >> > > >> >> run.
> >> > > >> >>
> >> > > >> >> Why?
> >> > > >> >
> >> > > >> >
> >> > > >> > Because each external dependency complicates 'normal'
test
> >> suite
> >> > > >> run ( I
> >> > > >> > don't want to face with situation when to run Harmony
test
> >> suite
> >> > I
> >> > > >> > have to
> >> > > >> > configure and run 20 different external servers even
they are
> >> > easy
> >> > > >> > configurable). As far as I remember we agreed to use
mock
> >> objects
> >> > -
> >> > > so
> >> > > >> > let's
> >> > > >> > use them! For example, in this case there is no need
in
> >> jettyserver.
> >> > > >> >
> >> > > >> > I'm not against 'jetty based tests' but I'd prefer to
separate
> >> > such
> >> > > >> > tests.
> >> > > >> >
> >> > > >> > Thanks,
> >> > > >> > Stepan.
> >> > > >> >
> >> > > >>
> >> > > >> Hi Stepan,
> >> > > >>
> >> > > >> Just seen this note and think that my previous append on
the "Re:
> >> > svn
> >> > > >> commit: r407752" thread sums up my thoughts. Allow me to
quote
> >> > myself:
> >> > > >>
> >> > > >> <paste>
> >> > > >> Jetty or equivalent is a good basis for such local server
> >> stubs. It
> >> > is
> >> > > >> fast, it is lightweight,
> >> > > >
> >> > > >
> >> > > > Fast and lightweight as what?
> >> > > > I saw sometimes ago java server that has jar size 4k. And
> >> > > > jetty-6.0.0beta6.jar is 423k size.
> >> > > >
> >> > >
> >> > >
> >> > > Not sure of your point here. Is there some test file footprint
> >> > benchmark
> >> > > that is at risk here ? If there is a better, faster, more
> >> lightweight
> >> > > server that would suit our purposes then let's hear about it so that
> >> > we
> >> > > can investigate whether or not it may be used with our network
> >> tests.
> >> > >
> >> > > >
> >> > > >> it can be started and stopped very simply from
> >> > > >> within Ant (so that it only runs for the duration of a specified
> >> > batch
> >> > > >> of unit tests) and may also be completely controlled from
Java
> >> test
> >> > > code
> >> > > >> so that we can configure its behaviour for any test case
from
> >> > within
> >> > > >> that test case.
> >> > > >
> >> > > >
> >> > > > Good.
> >> > > >
> >> > > > It's architecture means that we do not have to run it as
> >> > > >> a complete web server but can stub out any aspect of its
runtime
> >> > > >> behaviour we wish in order to suit the purposes of the test(s).
> >> > > >
> >> > > >
> >> > > > What about 'chunked response'? Can a testcase force jetty
> >> server to
> >> > > > send it
> >> > > > a chunked response?
> >> > >
> >> > > Yes. The API provides options to do this. Chunks are encoded as per
> >> > > RFC2616.
> >> > >
> >> > >
> >> > > Best regards,
> >> > > George
> >> > >
> >> > > >
> >> > > > I don't really understand why such network tests making use of
a
> >> > small,
> >> > > >> embedded server running locally would need to be considered
as
> >> > outside
> >> > > >> of the "normal test flow".
> >> > > >> </paste>
> >> > > >
> >> > > >
> >> > > > Because I consider adding jetty server as precedent for adding
> >> other
> >> > > > dependencies to the "normal test flow". I believe that "normal
> >> test
> >> > > flow"
> >> > > > should be fast and lightweight as much as possible. Each
> >> additional
> >> > > > dependency or configuration step adds a brick(even it light)
to
> >> > > > developer's
> >> > > > large. As the result classlib test suite may become very slow
and
> >> > hard
> >> > > to
> >> > > > configure. All I want is to understand - do we really need
> >> jettyserver
> >> > > > inside it.
> >> > > >
> >> > > > Thanks,
> >> > > > Stepan.
> >> > > >
> >> > > > We are not talking about an external server here and we are not
> >> > talking
> >> > > >> about developers having to carry out complex configuration
> >> > manoeuvres
> >> > > >> when running the tests. That is something that nobody wants.
The
> >> > > >> motivation here is purely to get more of the java.net tests
> >> out of
> >> > the
> >> > > >> "excludes" sin bin.
> >> > > >>
> >> > > >> Best regards,
> >> > > >> George
> >> > > >>
> >> > > >>
> >> > > >> > Regards,
> >> > > >> >> Tim
> >> > > >> >>
> >> > > >> >> --
> >> > > >> >>
> >> > > >> >> Tim Ellison (t.p.ellison@gmail.com)
> >> > > >> >> IBM Java technology centre, UK.
> >> > > >> >>
> >> > > >> >>
> >> > >
> >> ---------------------------------------------------------------------
> >> > > >> >> Terms of use :
> >> http://incubator.apache.org/harmony/mailing.html
> >> > > >> >> To unsubscribe, e-mail:
> >> > harmony-dev-unsubscribe@incubator.apache.org
> >> > > >> >> For additional commands, e-mail:
> >> > > >> harmony-dev-help@incubator.apache.org
> >> > > >> >>
> >> > > >> >>
> >> > > >> >
> >> > > >> >
> >> > > >>
> >> > > >>
> >> > > >>
> >> > ---------------------------------------------------------------------
> >> > > >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> > > >> To unsubscribe, e-mail:
> >> > harmony-dev-unsubscribe@incubator.apache.org
> >> > > >> For additional commands, e-mail:
> >> > harmony-dev-help@incubator.apache.org
> >> > > >>
> >> > > >>
> >> > > >
> >> > > >
> >> > >
> >> > >
> >> > >
> >> ---------------------------------------------------------------------
> >> > > Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> > > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >> > > For additional commands, e-mail:
> >> harmony-dev-help@incubator.apache.org
> >> > >
> >> > >
> >> >
> >> >
> >> > --
> >> > Thanks,
> >> > Stepan Mishura
> >> > Intel Middleware Products Division
> >> >
> >> > ------------------------------------------------------
> >> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> >> > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> >> > For additional commands, e-mail: harmony-dev-help@incubator.apache.org
> >> >
> >> >
> >>
> >>
> >> --
> >> Andrew Zhang
> >> China Software Development Lab, IBM
> >>
> >
> >
> >
>
> --
> Richard Liang
> China Software Development Lab, IBM
>
>
>
> ---------------------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message