Author: sbutler
Date: Thu Jan 19 11:33:42 2012
New Revision: 1233292

URL: http://svn.apache.org/viewvc?rev=1233292&view=rev
Log:
Add a test for issue 4102 "error adding symlink to external dir".

* subversion/tests/cmdline/special_tests.py
  (externals_as_symlink_targets): New test.
  (test_list): Add new test.

Found by: Evan Wee <[email protected]>


Modified:
    subversion/trunk/subversion/tests/cmdline/special_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/special_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/special_tests.py?rev=1233292&r1=1233291&r2=1233292&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/special_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/special_tests.py Thu Jan 19 
11:33:42 2012
@@ -1023,6 +1023,38 @@ def replace_symlinks(sbox):
   sbox.simple_update()
 
 
+@XFail()
+@Issue(4102)
+@SkipUnless(svntest.main.is_posix_os)
+def externals_as_symlink_targets(sbox):
+  "externals as symlink targets"
+  sbox.build()
+  wc = sbox.ospath
+
+  # Control: symlink to normal dir and file.
+  os.symlink('E', wc('sym_E'))
+  os.symlink('mu', wc('sym_mu'))
+
+  # Test case: symlink to external dir and file.
+  sbox.simple_propset("svn:externals",
+                      '^/A/B/E ext_E\n'
+                      '^/A/mu ext_mu',
+                      '')
+  sbox.simple_update()
+  os.symlink('ext_E', wc('sym_ext_E'))
+  os.symlink('ext_mu', wc('sym_ext_mu'))
+
+  # Adding symlinks to normal items and to a file external is OK.
+  sbox.simple_add('sym_E', 'sym_mu', 'sym_ext_mu')
+
+  ### Adding a symlink to an external dir failed with
+  ###   svn: E200009: Could not add all targets because some targets are
+  ###   already versioned
+  sbox.simple_add('sym_ext_E')
+
+  sbox.simple_commit()
+    
+
 ########################################################################
 # Run the tests
 
@@ -1051,6 +1083,7 @@ test_list = [ None,
               symlink_to_wc_svnversion,
               update_symlink,
               replace_symlinks,
+              externals_as_symlink_targets,
              ]
 
 if __name__ == '__main__':


Reply via email to