Hi Craig,

Hi Michelle,

We should look at the cases for pmf being null. The tearDown method relies on the ability to get access to a PM in order to do cleanup. It doesn't make sense to go through the expensive process of getting a PMF if there is no tearDown work to do.

So perhaps we need to check first for any instances or classes to be removed before we get a PMF in tearDown...
I agree!


And we should probably disallow pmf == null in cases where there is work to do.
I'm not sure. Do you mean that the test result is ERROR for test cases having "pmf == null in cases where there is work to do"? Let me know if you feel strong on this.

By then I'll prepare a patch that includes your issue above and the proposal below.

Regards,
Michael


Craig

On May 31, 2005, at 11:06 AM, Michelle Caisse wrote:

Alternatively, getPMF() could check to see if pmf is closed or null and return a new pmf in either case.

-- Michelle

Michael Watzek wrote:

Hi,

there are 5 tests (AfterCloseGetPMThrowsException, AfterCloseSetMethodsThrowException, Close, CloseFailsIfTransactionActive, CloseWithoutPermissionThrowsSecurityException) that call "getPMF()" and "pmf.close()" in their "testXXX" methods , but they do not nullify field "pmf". All of those tests fail in "localTearDown": "localTearDown" calls "getPMF()" which returns field "pmf" if it is not null. For this reason, "getPMF()" returnes a closed PMF in those tests.

The proposal for a fix is to add a check before "localTearDown" is called:

if (pmf!=null && pmf.isClosed())
    pmf = null;

Regards,
Michael




Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!


--
-------------------------------------------------------------------
Michael Watzek                  [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]        Buelowstr. 66
Tel.:  ++49/30/235 520 36       10783 Berlin - Germany
Fax.:  ++49/30/217 520 12       http://www.spree.de/
-------------------------------------------------------------------

Reply via email to