[infinispan-dev] Test suite memory leaks
Vladimir Blagojevic
vblagoje at redhat.com
Fri Oct 9 16:36:43 EDT 2009
On 09-10-09 11:39 AM, Vladimir Blagojevic wrote:
> TestNG starts from the leaf class and searches for a first class that
> has a method annotated with @AfterClass and invokes it. It does not
> continue to climb the hierarchy. However, all needs to be done is to
> invoke super from SingleCacheManagerTest and MultipleCacheManagerTest.
>
> However, that said, we are still left with a bunch of test classes that
> do not inherit from AbstractCacheTest :(
>
> So yes, I'll see how to hookup UnitTestTestNGListener :)
>
Hard to believe but there is no way to do this through listener. After I
could not find a way to do it I even posted a question on testng-users
and got a recommendation from Cedric to nullify all instances from a
@AfterClass method in superclass.
I also found that I was wrong regarding invocation of @AfterClass
methods:) As long as you do not override @AfterClass method it *will* be
invoked starting from the leaf all the way up through ancestors. I
created a superclass called AbstractInfinispanTest with
nullifyInstanceFields method and made AbstractInfinispanTest superclass
of all test classes. Works as a charm and guranteed no more leaks!
Let me know if you have any reservations to this change.
Vladimir
More information about the infinispan-dev
mailing list