One of the JavaHL tests has been failing for a while now:
1) testBasicMerge(org.tigris.subversion.javahl.BasicTests)junit.framework.AssertionFailedError:
Missing eligible merge info on
'/home/bt/slaves/x64-centos/build/subversion/bindings/javahl/test-work/working_copies/basic_test33/branches/A/mu'
at org.tigris.subversion.javahl.BasicTests.acquireMergeinfoAndAssertEquals(BasicTests.java:2234)
at org.tigris.subversion.javahl.BasicTests.testBasicMerge(BasicTests.java:2402)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at org.tigris.subversion.javahl.RunTests.main(RunTests.java:116)
I have debugged this. The problem is happening in a method we run in
the tests after merges to verify that the svn mergeinfo functions
return the right values for merged and eligible revisions. In this
case, it is failing when retrieving the eligible revisions.
If I stop the debugger and go out to the command line and run the
command, I get this:
$ svn mergeinfo --show-revs=eligible --depth=empty
file:///Users/mphippard/work/src-trunk/repositories/basic_test1/A/mu
/Users/mphippard/work/src-trunk/working_copies/basic_test1/branches/A/mu
r6
Which is the right value and what the JavaHL tests look for. So the
test expectations are still correct.
However, when the JavaHL method runs, it gets an Exception.
org.tigris.subversion.javahl.ClientException: Bogus revision information given
svn: traced call
svn: traced call
svn: traced call
svn: subversion/libsvn_client/mergeinfo.c:1740: (apr_err=195002)
at org.tigris.subversion.javahl.SVNClient.getMergeinfoLog(Native Method)
at org.tigris.subversion.javahl.SVNClientSynchronized.getMergeinfoLog(SVNClientSynchronized.java:1082)
at org.tigris.subversion.javahl.BasicTests.getMergeinfoRevisions(BasicTests.java:2275)
at org.tigris.subversion.javahl.BasicTests.acquireMergeinfoAndAssertEquals(BasicTests.java:2232)
at org.tigris.subversion.javahl.BasicTests.testBasicMerge(BasicTests.java:2400)
I am going to commit a change to the tests so that this exception is
logged as the failure instead of just catching it and reporting the
error differently. The exception seems to provide a better clue.
I visually walked through the Java code into the C++ and into the C to
see if there was an argument transposition or something. It all looks
right to me though. Hopefully the clue this exception gives of
showing the line where it fails in mergeinfo.c will help someone fix
the problem.
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
Received on 2009-12-17 16:11:33 CET