Hi Alex,

there are some preconditions for the test suite to run. the jackrabbit integration test executes this class:
https://svn.apache.org/repos/asf/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/integration/PrepareTestRepository.java
before it runs the JCR API test suite.

as for the test workspace you need to manually create it before you run the test suite.

The easiest way to test your persistence manager is probably to run the jackrabbit integration test first (mvn install) and then adapt the workspace.xml files created in target/repository/workspaces/*. then re-run it again.

regards
 marcel


Alexander Klimetschek wrote:
Hi all,

I am currently writing a BundlePersistenceManager for Amazon S3 (first started with a normal PM, but bundle seemed more feasible) . I am using the binary serialization of the BundleBinding that is also used by the DB Bundle PMs and always store the node data inside the serialized node bundles, avoiding the BlobStore interface (by setting the BundleBinding minBlobSize to the maximum).

Now I have problems when I test it with the JCR API test suite. Some test cases work, but some fail. I just want to know if it is normal for thoses test cases to fail or if someone has an idea what the problem could be? I develop against the 1.3 branch and use the tests from there as well. Here are two errors:

junit.framework.AssertionFailedError: Workspace does not contain test data at: /testdata
    at junit.framework.Assert.fail(Assert.java:47)
at org.apache.jackrabbit.test.AbstractJCRTest.setUp(AbstractJCRTest.java:357) at org.apache.jackrabbit.test.api.RootNodeTest.setUp(RootNodeTest.java:47)
    at junit.framework.TestCase.runBare(TestCase.java:125)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
at org.apache.jackrabbit.test.AbstractJCRTest.run(AbstractJCRTest.java:404) testGetName(org.apache.jackrabbit.test.api.WorkspaceReadMethodsTest) Time elapsed: 0.004 sec <<< ERROR!
javax.jcr.NoSuchWorkspaceException: test
at org.apache.jackrabbit.core.RepositoryImpl.getWorkspaceInfo(RepositoryImpl.java:678) at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1169) at org.apache.jackrabbit.core.jndi.BindableRepository.login(BindableRepository.java:185) at org.apache.jackrabbit.test.RepositoryHelper.getReadOnlySession(RepositoryHelper.java:133) at org.apache.jackrabbit.test.api.WorkspaceReadMethodsTest.testGetName(WorkspaceReadMethodsTest.java:63)

The latter one is odd: I couldn't find the place in the test case where the workspace "test" would be created. There is no "test" workspace in the file system structure as well.

I have only these 6 bundles stored in S3 when the test cases are done:

default/013b1937-85f4-45a6-8e16-1b136d693cea
default/0fab396b-92b3-45cb-b13b-b6501b72d8f7
default/5f949e64-4bb8-4689-8c22-469f07b1dfaa
default/cafebabe-cafe-babe-cafe-babecafebabe
default/deadbeef-cafe-babe-cafe-babecafebabe
version/deadbeef-face-babe-cafe-babecafebabe

Thanks for any hints in advance!
Alex

BTW: I know that this won't be the most efficient PM as the HTTP connection delay to S3 is slowing things down. It's more a fun project - and maybe it's fast enough when running on a EC2 machine. I will add a FileSystem implementation as well, to make it "complete".


--
Alexander Klimetschek
[EMAIL PROTECTED]






Reply via email to