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

Re: Test failures with subversion 1.7.2

From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta_at_gmail.com>
Date: Thu, 29 Dec 2011 19:38:52 +0100

2011-12-28 00:29:25 Elias Pipping napisaƂ(a):
> Hello,
>
> I get a couple of test failures with subversion 1.7.2; using the trunk
> instead does not help.
>
> Here are the test failures:
>
> Running tests in db-test [7/85]FAILURE
> Running tests in entries-compat-test [10/85]FAILURE
> Running tests in op-depth-test [17/85]FAILURE
> Running tests in pristine-store-test [21/85]FAILURE
> Running tests in tree-conflict-data-test [34/85]FAILURE
> Running tests in authz_tests.py [37/85][SKIPPED] Python sqlite3 module required
>
> Let me take just one of those tests, db-test:
>
> % python ./build/run_tests.py --config-file ./subversion/tests/tests.conf . . subversion/tests/libsvn_wc/db-test
> Running tests in db-test [1/1]FAILURE
> At least one test FAILED, checking /home/pipping/subversion-1.7.2/tests.log
> FAIL: db-test: Unknown test failure; see tests.log.
> Summary of test results:
> 1 test FAILED
> %
>
> A look at the log file reveals:
>
> % < tests.log
> START: db-test
> /home/pipping/subversion-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: symbol lookup error: /home/pipping/subversion
> -1.7.2/subversion/tests/libsvn_wc/.libs/db-test: undefined symbol: svn_io_remove_file2
> FAIL: db-test: Unknown test failure; see tests.log.
> END: db-test
> ELAPSED: db-test 0:00:00.106494
>
> %
>
> And indeed, running the test manually yields:
>
> % libtool --mode execute ./subversion/tests/libsvn_wc/db-test
> /home/pipping/subversion-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: symbol lookup error: /home/pipping/subversion-1.7.2/subversion/tests/libsvn_wc/.libs/db-test: undefined symbol: svn_io_remove_file2
> %
>
> That symbol is there, however.
>
> This happens if I set the LD_LIBRARY_PATH correctly (the way libtool
> --mode execute should):
>
> % LD_LIBRARY_PATH=./subversion/libsvn_wc/.libs/:./subversion/libsvn_subr/.libs:./subversion/tests/.libs ./subversion/tests/libsvn_wc/.libs/db-test
> PASS: db-test 1: get information from wc.db
> PASS: db-test 2: insert different nodes into wc.db
> PASS: db-test 3: getting the list of BASE or WORKING children
> PASS: db-test 4: reading information about the WORKING tree
> PASS: db-test 5: creation of per-directory handles
> PASS: db-test 6: scanning added working nodes
> PASS: db-test 7: deletion introspection functions
> PASS: db-test 8: relocating a node
> PASS: db-test 9: work queue processing
> PASS: db-test 10: externals store
> %
>
> Here's what libtool sets LD_LIBRARY_PATH to:
>
> % grep LD_LIBRARY_PATH=\" ./subversion/tests/libsvn_wc/db-test
> LD_LIBRARY_PATH="/home/pipping/subversion-1.7.2/subversion/libsvn_client/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_wc/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra_local/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra_svn/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_ra_neon/.libs:/usr/lib64:/home/pipping/subversion-1.7.2/subversion/tests/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_repos/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_fs/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_fs_fs/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_fs_util/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_delta/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_diff/.libs:/home/pipping/subversion-1.7.2/subversion/libsvn_subr/.libs:$LD_LIBRARY_PATH"
> %
>
> Given how hard to read that is, here's that string again with colons
> replaced by newlines:
>
> /home/pipping/subversion-1.7.2/subversion/libsvn_client/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_wc/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_ra/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_ra_local/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_ra_svn/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_ra_neon/.libs
> /usr/lib64
> /home/pipping/subversion-1.7.2/subversion/tests/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_repos/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_fs/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_fs_fs/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_fs_util/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_delta/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_diff/.libs
> /home/pipping/subversion-1.7.2/subversion/libsvn_subr/.libs
> $LD_LIBRARY_PATH
>
> The problem is with /usr/lib64. That is where an old version of
> subversion (1.6.17) lives. Removing /usr/lib64 from that string makes
> the db-test pass. Consequently, the aforementioned problem occurs if an
> old version of subversion is installed and vanishes immediately once
> that version is uninstalled.
>
> This is clearly not desirable -- had I had e.g. subversion 1.7.1
> installed instead of 1.6.17, I take it the tests would've passed,
> fooling me into thinking what I had built had passed its tests when in
> fact they'd never been run.

You can call `configure` with --enable-local-library-preloading option.

-- 
Arfrever Frehtes Taifersar Arahesis

Received on 2011-12-29 19:39:56 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.