You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by my...@apache.org on 2007/03/16 01:24:20 UTC

svn commit: r518814 - /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/StreamsTest.java

Author: myrnavl
Date: Thu Mar 15 17:24:19 2007
New Revision: 518814

URL: http://svn.apache.org/viewvc?view=rev&rev=518814
Log:
DERBY-2318 - preventing a difference between jvms in how a new Throwable stack trace is presented to cause a false test failure.

Modified:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/StreamsTest.java

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/StreamsTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/StreamsTest.java?view=diff&rev=518814&r1=518813&r2=518814
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/StreamsTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/StreamsTest.java Thu Mar 15 17:24:19 2007
@@ -301,7 +301,17 @@
     
     private void whereAmI() {
         if (count == 0) {
-            readerStackLevel = new Throwable().getStackTrace().length;
+            // see DERBY-2318 - some jvms report a line like:
+            // at java.lang.Throwable<init>. Ignore all Throwable lines
+            // for the count.
+            if ((new Throwable().getStackTrace().toString()).indexOf(
+                    "java.lang.Throwable".toLowerCase()) >=0)
+            {
+                readerStackLevel = 
+                    new Throwable().getStackTrace().length - 1;
+            }
+            else
+                readerStackLevel = new Throwable().getStackTrace().length;
         }
     }
     
@@ -349,7 +359,17 @@
     
     private void whereAmI()  {
         if (count == 0) {
-            readerStackLevel = new Throwable().getStackTrace().length;
+            // see DERBY-2318 - some jvms report a line like:
+            // at java.lang.Throwable<init>. Ignore all Throwable lines
+            // for the count.
+            if ((new Throwable().getStackTrace().toString()).indexOf(
+                    "java.lang.Throwable".toLowerCase()) >=0)
+            {
+                readerStackLevel = 
+                    new Throwable().getStackTrace().length - 1;
+            }
+            else
+                readerStackLevel = new Throwable().getStackTrace().length;
         }
     }