db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-4249) Create a simple store recovery test in JUnit
Date Thu, 18 Aug 2011 17:24:27 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Kathey Marsden updated DERBY-4249:

    Attachment: derby4249_showlaunchederr_diff.txt

Here is a patch to include the error output in the error if a launched process fails.  With
the patch the output when using junit 3.8.1 is:

1) testBasicRecovery(org.apache.derbyTesting.functionTests.tests.store.RecoveryTest)junit.framework.AssertionFailedError:
 match exitValue:1
expected output strings:
        [0]OK (1 test)
 actual output:<STDOUT> <END STDOUT>
<STDERR>Class not found "org.apache.derbyTesting.functionTests.tests.store.RecoveryTest.launchRecoveryInsert"
 expected:<0> but was:<1>
        at org.apache.derbyTesting.junit.BaseTestCase.assertExecJavaCmdAsExpected(BaseTestCase.java:512)
        at org.apache.derbyTesting.junit.BaseTestCase.assertLaunchedJUnitTestMethod(BaseTestCase.java:836)
        at org.apache.derbyTesting.functionTests.tests.store.RecoveryTest.testBasicRecovery(RecoveryTest.java:92)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:112)
        at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
        at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
        at junit.extensions.TestSetup.run(TestSetup.java:23)
        at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)

Tests run: 1,  Failures: 1,  Errors: 0

> Create a simple store recovery test in JUnit
> --------------------------------------------
>                 Key: DERBY-4249
>                 URL: https://issues.apache.org/jira/browse/DERBY-4249
>             Project: Derby
>          Issue Type: Improvement
>          Components: Test
>    Affects Versions:
>            Reporter: Kathey Marsden
>            Assignee: Siddharth Srivastava
>            Priority: Minor
>         Attachments: d4249.diff, d4249_1.diff, d4249_2.diff, d4249_3.diff, derby4249.diff,
derby4249.diff, derby4249_secmgr_diff.txt, derby4249_showlaunchederr_diff.txt
> It would be good to be able to start converting the store  recovery tests  or at least
be able to write new recovery tests in JUnit.   We could start by writing a simple recovery
test just to establish the framework.  The test should.
> -  Connect, create a table, commit and shutdown the database.
> -  fork a jvm, add one row, commit, add another row, exit  the jvm.
> -  Reconnect with the first jvm and verify that the first row is there and the second
is not.
> I guess the main thing to decide is how to spawn the second jvm and check results.  
 I tend to think the second jvm should actually execute another JUnit test, verify the exit
code (assuming a failed test has a non-zero exit code) and then put the output in the fail
assertion if it fails so it shows up in the report at the end of the Suite execution.   I
think we could create a test runner that takes a class and a specific test to run instead
of the whole suite, so we could keep our methods consolidated in a single class for the test,
but all pure conjecture at this point.  I'll have to give it a try, but wanted to first see
if folks thought this was a reasonable approach.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message