Hi Marcel,

I am working with 1.3 where the integration package is not yet present. But with help from Angela I saw there are some test cases in o.a.j.init.* that create the test data (to be run before level 1 api tests are run) and I found out that the build.xml also copies over stuff to create test data. I copied it and those template files to my project (I let jackrabbit-core create a maven test-jar to access the Test classes in my project) - previously I copied only some of the config files (eg. repositoryImplStub.properties) in application/test.

Now the init.TestAll is run first and it seems to work! But now there are other problems in my PM that I will have to fix ;-) Seems that sometimes a PUT to S3 hangs forever...

BTW: An implementation of the SPI interface is probably much more efficient when there is a network connection with a certain delay behind it. Yet the amount of work compared to a PM scares me ;-)

Thanks,
Alex


Am 11.01.2008 um 16:23 schrieb Marcel Reutegger:

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]


--
Alexander Klimetschek
[EMAIL PROTECTED]




Reply via email to