jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jukka Zitting (JIRA)" <j...@apache.org>
Subject [jira] Updated: (JCR-752) Test cases leak sessions
Date Mon, 17 Mar 2008 21:10:24 GMT

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

Jukka Zitting updated JCR-752:
------------------------------

    Component/s:     (was: test)
                 jackrabbit-jcr-tests

> Test cases leak sessions
> ------------------------
>
>                 Key: JCR-752
>                 URL: https://issues.apache.org/jira/browse/JCR-752
>             Project: Jackrabbit
>          Issue Type: Bug
>          Components: jackrabbit-jcr-tests
>            Reporter: Julian Reschke
>            Priority: Minor
>
> Many of the JCR test cases currently leak Sessions when an exception occurs during the
setUp() method. For some repository implementations, lots of non-closed Session objects can
cause subsequent test cases not to run at all (because of no additional Sessions being available).
> For instance, in org.apache.jackrabbit.test.api.SetValueBinaryTest:
>     protected void setUp() throws Exception {
>         super.setUp();
>         // initialize some binary value
>         data = createRandomString(10).getBytes();
>         value = superuser.getValueFactory().createValue(new ByteArrayInputStream(data));
>         // create a new node under the testRootNode
>         node = testRootNode.addNode(nodeName1, testNodeType);
>         // create a new single-value property and save it
>         property1 = node.setProperty(propertyName1, superuser.getValueFactory().createValue(new
ByteArrayInputStream(new byte[0])));
>         superuser.save();
>     }
> This code should be enhanced like this:
>     protected void setUp() throws Exception {
>         super.setUp();
>         try {
>                 // initialize some binary value
>                 data = createRandomString(10).getBytes();
>                 value = superuser.getValueFactory().createValue(new ByteArrayInputStream(data));
>                 // create a new node under the testRootNode
>                 node = testRootNode.addNode(nodeName1, testNodeType);
>                 // create a new single-value property and save it
>                 property1 = node.setProperty(propertyName1, superuser.getValueFactory().createValue(new
ByteArrayInputStream(new byte[0])));
>                 superuser.save();
>         }
>         catch (RepositoryException ex) {
>                 super.cleanUp();
>                 throw ex;
>         }
> }
> This applies to many other test cases as well, some of which also allocate an additional
Session which would need to be logged out as well.

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


Mime
View raw message