Author: sandymac Date: Fri Mar 24 11:51:47 2006 New Revision: 388619 URL: http://svn.apache.org/viewcvs?rev=388619&view=rev Log: unit test improvements and refactoring
Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestBaseObjectPool.java Fri Mar 24 11:51:47 2006 @@ -16,7 +16,6 @@ package org.apache.commons.pool; import junit.framework.Test; -import junit.framework.TestCase; import junit.framework.TestSuite; /** @@ -24,7 +23,9 @@ * @author Sandy McArthur * @version $Revision$ $Date$ */ -public class TestBaseObjectPool extends TestCase { +public class TestBaseObjectPool extends TestObjectPool { + private ObjectPool _pool = null; + public TestBaseObjectPool(String testName) { super(testName); } @@ -33,6 +34,41 @@ return new TestSuite(TestBaseObjectPool.class); } + protected ObjectPool makeEmptyPool(int mincapacity) { + if (this.getClass() != TestBaseObjectPool.class) { + throw new AssertionError("Subclasses of TestBaseObjectPool must reimplement this method."); + } + throw new UnsupportedOperationException("BaseObjectPool isn't a complete implementation."); + } + + protected ObjectPool makeEmptyPool(final PoolableObjectFactory factory) { + if (this.getClass() != TestBaseObjectPool.class) { + throw new AssertionError("Subclasses of TestBaseObjectPool must reimplement this method."); + } + throw new UnsupportedOperationException("BaseObjectPool isn't a complete implementation."); + } + + protected Object getNthObject(final int n) { + if (this.getClass() != TestBaseObjectPool.class) { + throw new AssertionError("Subclasses of TestBaseObjectPool must reimplement this method."); + } + throw new UnsupportedOperationException("BaseObjectPool isn't a complete implementation."); + } + + protected boolean isLifo() { + if (this.getClass() != TestBaseObjectPool.class) { + throw new AssertionError("Subclasses of TestBaseObjectPool must reimplement this method."); + } + return false; + } + + protected boolean isFifo() { + if (this.getClass() != TestBaseObjectPool.class) { + throw new AssertionError("Subclasses of TestBaseObjectPool must reimplement this method."); + } + return false; + } + // tests public void testUnsupportedOperations() throws Exception { ObjectPool pool = new BaseObjectPool() { @@ -83,5 +119,160 @@ pool.close(); pool.close(); // should not error as of Pool 2.0. + } + + public void testBaseBorrow() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + assertEquals(getNthObject(0),_pool.borrowObject()); + assertEquals(getNthObject(1),_pool.borrowObject()); + assertEquals(getNthObject(2),_pool.borrowObject()); + } + + public void testBaseAddObject() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + try { + assertEquals(0,_pool.getNumIdle()); + assertEquals(0,_pool.getNumActive()); + _pool.addObject(); + assertEquals(1,_pool.getNumIdle()); + assertEquals(0,_pool.getNumActive()); + Object obj = _pool.borrowObject(); + assertEquals(getNthObject(0),obj); + assertEquals(0,_pool.getNumIdle()); + assertEquals(1,_pool.getNumActive()); + _pool.returnObject(obj); + assertEquals(1,_pool.getNumIdle()); + assertEquals(0,_pool.getNumActive()); + } catch(UnsupportedOperationException e) { + return; // skip this test if one of those calls is unsupported + } + } + + public void testBaseBorrowReturn() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + Object obj0 = _pool.borrowObject(); + assertEquals(getNthObject(0),obj0); + Object obj1 = _pool.borrowObject(); + assertEquals(getNthObject(1),obj1); + Object obj2 = _pool.borrowObject(); + assertEquals(getNthObject(2),obj2); + _pool.returnObject(obj2); + obj2 = _pool.borrowObject(); + assertEquals(getNthObject(2),obj2); + _pool.returnObject(obj1); + obj1 = _pool.borrowObject(); + assertEquals(getNthObject(1),obj1); + _pool.returnObject(obj0); + _pool.returnObject(obj2); + obj2 = _pool.borrowObject(); + if (isLifo()) { + assertEquals(getNthObject(2),obj2); + } + if (isFifo()) { + assertEquals(getNthObject(0),obj2); + } + + obj0 = _pool.borrowObject(); + if (isLifo()) { + assertEquals(getNthObject(0),obj0); + } + if (isFifo()) { + assertEquals(getNthObject(2),obj0); + } + } + + public void testBaseNumActiveNumIdle() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + assertEquals(0,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + Object obj0 = _pool.borrowObject(); + assertEquals(1,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + Object obj1 = _pool.borrowObject(); + assertEquals(2,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + _pool.returnObject(obj1); + assertEquals(1,_pool.getNumActive()); + assertEquals(1,_pool.getNumIdle()); + _pool.returnObject(obj0); + assertEquals(0,_pool.getNumActive()); + assertEquals(2,_pool.getNumIdle()); + } + + public void testBaseClear() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + assertEquals(0,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + Object obj0 = _pool.borrowObject(); + Object obj1 = _pool.borrowObject(); + assertEquals(2,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + _pool.returnObject(obj1); + _pool.returnObject(obj0); + assertEquals(0,_pool.getNumActive()); + assertEquals(2,_pool.getNumIdle()); + _pool.clear(); + assertEquals(0,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + Object obj2 = _pool.borrowObject(); + assertEquals(getNthObject(2),obj2); + } + + public void testBaseInvalidateObject() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + assertEquals(0,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + Object obj0 = _pool.borrowObject(); + Object obj1 = _pool.borrowObject(); + assertEquals(2,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + _pool.invalidateObject(obj0); + assertEquals(1,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + _pool.invalidateObject(obj1); + assertEquals(0,_pool.getNumActive()); + assertEquals(0,_pool.getNumIdle()); + } + + public void testBaseClosePool() throws Exception { + try { + _pool = makeEmptyPool(3); + } catch(UnsupportedOperationException e) { + return; // skip this test if unsupported + } + Object obj = _pool.borrowObject(); + _pool.returnObject(obj); + + _pool.close(); + try { + _pool.borrowObject(); + fail("Expected IllegalStateException"); + } catch(IllegalStateException e) { + // expected + } } } Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/TestObjectPool.java Fri Mar 24 11:51:47 2006 @@ -33,206 +33,25 @@ } /** - * Create an [EMAIL PROTECTED] ObjectPool} instance - * that can contain at least <i>mincapacity</i> - * idle and active objects, or - * throw [EMAIL PROTECTED] IllegalArgumentException} - * if such a pool cannot be created. - */ - protected abstract ObjectPool makeEmptyPool(int mincapacity); - - /** * Create an <code>ObjectPool</code> with the specified factory. * The pool should be in a default configuration and conform to the expected * behaviors described in [EMAIL PROTECTED] ObjectPool}. * Generally speaking there should be no limits on the various object counts. + * @throws UnsupportedOperationException if the pool being tested does not follow pool contracts. */ - protected abstract ObjectPool makeEmptyPool(PoolableObjectFactory factory); - - /** - * Return what we expect to be the n<sup>th</sup> - * object (ZERO indexed) created by the _pool. - */ - protected abstract Object getNthObject(int n); - - /** - * Is the implementations LIFO? - */ - protected abstract boolean isLifo(); - - /** - * Is the implementationn FIFO? - */ - protected abstract boolean isFifo(); - - public void setUp() throws Exception { - } - - public void tearDown() throws Exception { - _pool = null; - } - - public void testBaseBorrow() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - assertEquals(getNthObject(0),_pool.borrowObject()); - assertEquals(getNthObject(1),_pool.borrowObject()); - assertEquals(getNthObject(2),_pool.borrowObject()); - } - - public void testBaseAddObject() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - try { - assertEquals(0,_pool.getNumIdle()); - assertEquals(0,_pool.getNumActive()); - _pool.addObject(); - assertEquals(1,_pool.getNumIdle()); - assertEquals(0,_pool.getNumActive()); - Object obj = _pool.borrowObject(); - assertEquals(getNthObject(0),obj); - assertEquals(0,_pool.getNumIdle()); - assertEquals(1,_pool.getNumActive()); - _pool.returnObject(obj); - assertEquals(1,_pool.getNumIdle()); - assertEquals(0,_pool.getNumActive()); - } catch(UnsupportedOperationException e) { - return; // skip this test if one of those calls is unsupported - } - } - - public void testBaseBorrowReturn() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - Object obj0 = _pool.borrowObject(); - assertEquals(getNthObject(0),obj0); - Object obj1 = _pool.borrowObject(); - assertEquals(getNthObject(1),obj1); - Object obj2 = _pool.borrowObject(); - assertEquals(getNthObject(2),obj2); - _pool.returnObject(obj2); - obj2 = _pool.borrowObject(); - assertEquals(getNthObject(2),obj2); - _pool.returnObject(obj1); - obj1 = _pool.borrowObject(); - assertEquals(getNthObject(1),obj1); - _pool.returnObject(obj0); - _pool.returnObject(obj2); - obj2 = _pool.borrowObject(); - if (isLifo()) { - assertEquals(getNthObject(2),obj2); - } - if (isFifo()) { - assertEquals(getNthObject(0),obj2); - } - - obj0 = _pool.borrowObject(); - if (isLifo()) { - assertEquals(getNthObject(0),obj0); - } - if (isFifo()) { - assertEquals(getNthObject(2),obj0); - } - } + protected abstract ObjectPool makeEmptyPool(PoolableObjectFactory factory) throws UnsupportedOperationException; - public void testBaseNumActiveNumIdle() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - assertEquals(0,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - Object obj0 = _pool.borrowObject(); - assertEquals(1,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - Object obj1 = _pool.borrowObject(); - assertEquals(2,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - _pool.returnObject(obj1); - assertEquals(1,_pool.getNumActive()); - assertEquals(1,_pool.getNumIdle()); - _pool.returnObject(obj0); - assertEquals(0,_pool.getNumActive()); - assertEquals(2,_pool.getNumIdle()); - } - - public void testBaseClear() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - assertEquals(0,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - Object obj0 = _pool.borrowObject(); - Object obj1 = _pool.borrowObject(); - assertEquals(2,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - _pool.returnObject(obj1); - _pool.returnObject(obj0); - assertEquals(0,_pool.getNumActive()); - assertEquals(2,_pool.getNumIdle()); - _pool.clear(); - assertEquals(0,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - Object obj2 = _pool.borrowObject(); - assertEquals(getNthObject(2),obj2); - } - - public void testBaseInvalidateObject() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - assertEquals(0,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - Object obj0 = _pool.borrowObject(); - Object obj1 = _pool.borrowObject(); - assertEquals(2,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - _pool.invalidateObject(obj0); - assertEquals(1,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - _pool.invalidateObject(obj1); - assertEquals(0,_pool.getNumActive()); - assertEquals(0,_pool.getNumIdle()); - } - - public void testBaseClosePool() throws Exception { - try { - _pool = makeEmptyPool(3); - } catch(IllegalArgumentException e) { - return; // skip this test if unsupported - } - Object obj = _pool.borrowObject(); - _pool.returnObject(obj); - - _pool.close(); + public void testClosedPoolBehavior() throws Exception { + final ObjectPool pool; try { - _pool.borrowObject(); - fail("Expected IllegalStateException"); - } catch(IllegalStateException e) { - // expected + pool = makeEmptyPool(new BasePoolableObjectFactory() { + public Object makeObject() throws Exception { + return new Object(); + } + }); + } catch (UnsupportedOperationException uoe) { + return; // test not supported } - } - - public void testClosedPoolBehavior() throws Exception { - final ObjectPool pool = makeEmptyPool(new BasePoolableObjectFactory() { - public Object makeObject() throws Exception { - return new Object(); - } - }); Object o1 = pool.borrowObject(); Object o2 = pool.borrowObject(); @@ -253,11 +72,26 @@ } // The following should not throw exceptions just because the pool is closed. - assertEquals("A closed pool shouldn't have any idle objects.", 0, pool.getNumIdle()); - pool.getNumActive(); + if (pool.getNumIdle() >= 0) { + assertEquals("A closed pool shouldn't have any idle objects.", 0, pool.getNumIdle()); + } + if (pool.getNumActive() >= 0) { + assertEquals("A closed pool should still keep count of active objects.", 2, pool.getNumActive()); + } pool.returnObject(o1); - assertEquals("returnObject should not add items back into the idle object pool for a closed pool.", 0, pool.getNumIdle()); + if (pool.getNumIdle() >= 0) { + assertEquals("returnObject should not add items back into the idle object pool for a closed pool.", 0, pool.getNumIdle()); + } + if (pool.getNumActive() >= 0) { + assertEquals("A closed pool should still keep count of active objects.", 1, pool.getNumActive()); + } pool.invalidateObject(o2); + if (pool.getNumIdle() >= 0) { + assertEquals("invalidateObject must not add items back into the idle object pool.", 0, pool.getNumIdle()); + } + if (pool.getNumActive() >= 0) { + assertEquals("A closed pool should still keep count of active objects.", 0, pool.getNumActive()); + } pool.clear(); pool.close(); } @@ -267,7 +101,12 @@ public void testPOFAddObjectUsage() throws Exception { final FailingPoolableObjectFactory factory = new FailingPoolableObjectFactory(); - final ObjectPool pool = makeEmptyPool(factory); + final ObjectPool pool; + try { + pool = makeEmptyPool(factory); + } catch(UnsupportedOperationException uoe) { + return; // test not supported + } final List expectedMethods = new ArrayList(); // addObject should make a new object, pasivate it and put it in the pool @@ -308,7 +147,12 @@ public void testPOFBorrowObjectUsages() throws Exception { final FailingPoolableObjectFactory factory = new FailingPoolableObjectFactory(); - final ObjectPool pool = makeEmptyPool(factory); + final ObjectPool pool; + try { + pool = makeEmptyPool(factory); + } catch (UnsupportedOperationException uoe) { + return; // test not supported + } final List expectedMethods = new ArrayList(); Object obj; @@ -368,7 +212,12 @@ public void testPOFReturnObjectUsages() throws Exception { final FailingPoolableObjectFactory factory = new FailingPoolableObjectFactory(); - final ObjectPool pool = makeEmptyPool(factory); + final ObjectPool pool; + try { + pool = makeEmptyPool(factory); + } catch (UnsupportedOperationException uoe) { + return; // test not supported + } final List expectedMethods = new ArrayList(); Object obj; int idleCount; @@ -407,7 +256,12 @@ public void testPOFInvalidateObjectUsages() throws Exception { final FailingPoolableObjectFactory factory = new FailingPoolableObjectFactory(); - final ObjectPool pool = makeEmptyPool(factory); + final ObjectPool pool; + try { + pool = makeEmptyPool(factory); + } catch (UnsupportedOperationException uoe) { + return; // test not supported + } final List expectedMethods = new ArrayList(); Object obj; @@ -434,7 +288,12 @@ public void testPOFClearUsages() throws Exception { final FailingPoolableObjectFactory factory = new FailingPoolableObjectFactory(); - final ObjectPool pool = makeEmptyPool(factory); + final ObjectPool pool; + try { + pool = makeEmptyPool(factory); + } catch (UnsupportedOperationException uoe) { + return; // test not supported + } final List expectedMethods = new ArrayList(); /// Test correct behavior code paths @@ -450,7 +309,12 @@ public void testPOFCloseUsages() throws Exception { final FailingPoolableObjectFactory factory = new FailingPoolableObjectFactory(); - ObjectPool pool = makeEmptyPool(factory); + ObjectPool pool; + try { + pool = makeEmptyPool(factory); + } catch (UnsupportedOperationException uoe) { + return; // test not supported + } final List expectedMethods = new ArrayList(); /// Test correct behavior code paths @@ -459,7 +323,11 @@ //// Test exception handling close should swallow failures - pool = makeEmptyPool(factory); + try { + pool = makeEmptyPool(factory); + } catch (UnsupportedOperationException uoe) { + return; // test not supported + } reset(pool, factory, expectedMethods); factory.setDestroyObjectFail(true); PoolUtils.prefill(pool, 5); @@ -476,18 +344,16 @@ } } - private void reset(final ObjectPool pool, final FailingPoolableObjectFactory factory, final List expectedMethods) throws Exception { + private static void reset(final ObjectPool pool, final FailingPoolableObjectFactory factory, final List expectedMethods) throws Exception { pool.clear(); clear(factory, expectedMethods); factory.reset(); } - private void clear(final FailingPoolableObjectFactory factory, final List expectedMethods) { + private static void clear(final FailingPoolableObjectFactory factory, final List expectedMethods) { factory.getMethodCalls().clear(); expectedMethods.clear(); } - - private ObjectPool _pool = null; private static class FailingPoolableObjectFactory implements PoolableObjectFactory { private final List methodCalls = new ArrayList(); Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/composite/TestCompositeObjectPool.java Fri Mar 24 11:51:47 2006 @@ -412,7 +412,7 @@ List garbage = new LinkedList(); Runtime runtime = Runtime.getRuntime(); while (pool.getNumIdle() > 0) { - garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory())]); + garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory()/4)]); System.gc(); } garbage.clear(); Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestGenericObjectPool.java Fri Mar 24 11:51:47 2006 @@ -23,6 +23,7 @@ import org.apache.commons.pool.PoolableObjectFactory; import org.apache.commons.pool.TestObjectPool; import org.apache.commons.pool.PoolUtils; +import org.apache.commons.pool.TestBaseObjectPool; import java.util.NoSuchElementException; @@ -32,7 +33,7 @@ * @author Sandy McArthur * @version $Revision$ $Date$ */ -public class TestGenericObjectPool extends TestObjectPool { +public class TestGenericObjectPool extends TestBaseObjectPool { public TestGenericObjectPool(String testName) { super(testName); } Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftRefOutOfMemory.java Fri Mar 24 11:51:47 2006 @@ -62,7 +62,7 @@ final List garbage = new LinkedList(); final Runtime runtime = Runtime.getRuntime(); while (pool.getNumIdle() > 0) { - garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory())]); + garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory()/4)]); System.gc(); } garbage.clear(); @@ -93,7 +93,7 @@ final List garbage = new LinkedList(); final Runtime runtime = Runtime.getRuntime(); while (pool.getNumIdle() > 0) { - garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory())]); + garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory()/4)]); System.gc(); } garbage.clear(); @@ -120,7 +120,7 @@ final List garbage = new LinkedList(); final Runtime runtime = Runtime.getRuntime(); while (pool.getNumIdle() > 0) { - garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory())]); + garbage.add(new byte[Math.min(1024 * 1024, (int)runtime.freeMemory()/4)]); System.gc(); } garbage.clear(); Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestSoftReferenceObjectPool.java Fri Mar 24 11:51:47 2006 @@ -22,13 +22,14 @@ import org.apache.commons.pool.ObjectPool; import org.apache.commons.pool.PoolableObjectFactory; import org.apache.commons.pool.TestObjectPool; +import org.apache.commons.pool.TestBaseObjectPool; /** * @author Rodney Waldhoff * @author Sandy McArthur * @version $Revision$ $Date$ */ -public class TestSoftReferenceObjectPool extends TestObjectPool { +public class TestSoftReferenceObjectPool extends TestBaseObjectPool { public TestSoftReferenceObjectPool(String testName) { super(testName); } Modified: jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java?rev=388619&r1=388618&r2=388619&view=diff ============================================================================== --- jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java (original) +++ jakarta/commons/proper/pool/trunk/src/test/org/apache/commons/pool/impl/TestStackObjectPool.java Fri Mar 24 11:51:47 2006 @@ -21,6 +21,7 @@ import org.apache.commons.pool.ObjectPool; import org.apache.commons.pool.PoolableObjectFactory; import org.apache.commons.pool.TestObjectPool; +import org.apache.commons.pool.TestBaseObjectPool; import java.util.ArrayList; import java.util.BitSet; @@ -33,7 +34,7 @@ * @author Sandy McArthur * @version $Revision$ $Date$ */ -public class TestStackObjectPool extends TestObjectPool { +public class TestStackObjectPool extends TestBaseObjectPool { public TestStackObjectPool(String testName) { super(testName); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]