You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Jonathan Nieder <jr...@gmail.com> on 2011/11/04 02:02:26 UTC

[RFC/PATCH] Re: auth-test fails (E200006: svn_auth_get_platform_specific_client_providers should return an array of 5 providers)

Stefan Sperling wrote:
> On Thu, Nov 03, 2011 at 02:54:04AM -0500, Jonathan Nieder wrote:

>> 	START: auth-test
>> 	svn_tests: E200006: svn_auth_get_platform_specific_client_providers should return an array of 5 providers
>> 	FAIL:  lt-auth-test 1: test retrieving platform-specific auth providers
[...]
> Try setting LD_LIBRARY_PATH so that libs from your custom Subversion build
> are found when Subversion's kwallet and gnome-keyring plugins are dlopen()ed.

Nice!  As long as I run "make all" first (to make sure the kwallet and
gnome-keyring plugins were built), setting LD_LIBRARY_PATH works.

Here's a rough patch to make that second step unnecessary.

[[[
* Makefile.in (check): Set LD_LIBRARY_PATH so the just-built versions
    of auth plugins are used when running the test suite.  Otherwise,
    auth-test can easily fail because some auth provider it expects to
    find is missing.
]]]

Index: Makefile.in
===================================================================
--- Makefile.in	(revision 1197345)
+++ Makefile.in	(working copy)
@@ -444,6 +444,10 @@ check-javahl: check-apache-javahl
 
 check-all-javahl: check-apache-javahl check-tigris-javahl
 
+gnome_auth_dir = $(abs_builddir)/subversion/libsvn_auth_gnome_keyring/.libs
+kwallet_auth_dir = $(abs_builddir)/subversion/libsvn_auth_kwallet/.libs
+auth_plugin_dirs = $(gnome_auth_dir):$(kwallet_auth_dir)
+
 # "make check CLEANUP=true" will clean up directories for successful tests.
 # "make check TESTS=subversion/tests/cmdline/basic_tests.py"
 #  will perform only basic tests (likewise for other tests).
@@ -484,6 +488,7 @@ check: bin @TRANSFORM_LIBTOOL_SCRIPTS@ $(TEST_DEPS
 	    flags="--list --milestone-filter=$(MILESTONE_FILTER)             \
 		   --mode-filter=$(MODE_FILTER) --log-to-stdout $$flags";    \
 	  fi;                                                                \
+	  LD_LIBRARY_PATH='$(auth_plugin_dirs):$(LD_LIBRARY_PATH)'           \
 	  $(PYTHON) $(top_srcdir)/build/run_tests.py                         \
 	            --config-file $(top_srcdir)/subversion/tests/tests.conf  \
 	            $$flags                                                  \

Re: [RFC/PATCH] Re: auth-test fails (E200006: svn_auth_get_platform_specific_client_providers should return an array of 5 providers)

Posted by Jonathan Nieder <jr...@gmail.com>.
Philip Martin wrote:

> I committed this, with a small tweak to move where the variables are
> set.

Thanks, Philip.  I like the tweak.

Re: [RFC/PATCH] Re: auth-test fails (E200006: svn_auth_get_platform_specific_client_providers should return an array of 5 providers)

Posted by Philip Martin <ph...@wandisco.com>.
Jonathan Nieder <jr...@gmail.com> writes:

> [[[
> * Makefile.in (check): Set LD_LIBRARY_PATH so the just-built versions
>     of auth plugins are used when running the test suite.  Otherwise,
>     auth-test can easily fail because some auth provider it expects to
>     find is missing.
> ]]]

I committed this, with a small tweak to move where the variables are
set.  Thanks!

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com