Author: danielsh
Date: Sat Jul 24 11:53:27 2010
New Revision: 978855

URL: http://svn.apache.org/viewvc?rev=978855&view=rev
Log:
On the 'atomic-revprop' branch:

Teach the wrapper utility to respect HTTP_LIBRARY.

* subversion/tests/cmdline/svntest/actions.py
  (run_and_verify_atomic_ra_revprop_change):
    Document which HTTP_LIBRARY is used.

* subversion/tests/cmdline/svntest/main.py
  (run_atomic_ra_revprop_change):
    Document which HTTP_LIBRARY is used.
    Add HTTP_LIBRARY to argv when running the command.

* subversion/tests/cmdline/atomic-ra-revprop-change.c
  (construct_config):  New helper.
  (change_rev_prop):  Add HTTP_LIBRARY parameter.  Fill a config with it.
  (main):  Add HTTP_LIBRARY argv argument and use it.

Modified:
    
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
    
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py
    subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py

Modified: 
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c?rev=978855&r1=978854&r2=978855&view=diff
==============================================================================
--- 
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
 (original)
+++ 
subversion/branches/atomic-revprop/subversion/tests/cmdline/atomic-ra-revprop-change.c
 Sat Jul 24 11:53:27 2010
@@ -75,21 +75,46 @@ construct_auth_baton(svn_auth_baton_t **
 }
 
 static svn_error_t *
+construct_config(apr_hash_t **config_p,
+                 const char *http_library,
+                 apr_pool_t *pool)
+{
+  apr_hash_t *config;
+  svn_config_t *servers;
+
+  /* Populate SERVERS. */
+  SVN_ERR(svn_config_create(&servers, pool));
+  svn_config_set(servers, SVN_CONFIG_SECTION_GLOBAL,
+                 SVN_CONFIG_OPTION_HTTP_LIBRARY, http_library);
+
+  /* Populate CONFIG. */
+  config = apr_hash_make(pool);
+  apr_hash_set(config, SVN_CONFIG_CATEGORY_SERVERS,
+               APR_HASH_KEY_STRING, servers);
+
+  *config_p = config;
+  return SVN_NO_ERROR;
+}
+
+static svn_error_t *
 change_rev_prop(const char *url,
                 svn_revnum_t revision,
                 const char *propname,
                 const svn_string_t *propval,
                 const svn_string_t *old_value,
+                const char *http_library,
                 apr_pool_t *pool)
 {
   svn_ra_callbacks2_t *callbacks;
   svn_ra_session_t *sess;
+  apr_hash_t *config;
 
   SVN_ERR(svn_ra_create_callbacks(&callbacks, pool));
   SVN_ERR(construct_auth_baton(&callbacks->auth_baton, pool));
+  SVN_ERR(construct_config(&config, http_library, pool));
 
   SVN_ERR(svn_ra_open3(&sess, url, NULL, callbacks, NULL /* baton */,
-                       NULL /* config */, pool));
+                       config, pool));
 
   SVN_ERR(svn_ra_change_rev_prop2(sess, revision, propname,
                                   &old_value, propval, pool));
@@ -109,11 +134,12 @@ main(int argc, const char *argv[])
   const char *propname;
   svn_string_t *propval;
   svn_string_t *old_propval;
+  const char *http_library;
   char *digits_end = NULL;
 
-  if (argc != 6)
+  if (argc != 7)
     {
-      printf("USAGE: %s URL REVISION PROPNAME PROPVAL OLDPROPVAL\n");
+      printf("USAGE: %%s URL REVISION PROPNAME PROPVAL OLDPROPVAL 
HTTP_LIBRARY\n");
       exit(1);
     }
 
@@ -132,13 +158,15 @@ main(int argc, const char *argv[])
   propname = argv[3];
   propval = svn_string_create(argv[4], pool);
   old_propval = svn_string_create(argv[5], pool);
+  http_library = argv[6];
 
   if ((! SVN_IS_VALID_REVNUM(revision)) || (! digits_end) || *digits_end)
     SVN_INT_ERR(svn_error_create(SVN_ERR_CL_ARG_PARSING_ERROR, NULL,
                                  _("Invalid revision number supplied")));
 
   /* Do something. */
-  err = change_rev_prop(url, revision, propname, propval, old_propval, pool);
+  err = change_rev_prop(url, revision, propname, propval, old_propval,
+                        http_library, pool);
   if (err)
     {
       svn_handle_error2(err, stderr, FALSE, "atomic-ra-revprop-change: ");

Modified: 
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py?rev=978855&r1=978854&r2=978855&view=diff
==============================================================================
--- 
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py 
(original)
+++ 
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/actions.py 
Sat Jul 24 11:53:27 2010
@@ -147,7 +147,8 @@ def run_and_verify_atomic_ra_revprop_cha
                                             expected_exit, 
                                             url, revision, propname,
                                             propval, old_propval):
-  """Run atomic-ra-revprop-change helper and check its output and exit code."""
+  """Run atomic-ra-revprop-change helper and check its output and exit code.
+  For HTTP, the default HTTP library is used."""
 
   exit_code, out, err = main.run_atomic_ra_revprop_change(url, revision, 
propname,
                                                           propval, old_propval)

Modified: 
subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py?rev=978855&r1=978854&r2=978855&view=diff
==============================================================================
--- subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py 
(original)
+++ subversion/branches/atomic-revprop/subversion/tests/cmdline/svntest/main.py 
Sat Jul 24 11:53:27 2010
@@ -617,14 +617,16 @@ def run_entriesdump(path):
 
 def run_atomic_ra_revprop_change(url, revision, propname, propval, 
old_propval):
   """Run the atomic-ra-revprop-change helper, returning its exit code, stdout, 
-  and stderr."""
+  and stderr.  For HTTP, default HTTP library is used."""
   # use spawn_process rather than run_command to avoid copying all the data
   # to stdout in verbose mode.
   #exit_code, stdout_lines, stderr_lines = spawn_process(entriesdump_binary,
   #                                                      0, 0, None, path)
 
+  # This passes HTTP_LIBRARY in addition to our params.
   return run_command(atomic_ra_revprop_change_binary, True, False, 
-                     url, revision, propname, propval, old_propval)
+                     url, revision, propname, propval, old_propval,
+                     options.http_library)
 
 
 # Chmod recursively on a whole subtree


Reply via email to