directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <akaras...@gmail.com>
Subject Re: About tests and Ldif injection annotations (completed)
Date Wed, 11 Feb 2009 00:11:14 GMT
On Mon, Feb 9, 2009 at 11:52 AM, Emmanuel Lecharny <elecharny@apache.org>wrote:

> Hi guys,
>
> the cool annotations we have, combined with the rollback system,
> allows us to run tests without any problem. Each test can play with
> data without interacting with the other tests. However, as the LDIF
> injection is done globally for each test, the rollback is also done
> globally. ie, if you inject a lot of data, you will have to revert a
> lot of data too, for each single test.
>
> We are using it today for one of our client, and as we have around 400
> entries to inject for our tests, it takes more or less a couple of
> seconds to run each test. At the end of the day, when we run our 150
> tests, we have to wait 10 minutes to run all of them.
>

Use suites and have a full cleanup take place between the suites. You have
various cleanup levels (test level, class level, suite level etc) and you
can set it up so that a suite class has an annotation which make it cleanup
when the suite is started with a PRISTINE server.  That's why all this was
put in there.  We use this today for the Apache DS tests.


>
> No need to tell that it's way faster ! I was able to run the
> SearchITest in less than 5 seconds compared to the usual 15 seconds
> for the very same tests (and i'm just talking of 4 entries injected
> and rollbacked for every tests).
>
> So I think this is the way to go. The only difficult point is that we
> have to deal with 5 different modes for tests :
> - PRISTINE
> - RESTART
> - ROLLBACK (the default)
> - CUMULATIVE
> - NOSERVICE.
>
> To me, the RESTART, CUMULATIVE and NOSERVICE mode seems a bit useless.


There are reasons for these - I can explain this tomorrow.  Please don't nix
this stuff until we discuss it somemore.


>
> The PRISTINE mode is used for one single test in which we declare two
> different factories, hence the need to clean up completely the server.
>
> I would suggest we get rid of the RESTART, CUMULATIVE and NOSERVICE
> mode in order to ease the implementation of my small improvement
> (otehriwse, there are too many cases to deal with, and i don't realy
> have time for that).
>
> wdyt?
>

I think it is a bad idea but I may be wrong.  Shit cannot remember that far
back when we did all this stuff.

Alex

Mime
View raw message