Hee.  It gets better.

I have two unit tests now. One tests the DAO that wraps access to unversioned nt:resources, the second tests the DAO that wraps access to versioned nt:resources.

Either test, by itself, works.

Both run (via the eclipse junit test on a source folder) has the second one fails. I don't know if it's due to the test itself or merely its position as second. The error is on teardown - I can't delete the repository files.

However if I comment out a final method that simply reads the properties of the jcr:content associated with a specified node then both tests succeed. I've single-stepped through the code and I'm not throwing any unexpected exceptions that would prevent the session from being properly closed. Plus I -know- that the unit test succeeds when I run it by itself.

My only idea was that there's a race condition where the second unit test is trying to use a repository directory with the same name as the first unit test, but that doesn't hold up either since I get the problem even when I append a random number to the directory name.

Could there be other race conditions in transient repositories?

Bear

Reply via email to