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

Re: [PATCH] More bindings for gnome_keyring / platform_specific_client_providers

From: Daniel Shahaf <danielsh_at_elego.de>
Date: Tue, 7 Feb 2012 22:40:30 +0200

Matthijs Kooijman wrote on Tue, Feb 07, 2012 at 20:52:08 +0100:
> Hi Daniel,
>
> > svn_config_get_config() reads from disk. You'd do that just once (and
> > stash the result in the client context, if svn_cmdline_init() or someone
> > else doesn't do that for you), and then ["config"] it. (In the C level
> > that's just an apr_hash_get().)
> >
> > Have a look at what the svn* binaries do.
> Ah, thanks for the pointers, I think I got it now. A closer looks hows
> that ctx.config was even filled already, but a bit further down. I've
> attached a patch to fix this, which now allows me to disable
> gnome-keyring from ~/.subversion/config when running the example.
>
> > If you don't find a better way (even after asking) I'll also be happy
> > with a test that does a strstr() on the repr() of the objects.
> It turned out that the type is just exported as
> svn.core.svn_auth_provider_object_t, so the change is trivial. See the
> other attached patch.
>
> Gr.
>
> Matthijs

> Improve the testcase for the python binding for
> svn_auth_get_platform_specific_client_providers.
>
> This test was introduced in r1241530, but it only checked if a list was
> returned. Now also the type of the elements of the list is checked.
>
> * subversion/bindings/swig/python/tests/client.py
> (test_platform_providers): Improve testcase.
>
> Patch by: Matthijs Kooijman <matthijs_at_stdin.nl>
>
> Index: subversion-trunk/subversion/bindings/swig/python/tests/client.py
> ===================================================================
> --- subversion-trunk.orig/subversion/bindings/swig/python/tests/client.py 2012-02-07 20:13:48.666552472 +0100
> +++ subversion-trunk/subversion/bindings/swig/python/tests/client.py 2012-02-07 20:35:39.329660618 +0100
> @@ -378,6 +378,7 @@
> providers = core.svn_auth_get_platform_specific_client_providers(None, None)
> # Not much more we can test in this minimal environment.
> self.assert_(isinstance(providers, list))
> + self.assert_(all(map(lambda x: isinstance(x, core.svn_auth_provider_object_t), providers)))

Tests fail with:

    core.svn_auth_set_gnome_keyring_unlock_prompt_func(self.client_ctx.auth_baton, prompt_func)
AttributeError: 'module' object has no attribute 'svn_auth_set_gnome_keyring_unlock_prompt_func'

I think the patch in your mail to Stefan may fix that?

>
> def testGnomeKeyring(self):
> # This tests setting the gnome-keyring unlock prompt function as an

> Let the get-location-segments.py example pass a proper config to
> svn_auth_get_platform_specific_client_providers.
>
> This call was introduced in r1241530, but it did not properly pass a
> configuration option.
>

Applied unchanged. Thanks!
Received on 2012-02-07 21:41:22 CET

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