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

Kristian Waagan updated DERBY-4804:
-----------------------------------

    Attachment: derby-4804-1a-test_change.diff

Patch 1a changes the test to better simulate a read-only database.

The straight-forward approach of making the directories read-only doesn't work, 
because Java version before Java SE 6 cannot make a file writable again after 
making it read-only. This makes it impossible to delete the directories/files 
from Java.

Instead of disabling the test for Java version before Java SE 6, I decided to 
fool Derby by touching the db.lck file (if it doesn't exist) and making it 
read-only. This work-around should be removed when Java 6 is the lowest Java 
version we support (might take a while :) ).

Patch ready for review.

I will post a follow-up patch to refactor some of the file system routines, 
probably by moving them into PrivilegedFileOpsForTests.

> Make database used in store.OSReadOnlyTest fully read-only
> ----------------------------------------------------------
>
>                 Key: DERBY-4804
>                 URL: https://issues.apache.org/jira/browse/DERBY-4804
>             Project: Derby
>          Issue Type: Improvement
>          Components: Test
>    Affects Versions: 10.7.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>            Priority: Minor
>         Attachments: derby-4804-1a-test_change.diff
>
>
> store.OSReadOnlyTest is supposed to emulate running Derby on a read-only 
> media, but it turns out the database directory isn't made read-only - only 
> the files inside the directories are.
> See http://db.markmail.org/thread/f3qlfx7teg7yk5hr for more details.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to