directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <>
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 <>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 :
> - ROLLBACK (the default)
> 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.


View raw message