Index: TestInterceptorAdapter.java =================================================================== RCS file: /home/cvspublic/jakarta-jetspeed-2/components/cm/src/test/org/apache/jetspeed/components/TestInterceptorAdapter.java,v retrieving revision 1.2 diff -u -r1.2 TestInterceptorAdapter.java --- TestInterceptorAdapter.java 23 Jun 2004 18:31:10 -0000 1.2 +++ TestInterceptorAdapter.java 28 Jul 2004 15:44:08 -0000 @@ -103,6 +103,7 @@ Thread.currentThread().setName("Thread 1"); DefaultPicoContainer pico = new DefaultPicoContainer(); + int startcount = BaseMockComponent.instanceCount; ConstructorInjectionComponentAdapter cca = new ConstructorInjectionComponentAdapter( MockComponent.class, BaseMockComponent.class, new Parameter[]{ new ConstantParameter(new Integer(1)), @@ -121,6 +122,7 @@ .getComponentInstance(MockComponent.class)); MockComponent comp = (MockComponent) pico .getComponentInstance(MockComponent.class); + assertEquals("Thread 1", comp.getThreadName()); ThreadTest th1 = new ThreadTest(pico); th1.setName("Thread 2"); @@ -129,13 +131,18 @@ th1.start(); th2.start(); + // wait for threads to end + th1.join(); + th2.join(); // try to artificially increase the instance count for (int i = 0; i < 5; i++) { - pico.getComponentInstance(MockComponent.class); + synchronized(pico) { + pico.getComponentInstance(MockComponent.class); + } } - assertEquals(3, BaseMockComponent.instanceCount); + assertEquals(startcount+3, BaseMockComponent.instanceCount); } @@ -200,14 +207,17 @@ public void run() { // super.run(); - - MockComponent mc = (MockComponent) pico + synchronized(pico) { + MockComponent mc = (MockComponent) pico .getComponentInstance(MockComponent.class); assertEquals(Thread.currentThread().getName(), mc.getThreadName()); + } // try to artificially increase the instance count for (int i = 0; i < 5; i++) { - pico.getComponentInstance(MockComponent.class); + synchronized(pico) { + pico.getComponentInstance(MockComponent.class); + } } }