More robust way to wait for finalization

Change-Id: I99aa3ac27c5157a6858978da20e480bc9847d88f
This commit is contained in:
Stephan Bergmann 2014-10-02 09:40:43 +02:00
parent 5a295a9a9d
commit b6cff5fae1
2 changed files with 5 additions and 7 deletions

View file

@ -15,6 +15,7 @@ $(eval $(call gb_JunitTest_set_defs,juh,\
))
$(eval $(call gb_JunitTest_use_jars,juh,\
OOoRunnerLight \
ridl \
jurt \
))

View file

@ -30,6 +30,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import org.junit.Before;
import org.junit.Test;
import util.WaitUnreachable;
public class ComponentBase_Test
{
@ -97,16 +98,12 @@ public class ComponentBase_Test
@Test public void test_finalize() throws Exception
{
logger.log(Level.INFO, "Testing ComponentBase: test_finalize()");
ComponentBase comp= new ComponentBase();
obj1.nDisposingCalled = 0;
comp.addEventListener(obj1);
WaitUnreachable u = new WaitUnreachable(comp);
comp= null;
System.gc();
System.runFinalization();
logger.log(Level.FINE, "Waiting 51ms (-XX:MaxGCPauseMillis=50)");
Thread.sleep(51);
u.waitUnreachable();
assertEquals(obj1.nDisposingCalled, 1);
}
}
}