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

RE: make check fails on commit_tests.py and log_tests.py

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Wed, 03 Sep 2008 12:46:19 +0100

On Fri, 2008-08-22 at 16:12 +0200, Anders.Strandberg_at_tietoenator.com
wrote:
> I have struggled to resolved this, but have not found a solution. I
> tried to build with with different versions of Python (currently using
> Python-2.5.2) . The result is basically the same, so it should be
> something else. Perhaps someone could verify running make check for
> subversion 1.5.1 on SLES 9 and/or SLED 10 ?
>
> The build is completed when excluding make check, but I find it
> uncomfortable that vital checks fail. I assume they should pass on any
> platform where the build succeeds.

Yes, the tests should pass.

I don't know what's wrong, I can only offer some ideas for
investigation.

I built and tested 1.5.0, 1.5.1 and 1.5.2 successfully on SLED 10. The
versions of the OS and packages I used for 1.5.2 can be seen in this
email: <http://svn.haxx.se/dev/archive-2008-08/0884.shtml>.

However, it looks to me like these failures might be more to do with
some problem of the OS configuration, like permissions on the
directories, or running as the 'root' user, or an odd type of file
system, etc.

> The configure line:
>
> $ ./configure --prefix=/app/subversion/1.5.x --with-apr=/app/apr/1.2.x
> --with-apr-util=/app/apr-util/1.2.x --with-gnu-ld
> --with-neon=/app/neon/0.26.x --with-berkeley-db=/app/db/4.3.x --with-ssl
> --with-zlib=/app/zlib/1.2.x --disable-nls --enable-javahl
> --disable-neon-version-check
[...]

> FAIL: commit_tests.py 56: commit a missing to-be-added file should fail
> FAIL: log_tests.py 16: test 'svn log -g' on a single revision
> FAIL: log_tests.py 18: test 'svn log -g' on a non-branching revision
> FAIL: log_tests.py 27: log -g and explicit mergeinfo replacing
> inherited
> FAIL: merge_tests.py 49: merge to switched path does not inherit or
> elide
> FAIL: merge_tests.py 50: merge to path with switched children
> FAIL: merge_tests.py 61: merge fails if subtree is deleted on src
> FAIL: merge_tests.py 77: subtrees added after start of merge range are
> ok
> FAIL: merge_tests.py 92: dont merge revs into a subtree that predate it
> FAIL: merge_tests.py 93: don't explicitly record implicit mergeinfo
> FAIL: merge_tests.py 94: merge with broken symlinks in target
> FAIL: merge_tests.py 95: subtree ranges might not intersect with target
> FAIL: merge_tests.py 96: merge fails with renamed subtrees with
> mergeinfo
> FAIL: merge_tests.py 98: mergeinfo not set on subtree with empty
> mergeinfo
> FAIL: mergeinfo_tests.py 3: 'mergeinfo' with source selection
> make: *** [check] Error 1
>
> ---------------------------------------------------------
> Example commit_tests.py:
> ---------------------------------------------------------
>
> /app/Python/2.5.x/bin/python ./commit_tests.py -v 56
[...]
> CMD: svn co
> file:///var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test
> -work/repositories/commit_tests-56
> svn-test-work/working_copies/commit_tests-56 --config-dir
> /var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/l
> ocal_tmp/config --password rayjandom --no-auth-cache --username jrandom
> <TIME = 0.169111>
> CMD: svn cp svn-test-work/working_copies/commit_tests-56/A/mu
> svn-test-work/working_copies/commit_tests-56/A/a.txt --config-dir
> /var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/l
> ocal_tmp/config --password rayjandom --no-auth-cache --username jrandom
> <TIME = 0.077166>
> CMD: svn cp svn-test-work/working_copies/commit_tests-56/A/mu
> svn-test-work/working_copies/commit_tests-56/A/b.txt --config-dir
> /var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/l
> ocal_tmp/config --password rayjandom --no-auth-cache --username jrandom
> <TIME = 0.075974>
> CMD: /var/tmp/BUILD/subversion-1.5.1/subversion/svn/svn commit -m logmsg
> svn-test-work/working_copies/commit_tests-56 --config-dir
> /var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/l
> ocal_tmp/config --password rayjandom --no-auth-cache --username jrandom
> exited with 1
> CMD: svn commit -m logmsg svn-test-work/working_copies/commit_tests-56
> --config-dir
> /var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/l
> ocal_tmp/config --password rayjandom --no-auth-cache --username jrandom
> <TIME = 0.328600>
> Commit should have failed
> EXPECTED STDERR (regexp):
> .* is scheduled for addition, but is missing
> ACTUAL STDERR:
> svn: Commit succeeded, but other errors follow:
> svn: Error bumping revisions post-commit (details follow):
> svn: In directory
> '/var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/
> working_copies/commit_tests-56/A'
> svn: Error processing command 'committed' in
> '/var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/
> working_copies/commit_tests-56/A'
> svn: Error getting 'affected time' of
> '/var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/
> working_copies/commit_tests-56/A/b.txt'
> svn: Can't stat
> '/var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/
> working_copies/commit_tests-56/A/b.txt': No such file or directory
[...]

Look. I think this last line is the first error that Subversion
encountered: the file 'b.txt' seemed to be absent when Subversion was
operating on it.

Can you check, after the test stops, whether that file exists and has
sensible-looking permissions?

Is there anything that might be interfering with the files in this test
directory tree while the tests are running? For example, another copy of
the test suite running at the same time.

I assume you mean that this test fails in the same way every time you
run it. If it doesn't, that would be another clue.

> ------------------------------------------------------------------------
> -
> Example (merginfo_test.py):
> ------------------------------------------------------------------------
> -
>
> /app/Python/2.5.x/bin/python ./mergeinfo_tests.py -v 3
[...]
> lt-svn: subversion/libsvn_client/mergeinfo.c:1147:
> svn_client_mergeinfo_log_merged: Assertion
> `svn_path_is_url(merge_source_url)' failed.
> CMD: /var/tmp/BUILD/subversion-1.5.1/subversion/svn/svn mergeinfo
> svn-test-work/working_copies/mergeinfo_tests-3/A/B
> svn-test-work/working_copies/mergeinfo_tests-3/A/D/H --config-dir
> /var/tmp/BUILD/subversion-1.5.1/subversion/tests/cmdline/svn-test-work/l
> ocal_tmp/config --password rayjandom --no-auth-cache --username jrandom
> terminated by signal 6
[...]

This one fails in a different way. Would you be able to run this "svn"
command under a debugger and break at that line (mergeinfo.c, line
1147), and see what's wrong with the merge_source_url variable and see
print the call stack?

Other people have claimed that this particular assertion fails sometimes
with "bad user input", which it should not do. I don't know any details
but here is an email that claims so:
<http://svn.haxx.se/dev/archive-2008-04/0303.shtml>.

Good luck, and if you can help towards identifying or solving the
problem that would be most appreciated.

- Julian

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-09-03 13:46:50 CEST

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

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