Unit test patches

Поиск
Список
Период
Сортировка
От John Lister
Тема Unit test patches
Дата
Msg-id 49FAC740.1060607@kickstone.com
обсуждение исходный текст
Ответы Re: Unit test patches
Список pgsql-jdbc
Hi, running the unit tests against the latest cvs, i get 3 failures...

Patches attached to correct them.

The first occurs in DatabaseMetaDataTest.testTables line 104:

It fetches all the columns for any table beginning with test - i happen
to have other tables named test... which causes this to fail. I've
modified it to look for the testmetadata table, alternatively the docs
should be altered to state that the test database should be clean.

The second in TimeTest.timeTest : line 269 & 283:
The timezone tests fail because the as it happens local daylight savings
is in effect, the code tries to test for this by submitting the time
being tested, but this actually works out daylight savings for the time
at the epoch (1/1/1970). I've modified it to use DST_OFFSET instead
(note -  this may fail if ran during the switchover period).

and finally TimeTest.testGetTimeZone : line 84:
Fails because although the timezone offset is added to local_offset, the
dst isn't taken into account. If DST is in effect the offset is out.
I've corrected this by adding the DST_OFFSET value;


Also i did get an error on MiscTest.testSingleThreadCancel - but i can't
repeat this... Is this expected?

    [junit] Testcase:
testSingleThreadCancel(org.postgresql.test.jdbc2.MiscTest)
:       Caused an ERROR
    [junit] ERROR: canceling statement due to user request
    [junit] org.postgresql.util.PSQLException: ERROR: canceling
statement due to
 user request
    [junit]     at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse
(QueryExecutorImpl.java:1646)
    [junit]     at
org.postgresql.core.v3.QueryExecutorImpl.processResults(Query
ExecutorImpl.java:1380)
...


Thanks

JOHN

Index: DatabaseMetaDataTest.java
===================================================================
RCS file: /cvsroot/jdbc/pgjdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java,v
retrieving revision 1.44
diff -u -r1.44 DatabaseMetaDataTest.java
--- DatabaseMetaDataTest.java    7 Nov 2008 09:11:37 -0000    1.44
+++ DatabaseMetaDataTest.java    29 Apr 2009 19:44:51 -0000
@@ -99,7 +99,7 @@
         assertTrue( "getTables() returned too many rows", rs.next() == false);
         rs.close();

-        rs = dbmd.getColumns("", "", "test%", "%" );
+        rs = dbmd.getColumns("", "", "testmetadat%", "%" );
         assertTrue( rs.next() );
         assertEquals( "testmetadata", rs.getString("TABLE_NAME") );
         assertEquals( "id", rs.getString("COLUMN_NAME") );
@@ -498,7 +498,7 @@
         assertEquals("b", rs.getString(4));

         assertTrue(!rs.next());
-
+
         rs.close();
     }

Index: TimeTest.java
===================================================================
RCS file: /cvsroot/jdbc/pgjdbc/org/postgresql/test/jdbc2/TimeTest.java,v
retrieving revision 1.18
diff -u -r1.18 TimeTest.java
--- TimeTest.java    8 Jan 2008 06:56:31 -0000    1.18
+++ TimeTest.java    30 Apr 2009 10:34:54 -0000
@@ -59,7 +59,7 @@

         cal.setTimeZone(TimeZone.getTimeZone("GMT"));

-        long localOffset = Calendar.getInstance().get(Calendar.ZONE_OFFSET);
+        long localOffset = Calendar.getInstance().get(Calendar.ZONE_OFFSET) +
Calendar.getInstance().get(Calendar.DST_OFFSET);

         /* set the time to midnight to make this easy */
         assertEquals(1, stmt.executeUpdate(TestUtil.insertSQL("testtime", "'00:00:00','00:00:00'")));
@@ -266,10 +266,8 @@
             assertNotNull(t);
             java.sql.Time tmpTime = java.sql.Time.valueOf("5:1:2");
             int localoffset = java.util.Calendar.getInstance().getTimeZone().getRawOffset();
-            if (java.util.Calendar.getInstance().getTimeZone().inDaylightTime(tmpTime))
-            {
-                localoffset += 60 * 60 * 1000;
-            }
+            localoffset += java.util.Calendar.getInstance().get(Calendar.DST_OFFSET);
+
             int Timeoffset = 3 * 60 * 60 * 1000;
             tmpTime.setTime(tmpTime.getTime() + Timeoffset + localoffset);
             assertEquals(makeTime(tmpTime.getHours(), tmpTime.getMinutes(), tmpTime.getSeconds()), t);
@@ -279,10 +277,7 @@
             assertNotNull(t);
             tmpTime = java.sql.Time.valueOf("23:59:59");
             localoffset = java.util.Calendar.getInstance().getTimeZone().getRawOffset();
-            if (java.util.Calendar.getInstance().getTimeZone().inDaylightTime(tmpTime))
-            {
-                localoffset += 60 * 60 * 1000;
-            }
+            localoffset += java.util.Calendar.getInstance().get(Calendar.DST_OFFSET);
             Timeoffset = -11 * 60 * 60 * 1000;
             tmpTime.setTime(tmpTime.getTime() + Timeoffset + localoffset);
             assertEquals(makeTime(tmpTime.getHours(), tmpTime.getMinutes(), tmpTime.getSeconds()), t);



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Oliver Jowett
Дата:
Сообщение: Re: Very strange performance decrease when reusing a PreparedStatement
Следующее
От: Frédérik Bilhaut
Дата:
Сообщение: Re: Very strange performance decrease when reusing a PreparedStatement