Hi folks,

> I believe the swig perl tests (invoked by running 'make
> check-swig-pl') are in subversion/bindings/swig/perl/native/t/
Ah, I'd looked over that very small directory name, I guess :-)

I've attached an updated patch with a test case. The testcase is a bity
ugly, since it tests each element of the returned array and keeps the
result in its own variable. This is needed since I can't predict how
many elements there will be in the returned array, but I didn't want to
change the test case too invasively (to use the done_testing function,
for example).

Gr.

Matthijs
Index: subversion-1.6.12dfsg/subversion/bindings/swig/include/svn_containers.swg
===================================================================
--- subversion-1.6.12dfsg.orig/subversion/bindings/swig/include/svn_containers.swg	2010-09-08 20:00:18.000000000 +0200
+++ subversion-1.6.12dfsg/subversion/bindings/swig/include/svn_containers.swg	2010-09-08 20:00:22.000000000 +0200
@@ -808,3 +808,13 @@
 %typemap(argout) apr_array_header_t **RANGELIST_INOUT =
    apr_array_header_t **RANGELIST;
 #endif
+
+/* -----------------------------------------------------------------------
+   Output of apr_array_header_t * <svn_auth_provider_object_t *>
+*/
+#ifdef SWIGPERL
+%typemap(argout) apr_array_header_t **providers {
+  %append_output(svn_swig_pl_convert_array(*$1,
+                    $descriptor(svn_auth_provider_object_t *)));
+}
+#endif
Index: subversion-1.6.12dfsg/subversion/bindings/swig/perl/native/t/3client.t
===================================================================
--- subversion-1.6.12dfsg.orig/subversion/bindings/swig/perl/native/t/3client.t	2010-09-10 21:21:03.000000000 +0200
+++ subversion-1.6.12dfsg/subversion/bindings/swig/perl/native/t/3client.t	2010-09-13 11:54:21.000000000 +0200
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 
-use Test::More tests => 118;
+use Test::More tests => 119;
 use strict;
 
 # shut up about variables that are only used once.
@@ -444,6 +444,19 @@
            'Successfully set auth_baton back to old value');
 }
 
+# Keep track of the ok-ness ourselves, since we need to know the exact
+# number of tests at the start of this file. The 'subtest' feature of
+# Test::More would be perfect for this, but it's only available in very
+# recent perl versions, it seems.
+my $ok = 1;
+# Get a list of platform specific providers, using the default
+# configuration and pool.
+my @providers = @{SVN::Core::auth_get_platform_specific_client_providers(undef, undef)};
+foreach my $p (@providers) {
+    $ok &= defined($p) && $p->isa('_p_svn_auth_provider_object_t');
+}
+ok($ok, 'svn_auth_get_platform_specific_client_providers returns _p_svn_auth_provider_object_t\'s');
+
 END {
 diag('cleanup');
 rmtree($testpath);

Attachment: signature.asc
Description: Digital signature

Reply via email to