[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Failing JavaHL test

From: Mark Phippard <markphip_at_gmail.com>
Date: Thu, 17 Dec 2009 10:11:05 -0500

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.