Author: fhanik
Date: Fri Jul 24 15:25:17 2009
New Revision: 797529
URL: http://svn.apache.org/viewvc?rev=797529&view=rev
Log:
update test cases
Modified:
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/AbandonPercentageTest.java
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/BorrowWaitTest.java
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestConcurrency.java
Modified:
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/AbandonPercentageTest.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/AbandonPercentageTest.java?rev=797529&r1=797528&r2=797529&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/AbandonPercentageTest.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/AbandonPercentageTest.java
Fri Jul 24 15:25:17 2009
@@ -38,7 +38,6 @@
this.datasource.getPoolProperties().setRemoveAbandoned(true);
this.datasource.getPoolProperties().setRemoveAbandonedTimeout(1);
Connection con = datasource.getConnection();
- long start = System.currentTimeMillis();
assertEquals("Number of connections active/busy should be
1",1,datasource.getPool().getActive());
Thread.sleep(2000);
assertEquals("Number of connections active/busy should be
0",0,datasource.getPool().getActive());
@@ -56,7 +55,6 @@
this.datasource.getPoolProperties().setRemoveAbandoned(true);
this.datasource.getPoolProperties().setRemoveAbandonedTimeout(1);
Connection con = datasource.getConnection();
- long start = System.currentTimeMillis();
assertEquals("Number of connections active/busy should be
1",1,datasource.getPool().getActive());
Thread.sleep(2000);
assertEquals("Number of connections active/busy should be
1",1,datasource.getPool().getActive());
@@ -75,7 +73,6 @@
this.datasource.getPoolProperties().setRemoveAbandonedTimeout(1);
this.datasource.getPoolProperties().setJdbcInterceptors(ResetAbandonedTimer.class.getName());
Connection con = datasource.getConnection();
- long start = System.currentTimeMillis();
assertEquals("Number of connections active/busy should be
1",1,datasource.getPool().getActive());
for (int i=0; i<20; i++) {
Thread.sleep(200);
@@ -97,7 +94,6 @@
this.datasource.getPoolProperties().setRemoveAbandonedTimeout(1);
Connection[] con = new Connection[size];
con[0] = datasource.getConnection();
- long start = System.currentTimeMillis();
assertEquals("Number of connections active/busy should be
1",1,datasource.getPool().getActive());
for (int i=1; i<25; i++) {
con[i] = datasource.getConnection();
Modified:
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/BorrowWaitTest.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/BorrowWaitTest.java?rev=797529&r1=797528&r2=797529&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/BorrowWaitTest.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/BorrowWaitTest.java
Fri Jul 24 15:25:17 2009
@@ -32,10 +32,10 @@
this.datasource.setMaxActive(1);
this.datasource.setMaxWait(wait);
Connection con = datasource.getConnection();
- long start = System.currentTimeMillis();
try {
Connection con2 = datasource.getConnection();
assertFalse("This should not happen, connection should be
unavailable.",true);
+ con2.close();
}catch (SQLException x) {
long delta = System.currentTimeMillis();
boolean inrange = Math.abs(wait-delta) < 1000;
Modified:
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java?rev=797529&r1=797528&r2=797529&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/DefaultTestCase.java
Fri Jul 24 15:25:17 2009
@@ -52,6 +52,7 @@
public org.apache.tomcat.jdbc.pool.DataSource createDefaultDataSource() {
org.apache.tomcat.jdbc.pool.DataSource datasource = null;
PoolConfiguration p = new DefaultProperties();
+ p.setFairQueue(false);
p.setJmxEnabled(false);
p.setTestWhileIdle(false);
p.setTestOnBorrow(false);
@@ -77,9 +78,7 @@
protected void transferProperties() {
try {
- BasicDataSourceFactory factory = new BasicDataSourceFactory();
Properties p = new Properties();
-
for (int i=0; i< ALL_PROPERTIES.length; i++) {
String name = "get" +
Character.toUpperCase(ALL_PROPERTIES[i].charAt(0)) +
ALL_PROPERTIES[i].substring(1);
String bname = "is" + name.substring(3);
Modified:
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestConcurrency.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestConcurrency.java?rev=797529&r1=797528&r2=797529&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestConcurrency.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/test/org/apache/tomcat/jdbc/test/TestConcurrency.java
Fri Jul 24 15:25:17 2009
@@ -31,11 +31,13 @@
ds.getPoolProperties().setTestWhileIdle(true);
ds.getPoolProperties().setMinEvictableIdleTimeMillis(750);
ds.getPoolProperties().setTimeBetweenEvictionRunsMillis(25);
+ ds.setFairQueue(true);
}
@Override
protected void tearDown() throws Exception {
Driver.reset();
+ ds.close(true);
super.tearDown();
}
@@ -92,8 +94,8 @@
public void testBrutal() throws Exception {
ds.getPoolProperties().setRemoveAbandoned(false);
ds.getPoolProperties().setRemoveAbandonedTimeout(1);
- ds.getPoolProperties().setMinEvictableIdleTimeMillis(10);
- ds.getPoolProperties().setTimeBetweenEvictionRunsMillis(-1);
+ ds.getPoolProperties().setMinEvictableIdleTimeMillis(100);
+ ds.getPoolProperties().setTimeBetweenEvictionRunsMillis(10);
ds.getConnection().close();
final int iter = 100000 * 10;
final AtomicInteger loopcount = new AtomicInteger(0);
@@ -119,7 +121,7 @@
}
try {
while (loopcount.get()<iter) {
- //assertEquals("Size comparison:",10, ds.getPool().getSize());
+ assertTrue("Size comparison(less than
11):",ds.getPool().getSize()<=10);
ds.getPool().testAllIdle();
ds.getPool().checkAbandoned();
ds.getPool().checkIdle();
@@ -137,8 +139,56 @@
assertEquals("Idle comparison:",10, ds.getPool().getIdle());
assertEquals("Used comparison:",0, ds.getPool().getActive());
assertEquals("Connect count",10,Driver.connectCount.get());
-
}
+ public void testBrutalNonFair() throws Exception {
+ ds.getPoolProperties().setRemoveAbandoned(false);
+ ds.getPoolProperties().setRemoveAbandonedTimeout(1);
+ ds.getPoolProperties().setMinEvictableIdleTimeMillis(100);
+ ds.getPoolProperties().setTimeBetweenEvictionRunsMillis(10);
+ ds.getConnection().close();
+ final int iter = 100000 * 10;
+ final AtomicInteger loopcount = new AtomicInteger(0);
+ final Runnable run = new Runnable() {
+ public void run() {
+ try {
+ while (loopcount.incrementAndGet() < iter) {
+ Connection con = ds.getConnection();
+ con.close();
+ }
+ }catch (Exception x) {
+ loopcount.set(iter); //stops the test
+ x.printStackTrace();
+ }
+ }
+ };
+ Thread[] threads = new Thread[20];
+ for (int i=0; i<threads.length; i++) {
+ threads[i] = new Thread(run);
+ }
+ for (int i=0; i<threads.length; i++) {
+ threads[i].start();
+ }
+ try {
+ while (loopcount.get()<iter) {
+ assertTrue("Size comparison(less than
11):",ds.getPool().getSize()<=10);
+ ds.getPool().testAllIdle();
+ ds.getPool().checkAbandoned();
+ ds.getPool().checkIdle();
+ }
+ }catch (Exception x) {
+ loopcount.set(iter); //stops the test
+ x.printStackTrace();
+ }
+ for (int i=0; i<threads.length; i++) {
+ threads[i].join();
+ }
+ System.out.println("Connect count:"+Driver.connectCount.get());
+ System.out.println("DisConnect count:"+Driver.disconnectCount.get());
+ assertEquals("Size comparison:",10, ds.getPool().getSize());
+ assertEquals("Idle comparison:",10, ds.getPool().getIdle());
+ assertEquals("Used comparison:",0, ds.getPool().getActive());
+ assertEquals("Connect count",10,Driver.connectCount.get());
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]