Derby
  1. Derby
  2. DERBY-5433

testOSReadOnly(org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest)junit.framework.AssertionFailedError: expected an error indicating the db is readonly

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Invalid
    • Affects Version/s: 10.8.2.2
    • Fix Version/s: None
    • Component/s: Test
    • Labels:
      None
    • Environment:
    • Bug behavior facts:
      Regression Test Failure

      Description

      Until the cycle for 10.8.2.1 I have been testing with the 'Classic' JVM.
      However, the current release (1.6) is the last one on this platform.
      But the 1.5 and 1.6 jvms showed two failures in OSReadOnlyTest:

      1) testOSReadOnly(org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest)junit.framework.AssertionFailedError: expected an error indicating the db is readonly
      at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.assertExpectedInsertBehaviour(OSReadOnlyTest.java:269)
      at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.testOSReadOnly(OSReadOnlyTest.java:146)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
      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)
      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)
      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)
      2) testOSReadOnly(org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest)junit.framework.AssertionFailedError: expected an error indicating the db is readonly
      at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.assertExpectedInsertBehaviour(OSReadOnlyTest.java:269)
      at org.apache.derbyTesting.functionTests.tests.store.OSReadOnlyTest.testOSReadOnly(OSReadOnlyTest.java:146)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:113)
      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)
      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)
      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 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)
      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)

      This does not appear exactly the same problem as I saw with the classic jvms as per DERBY-4804.

      1. Simpled5433repro.iseriesout
        0.6 kB
        Myrna van Lunteren
      2. Simpled5433repro.java
        2 kB
        Myrna van Lunteren
      3. Simpled5433repro.linuxout
        0.7 kB
        Myrna van Lunteren
      4. Simpled5433repro.windowsout
        0.6 kB
        Myrna van Lunteren

        Activity

        Hide
        Myrna van Lunteren added a comment -

        Attaching a simple repro and the output for windows(XP/ibm 1.6 SR10), linux (CentOS/ibm 1.6 SR9FP1) and iseries(6.1, but 7.1 shows same/ibm1.6 SR9+IZ94423)

        The Linux output is as I expected.
        The iseries output shows that the result of the setReadOnly call is true, but the file is still writeable.

        The windows result is odd; it shows the directory cannot be set to readOnly, but an individual file can; but at least the result is matching the behavior.

        I will log an issue against the jvm on iseries.

        Show
        Myrna van Lunteren added a comment - Attaching a simple repro and the output for windows(XP/ibm 1.6 SR10), linux (CentOS/ibm 1.6 SR9FP1) and iseries(6.1, but 7.1 shows same/ibm1.6 SR9+IZ94423) The Linux output is as I expected. The iseries output shows that the result of the setReadOnly call is true, but the file is still writeable. The windows result is odd; it shows the directory cannot be set to readOnly, but an individual file can; but at least the result is matching the behavior. I will log an issue against the jvm on iseries.
        Hide
        Myrna van Lunteren added a comment -

        I'm marking this as invalid because I don't think it's a test issue.
        It seems this is not a jvm bug either, but rather a result of being a certain type of user on iseries - if the user is all-powerful, write permission cannot be taken away, even by the user self, using application (including jvm) commands.
        Possibly we can exclude the test from running on iseries (and any other system that has a similar construction).

        Show
        Myrna van Lunteren added a comment - I'm marking this as invalid because I don't think it's a test issue. It seems this is not a jvm bug either, but rather a result of being a certain type of user on iseries - if the user is all-powerful, write permission cannot be taken away, even by the user self, using application (including jvm) commands. Possibly we can exclude the test from running on iseries (and any other system that has a similar construction).

          People

          • Assignee:
            Unassigned
            Reporter:
            Myrna van Lunteren
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development