Details

    • Type: Sub-task Sub-task
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.8.2.2, 10.9.1.0
    • Component/s: Test
    • Labels:
    • Urgency:
      Low
    1. use-helper-methods.diff
      43 kB
      Knut Anders Hatlen
    2. forced-order.diff
      5 kB
      Knut Anders Hatlen
    3. DERBY-1903_liteToAllPackages_diff.txt
      2 kB
      Kathey Marsden
    4. derby-1903_embeddedp1_diff.txt
      72 kB
      Kathey Marsden
    5. derby-1903_client_diff.txt
      8 kB
      Kathey Marsden
    6. derby-1903_addsuites_diff.txt
      5 kB
      Kathey Marsden
    7. close-stream.diff
      0.9 kB
      Knut Anders Hatlen

      Issue Links

        Activity

        Hide
        V.Narayanan added a comment -

        I am not actively working on this issue and hence am unassigning myself

        Show
        V.Narayanan added a comment - I am not actively working on this issue and hence am unassigning myself
        Hide
        V.Narayanan added a comment -

        Thank you for assigning this to yourself Erlend.

        Can I pls request you to put in code in small chunks for easy review? (It is a big test)
        It would be OK even if it is not working code initially.

        But it would be great to review it in small chunks.

        Show
        V.Narayanan added a comment - Thank you for assigning this to yourself Erlend. Can I pls request you to put in code in small chunks for easy review? (It is a big test) It would be OK even if it is not working code initially. But it would be great to review it in small chunks.
        Hide
        Kathey Marsden added a comment -

        Unassigning due to inactivity. Plesae reassign yourself if you would like to work on this.

        Show
        Kathey Marsden added a comment - Unassigning due to inactivity. Plesae reassign yourself if you would like to work on this.
        Hide
        Kathey Marsden added a comment -

        Attaching an initial patch for this issue. This patch converts the embedded test to LobLimitsTest.java and also introduces a new test LobLimitsLiteTest.java which runs through the same functionality but with smaller lob sizes. The latter can be incorporated into suites.All to ensure no functional regression with smaller lob sizes.

        The new test needs to be reformated due to things like try/catch blocks being removed and lines > 80, but I would like to check this in first and then submit another patch just for the reformat and then continue work on this test to enable in client, bring LobLimitsLiteTest into suites.All, remove the old test, and also investigate one case that was disabled due to materialization according to the comment.

        Show
        Kathey Marsden added a comment - Attaching an initial patch for this issue. This patch converts the embedded test to LobLimitsTest.java and also introduces a new test LobLimitsLiteTest.java which runs through the same functionality but with smaller lob sizes. The latter can be incorporated into suites.All to ensure no functional regression with smaller lob sizes. The new test needs to be reformated due to things like try/catch blocks being removed and lines > 80, but I would like to check this in first and then submit another patch just for the reformat and then continue work on this test to enable in client, bring LobLimitsLiteTest into suites.All, remove the old test, and also investigate one case that was disabled due to materialization according to the comment.
        Hide
        Kathey Marsden added a comment -

        The attached patch derby-1903_client_diff.txt enables client for largedata.LobLimitsLite. It disables the test cases that fail with client:
        DERBY-5338 client gives wrong SQLState and protocol error inserting a 4GB clob. Should be 22003

        DERBY-5341 : Client allows clob larger than column width to be inserted.

        DERBY-5317 cannot use setCharacterStream with value from Clob.getCharacterStream

        Also fixes the test to fail if we do not get an exception for negative test cases.

        Show
        Kathey Marsden added a comment - The attached patch derby-1903_client_diff.txt enables client for largedata.LobLimitsLite. It disables the test cases that fail with client: DERBY-5338 client gives wrong SQLState and protocol error inserting a 4GB clob. Should be 22003 DERBY-5341 : Client allows clob larger than column width to be inserted. DERBY-5317 cannot use setCharacterStream with value from Clob.getCharacterStream Also fixes the test to fail if we do not get an exception for negative test cases.
        Hide
        Kathey Marsden added a comment -

        I ran the full LobLimitsTest on the same machine where I tested performance on the old one in DERBY-5208.
        The new one took about 11.5 hours:
        Time: 41,577.434

        OK (5 tests)

        vs 10 hours 18 minutes and 18 minutes with the old one with the same jvm.
        The only difference is the conversion and a later version on trunk.

        I'll kick off the old test again at this rev level.

        Show
        Kathey Marsden added a comment - I ran the full LobLimitsTest on the same machine where I tested performance on the old one in DERBY-5208 . The new one took about 11.5 hours: Time: 41,577.434 OK (5 tests) vs 10 hours 18 minutes and 18 minutes with the old one with the same jvm. The only difference is the conversion and a later version on trunk. I'll kick off the old test again at this rev level.
        Hide
        Kathey Marsden added a comment -

        The patch derby-1903_addsuite_diff.txt

        • adds a separate test for the big client run LobLimitsClientTest.
        • Adds largedata._Suite which will run first the lite tests and then the full embedded and client.
        • Adds LobLimitsLiteTest to sutes.All
        • Changes build.xml so that the the property files for the old test will still be copied. The previous change of build.xml accidentally removed this.

        Running suites.All now. Still to do:
        1) Resolve time difference between old and new embedded test.
        2) Do a full client and largedata._Suite run.
        3) Remove the old test. I plan to keep it around for a while until the above items are complete and automated tests have been switched over.

        Show
        Kathey Marsden added a comment - The patch derby-1903_addsuite_diff.txt adds a separate test for the big client run LobLimitsClientTest. Adds largedata._Suite which will run first the lite tests and then the full embedded and client. Adds LobLimitsLiteTest to sutes.All Changes build.xml so that the the property files for the old test will still be copied. The previous change of build.xml accidentally removed this. Running suites.All now. Still to do: 1) Resolve time difference between old and new embedded test. 2) Do a full client and largedata._Suite run. 3) Remove the old test. I plan to keep it around for a while until the above items are complete and automated tests have been switched over.
        Hide
        Kathey Marsden added a comment -

        Running the old test at revision 1147981 it is also taking 11 hours and 18 minutes, so I think there is no functional difference between the old and the converted test. I am not sure where the extra hour came from between my run during investigating DERBY-5208 at trunk 10.9.0.0 alpha - (1141774) - 10 hours 18 minutes. No highly suspect changes jump out at me between these versions.

        Show
        Kathey Marsden added a comment - Running the old test at revision 1147981 it is also taking 11 hours and 18 minutes, so I think there is no functional difference between the old and the converted test. I am not sure where the extra hour came from between my run during investigating DERBY-5208 at trunk 10.9.0.0 alpha - (1141774) - 10 hours 18 minutes. No highly suspect changes jump out at me between these versions.
        Hide
        Knut Anders Hatlen added a comment -

        Two of the test cases in the converted test fail on phoneME in my environment:

        java.lang.NullPointerException
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.insertClob2(Unknown Source)
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.negativeSpaceTruncationTest(Unknown Source)
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClobNegative(Unknown Source)
        at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
        at junit.extensions.TestDecorator.basicRun(Unknown Source)
        at junit.extensions.TestSetup$1.protect(Unknown Source)
        at junit.extensions.TestSetup.run(Unknown Source)
        at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
        at junit.extensions.TestDecorator.basicRun(Unknown Source)
        at junit.extensions.TestSetup$1.protect(Unknown Source)
        at junit.extensions.TestSetup.run(Unknown Source)
        at sun.misc.CVM.runMain(Unknown Source)

        junit.framework.AssertionFailedError: expected:<1> but was:<0>
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.selectUpdateClob2(Unknown Source)
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClob2(Unknown Source)
        at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
        at junit.extensions.TestDecorator.basicRun(Unknown Source)
        at junit.extensions.TestSetup$1.protect(Unknown Source)
        at junit.extensions.TestSetup.run(Unknown Source)
        at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
        at junit.extensions.TestDecorator.basicRun(Unknown Source)
        at junit.extensions.TestSetup$1.protect(Unknown Source)
        at junit.extensions.TestSetup.run(Unknown Source)
        at sun.misc.CVM.runMain(Unknown Source)

        Show
        Knut Anders Hatlen added a comment - Two of the test cases in the converted test fail on phoneME in my environment: java.lang.NullPointerException at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.insertClob2(Unknown Source) at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.negativeSpaceTruncationTest(Unknown Source) at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClobNegative(Unknown Source) at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source) at junit.extensions.TestDecorator.basicRun(Unknown Source) at junit.extensions.TestSetup$1.protect(Unknown Source) at junit.extensions.TestSetup.run(Unknown Source) at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source) at junit.extensions.TestDecorator.basicRun(Unknown Source) at junit.extensions.TestSetup$1.protect(Unknown Source) at junit.extensions.TestSetup.run(Unknown Source) at sun.misc.CVM.runMain(Unknown Source) junit.framework.AssertionFailedError: expected:<1> but was:<0> at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.selectUpdateClob2(Unknown Source) at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClob2(Unknown Source) at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source) at junit.extensions.TestDecorator.basicRun(Unknown Source) at junit.extensions.TestSetup$1.protect(Unknown Source) at junit.extensions.TestSetup.run(Unknown Source) at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source) at junit.extensions.TestDecorator.basicRun(Unknown Source) at junit.extensions.TestSetup$1.protect(Unknown Source) at junit.extensions.TestSetup.run(Unknown Source) at sun.misc.CVM.runMain(Unknown Source)
        Hide
        Knut Anders Hatlen added a comment -

        I see that the largedata suite is added to suites.All in the All class. I think it would be better to add it the same way as the other test suites, by adding it to the list returned by AllPackages.getTestClasses(). Then it'll be picked up by those who use AllPackages.getTopLevelSuiteNames() to run sub-suites in parallel. Perhaps also add the new suite to the junit-core target in build.xml?

        Show
        Knut Anders Hatlen added a comment - I see that the largedata suite is added to suites.All in the All class. I think it would be better to add it the same way as the other test suites, by adding it to the list returned by AllPackages.getTestClasses(). Then it'll be picked up by those who use AllPackages.getTopLevelSuiteNames() to run sub-suites in parallel. Perhaps also add the new suite to the junit-core target in build.xml?
        Hide
        Kathey Marsden added a comment -

        Thanks Knut. I will take a look more closely at moving it to AllPackages. When I first looked I was a bit confused how the single test or suiteLite() would fit into the model there, but I am sure it is possible.

        Also on the same linux machine I have been using, LobLimitsClientTest completed in about 9.8 hours, which of course has some of the cases omitted due to bugs, so I guess that is why it is shorter than embedded. Still I was surprised.

        Show
        Kathey Marsden added a comment - Thanks Knut. I will take a look more closely at moving it to AllPackages. When I first looked I was a bit confused how the single test or suiteLite() would fit into the model there, but I am sure it is possible. Also on the same linux machine I have been using, LobLimitsClientTest completed in about 9.8 hours, which of course has some of the cases omitted due to bugs, so I guess that is why it is shorter than embedded. Still I was surprised.
        Hide
        Knut Anders Hatlen added a comment -

        I think adding this line to AllPackages.getTestClasses() should do the trick:

        classes.add(org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsLiteTest.class);

        This will use the suite() method in LobLimitsLiteTest, which is (currently) the same as calling _Suite.suiteLite(). Alternatively, if we want to prepare the lite suite for adding more largedata tests in the future, we could add a new class (_SuiteLite for example) with a suite() method and add LobLimitsLiteTest there.

        Show
        Knut Anders Hatlen added a comment - I think adding this line to AllPackages.getTestClasses() should do the trick: classes.add(org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsLiteTest.class); This will use the suite() method in LobLimitsLiteTest, which is (currently) the same as calling _Suite.suiteLite(). Alternatively, if we want to prepare the lite suite for adding more largedata tests in the future, we could add a new class (_SuiteLite for example) with a suite() method and add LobLimitsLiteTest there.
        Hide
        Kathey Marsden added a comment -

        This patch DERBY-1903_liteToAllPackages_diff.txt moves the LobLimitsLiteTest to AllPackages from All

        I opted for Knut's first approach of adding the class directly. We can add the new suite class at such a time as we have another test.

        Show
        Kathey Marsden added a comment - This patch DERBY-1903 _liteToAllPackages_diff.txt moves the LobLimitsLiteTest to AllPackages from All I opted for Knut's first approach of adding the class directly. We can add the new suite class at such a time as we have another test.
        Hide
        Kathey Marsden added a comment -

        Regarding the phoneME failures, do you see these with LobLimitsLiteTest or just with the full LobLimitsTest
        LobLimitsLiteTest runs ok with weme. I don't have weme on Linux where I have enough space to run the full test.

        Did phoneME pass with the old test?

        Show
        Kathey Marsden added a comment - Regarding the phoneME failures, do you see these with LobLimitsLiteTest or just with the full LobLimitsTest LobLimitsLiteTest runs ok with weme. I don't have weme on Linux where I have enough space to run the full test. Did phoneME pass with the old test?
        Hide
        Knut Anders Hatlen added a comment -

        I saw this with the LobLimitsLiteTest (both in suites.All and standalone). Haven't tried with the full test.

        I don't know if it worked with the old test. As far as I know, no one did the work to get the old test harness to work with phoneME (the harness needs some support classes to be implemented per JVM type/version, if I'm not mistaken).

        The typical reason why something fails on phoneME (at least if it doesn't fail on weme) is that the ordering of the test cases tends to be different from what we get when running the tests on other JVMs, so it may fail if the test cases aren't independent of each other. And indeed, when I force the tests to run in the opposite order, they fail this way on Java 6 too.

        Show
        Knut Anders Hatlen added a comment - I saw this with the LobLimitsLiteTest (both in suites.All and standalone). Haven't tried with the full test. I don't know if it worked with the old test. As far as I know, no one did the work to get the old test harness to work with phoneME (the harness needs some support classes to be implemented per JVM type/version, if I'm not mistaken). The typical reason why something fails on phoneME (at least if it doesn't fail on weme) is that the ordering of the test cases tends to be different from what we get when running the tests on other JVMs, so it may fail if the test cases aren't independent of each other. And indeed, when I force the tests to run in the opposite order, they fail this way on Java 6 too.
        Hide
        Knut Anders Hatlen added a comment -

        To reproduce the NullPointerException, just run the testClobNegative test case by itself. For example by making this change to LobLimitsLiteTest.suite():

        @@ -54,7 +54,7 @@
        public static Test suite() {
        // Right now run just with embeddded.
        Test test = new CleanDatabaseTestSetup(

        • new TestSuite(LobLimitsTest.class)) {
          + new LobLimitsTest("testClobNegative")) {
          protected void decorateSQL(Statement s)
          throws SQLException {
          setupTables(s,_1MB, _100K);

        The NPE seems to happen because the reader that is is closed in the finally block is null. But the actual error, which is hidden by the error in the finally block, is a FileNotFoundException:

        1) testClobNegative(org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest)java.io.FileNotFoundException: extinout/charLobLimits.txt (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:120)
        at java.io.FileReader.<init>(FileReader.java:55)
        at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$6.run(PrivilegedFileOpsForTests.java:183)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.getFileReader(PrivilegedFileOpsForTests.java:179)
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.insertClob2(LobLimitsTest.java:994)
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.negativeSpaceTruncationTest(LobLimitsTest.java:439)
        at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClobNegative(LobLimitsTest.java:344)

        Show
        Knut Anders Hatlen added a comment - To reproduce the NullPointerException, just run the testClobNegative test case by itself. For example by making this change to LobLimitsLiteTest.suite(): @@ -54,7 +54,7 @@ public static Test suite() { // Right now run just with embeddded. Test test = new CleanDatabaseTestSetup( new TestSuite(LobLimitsTest.class)) { + new LobLimitsTest("testClobNegative")) { protected void decorateSQL(Statement s) throws SQLException { setupTables(s,_1MB, _100K); The NPE seems to happen because the reader that is is closed in the finally block is null. But the actual error, which is hidden by the error in the finally block, is a FileNotFoundException: 1) testClobNegative(org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest)java.io.FileNotFoundException: extinout/charLobLimits.txt (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at java.io.FileReader.<init>(FileReader.java:55) at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$6.run(PrivilegedFileOpsForTests.java:183) at java.security.AccessController.doPrivileged(Native Method) at org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.getFileReader(PrivilegedFileOpsForTests.java:179) at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.insertClob2(LobLimitsTest.java:994) at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.negativeSpaceTruncationTest(LobLimitsTest.java:439) at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClobNegative(LobLimitsTest.java:344)
        Hide
        Kathey Marsden added a comment -

        Thanks Knut. Do you have a preference of forcing the order vs making sure each fixture is order independent?
        I haven't looked closely but it could be that the latter will require repeated setup for creating the character file. If we go with the forced order it might be nice to break things up into fixtures along the lines of the original test numbers. I can take some time tomorrow afternoon or Friday to look at the ordering but feel free to make adjustments as make sense for phoneME in the meanwhile.

        Show
        Kathey Marsden added a comment - Thanks Knut. Do you have a preference of forcing the order vs making sure each fixture is order independent? I haven't looked closely but it could be that the latter will require repeated setup for creating the character file. If we go with the forced order it might be nice to break things up into fixtures along the lines of the original test numbers. I can take some time tomorrow afternoon or Friday to look at the ordering but feel free to make adjustments as make sense for phoneME in the meanwhile.
        Hide
        Knut Anders Hatlen added a comment -

        Although the purist in me prefers independent test cases, I think forcing a particular order is OK to prevent the need for excessive setup code. The attached patch forces the order of the test cases by using TestConfiguration.orderedSuite(), which orders the test cases by their names. The test cases happened to appear in alphabetical order in the source file, but just to make it more obvious, I also added a serial number to the name of each test case.

        I didn't split up the existing test cases in smaller units, but that sounds fine to me.

        Committed revision 1149054.

        Show
        Knut Anders Hatlen added a comment - Although the purist in me prefers independent test cases, I think forcing a particular order is OK to prevent the need for excessive setup code. The attached patch forces the order of the test cases by using TestConfiguration.orderedSuite(), which orders the test cases by their names. The test cases happened to appear in alphabetical order in the source file, but just to make it more obvious, I also added a serial number to the name of each test case. I didn't split up the existing test cases in smaller units, but that sounds fine to me. Committed revision 1149054.
        Hide
        Knut Anders Hatlen added a comment -

        While I was at it, I made some changes to the test so that it uses more of the framework helper methods. Then we don't need to pass the connection object as a parameter that many places, and it also ensures that statements are closed.

        Also, I made the test close result sets a couple of places where it was forgotten. And in insertClob2() we open a FileReader inside a loop, possibly many times, but we only close one of the readers. I moved the closing inside the loop to ensure that all the readers are closed.

        Committed revision 1149090.

        Show
        Knut Anders Hatlen added a comment - While I was at it, I made some changes to the test so that it uses more of the framework helper methods. Then we don't need to pass the connection object as a parameter that many places, and it also ensures that statements are closed. Also, I made the test close result sets a couple of places where it was forgotten. And in insertClob2() we open a FileReader inside a loop, possibly many times, but we only close one of the readers. I moved the closing inside the loop to ensure that all the readers are closed. Committed revision 1149090.
        Hide
        Knut Anders Hatlen added a comment -

        The test failed on some of the Windows platforms. For example here:

        http://dbtg.foundry.sun.com/derby/test/Daily/jvm1.6/testing/testlog/vista/1149242-suitesAll_diff.txt

        1) LobLimitsTestjunit.framework.AssertionFailedError: Failed to delete 2 files (root=C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout: C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout\byteLobLimits.dat (isDir=false, canRead=true, canWrite=true, size=102400), C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout (isDir=true, canRead=true, canWrite=true, size=0)
        2) LobLimitsTestjunit.framework.AssertionFailedError: Failed to delete 2 files (root=C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout: C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout\byteLobLimits.dat (isDir=false, canRead=true, canWrite=true, size=102400), C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout (isDir=true, canRead=true, canWrite=true, size=0)

        I think the problem is that compareBlobToFile() doesn't close the FileInputStream it opens, and thereby prevent the deletion of the file when the test is done.

        The attached patch replaces the body of that method with a call to the helper method BaseTestCase.assertEquals(InputStream,InputStream), which does essentially the same thing and additionally closes both the streams before returning.

        Committed revision 1149482.

        Show
        Knut Anders Hatlen added a comment - The test failed on some of the Windows platforms. For example here: http://dbtg.foundry.sun.com/derby/test/Daily/jvm1.6/testing/testlog/vista/1149242-suitesAll_diff.txt 1) LobLimitsTestjunit.framework.AssertionFailedError: Failed to delete 2 files (root=C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout: C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout\byteLobLimits.dat (isDir=false, canRead=true, canWrite=true, size=102400), C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout (isDir=true, canRead=true, canWrite=true, size=0) 2) LobLimitsTestjunit.framework.AssertionFailedError: Failed to delete 2 files (root=C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout: C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout\byteLobLimits.dat (isDir=false, canRead=true, canWrite=true, size=102400), C:\cludev\jagtmp\autoderbyN_regression\suitesAll_7\log\extinout (isDir=true, canRead=true, canWrite=true, size=0) I think the problem is that compareBlobToFile() doesn't close the FileInputStream it opens, and thereby prevent the deletion of the file when the test is done. The attached patch replaces the body of that method with a call to the helper method BaseTestCase.assertEquals(InputStream,InputStream), which does essentially the same thing and additionally closes both the streams before returning. Committed revision 1149482.
        Hide
        Kathey Marsden added a comment -

        linking bugs found while converting this test.

        Show
        Kathey Marsden added a comment - linking bugs found while converting this test.
        Hide
        Kathey Marsden added a comment -

        Except for the removal of the old LobLimits test. This conversion is complete. Thank you Knut for all of your help and improvement patches for phoneME and the intermittent nightly issue.

        I will leave this issue open until I hear from myrna that it is ok to go ahead and remove that. Four issues were discovered and filed during the course of the conversion and have been linked to the issue. I think I have seen quite a lot of this type of discovery in past conversions, showing beyond the obvious need to " kill the Derby test harness", conversions make for good general QA.

        Show
        Kathey Marsden added a comment - Except for the removal of the old LobLimits test. This conversion is complete. Thank you Knut for all of your help and improvement patches for phoneME and the intermittent nightly issue. I will leave this issue open until I hear from myrna that it is ok to go ahead and remove that. Four issues were discovered and filed during the course of the conversion and have been linked to the issue. I think I have seen quite a lot of this type of discovery in past conversions, showing beyond the obvious need to " kill the Derby test harness", conversions make for good general QA.
        Hide
        Kathey Marsden added a comment -

        Fixed in trunk and removed old test.
        Merged new tests to 10.8 but left old test there if needed for comparison.

        Show
        Kathey Marsden added a comment - Fixed in trunk and removed old test. Merged new tests to 10.8 but left old test there if needed for comparison.
        Hide
        Kristian Waagan added a comment -

        I removed master/LobLimits.out with revision 1233791.
        Can this issue be closed now?

        Show
        Kristian Waagan added a comment - I removed master/LobLimits.out with revision 1233791. Can this issue be closed now?
        Hide
        Myrna van Lunteren added a comment -

        I think this issue can be closed.

        Show
        Myrna van Lunteren added a comment - I think this issue can be closed.

          People

          • Assignee:
            Kathey Marsden
            Reporter:
            V.Narayanan
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development