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]