You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2010/03/26 11:43:28 UTC

svn commit: r927764 - /subversion/trunk/subversion/tests/libsvn_client/client-test.c

Author: rhuijben
Date: Fri Mar 26 10:43:28 2010
New Revision: 927764

URL: http://svn.apache.org/viewvc?rev=927764&view=rev
Log:
Fix compilation of client-tests on Windows.

* subversion/tests/libsvn_client/client-test.c
  (includes): Remove unix only include <unistd.h>. (Can only be used
    in #if APR_HAVE_UNISTD_H block)
  (test_patch): Use svn_dirent_get_absolute to get the cwd in normalized
    form. Assume that joining canonical dirents returns a canonical dirent.

Modified:
    subversion/trunk/subversion/tests/libsvn_client/client-test.c

Modified: subversion/trunk/subversion/tests/libsvn_client/client-test.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/libsvn_client/client-test.c?rev=927764&r1=927763&r2=927764&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/libsvn_client/client-test.c (original)
+++ subversion/trunk/subversion/tests/libsvn_client/client-test.c Fri Mar 26 10:43:28 2010
@@ -22,7 +22,7 @@
  */
 
 
-#include <unistd.h>
+
 #include <limits.h>
 #include "svn_mergeinfo.h"
 #include "../../libsvn_client/mergeinfo.h"
@@ -260,9 +260,7 @@ test_patch(const svn_test_opts_t *opts,
   apr_hash_t *reject_tempfiles;
   const char *repos_url;
   const char *wc_path;
-  char cwd[PATH_MAX];
-  svn_string_t *cwd_svnstr;
-  svn_string_t *cwd_utf8;
+  const char *cwd;
   svn_revnum_t committed_rev;
   svn_opt_revision_t rev;
   svn_opt_revision_t peg_rev;
@@ -309,14 +307,18 @@ test_patch(const svn_test_opts_t *opts,
   SVN_ERR(svn_repos_fs_commit_txn(NULL, repos, &committed_rev, txn, pool));
 
   /* Check out the HEAD revision */
-  getcwd(cwd, sizeof(cwd));
-  cwd_svnstr = svn_string_create(cwd, pool);
-  SVN_ERR(svn_subst_translate_string(&cwd_utf8, cwd_svnstr, NULL, pool));
-  repos_url = apr_pstrcat(pool, "file://", cwd_utf8->data,
-                          "/test-patch-repos", NULL);
+  SVN_ERR(svn_dirent_get_absolute(&cwd, "", pool));
+
+  if (cwd[0] == '/')
+    repos_url = apr_pstrcat(pool, "file://", cwd,
+                            "/test-patch-repos", NULL);
+  else
+    /* On Windows CWD is always in "X:/..." style */
+    repos_url = apr_pstrcat(pool, "file:///", cwd,
+                            "/test-patch-repos", NULL);
+
   repos_url = svn_uri_canonicalize(repos_url, pool);
-  wc_path = svn_dirent_join(cwd_utf8->data, "test-patch-wc", pool);
-  wc_path = svn_dirent_canonicalize(wc_path, pool);
+  wc_path = svn_dirent_join(cwd, "test-patch-wc", pool);
   SVN_ERR(svn_io_remove_dir2(wc_path, TRUE, NULL, NULL, pool));
   rev.kind = svn_opt_revision_head;
   peg_rev.kind = svn_opt_revision_unspecified;
@@ -326,8 +328,7 @@ test_patch(const svn_test_opts_t *opts,
                                TRUE, FALSE, ctx, pool));
 
   /* Create the patch file. */
-  patch_file_path = svn_dirent_join(cwd_utf8->data, "test-patch.diff", pool);
-  patch_file_path = svn_dirent_canonicalize(patch_file_path, pool);
+  patch_file_path = svn_dirent_join(cwd, "test-patch.diff", pool);
   SVN_ERR(svn_io_file_open(&patch_file, patch_file_path,
                            (APR_READ | APR_WRITE | APR_CREATE | APR_TRUNCATE),
                            APR_OS_DEFAULT, pool));