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

[PATCH] New XFail tests for issue 3609

From: Noorul Islam K M <noorul_at_collab.net>
Date: Sat, 22 Jan 2011 17:47:04 +0530

Log

[[[

New XFail tests for issue 3609.

* subversion/tests/cmdline/mergeinfo_tests.py
  (mergeinfo_url_special_characters, test_list),
  subversion/tests/cmdline/prop_tests.py
  (props_url_special_characters, test_list),
  subversion/tests/cmdline/merge_tests.py
  (merge_url_special_characters, test_list),
  subversion/tests/cmdline/log_tests.py
  (log_url_special_characters, test_list),
  subversion/tests/cmdline/copy_tests.py
  (copy_url_special_characters, test_list),
  subversion/tests/cmdline/blame_tests.py
  (blame_url_special_characters, test_list):
    New XFail tests.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>
]]]

Index: subversion/tests/cmdline/mergeinfo_tests.py
===================================================================
--- subversion/tests/cmdline/mergeinfo_tests.py (revision 1062140)
+++ subversion/tests/cmdline/mergeinfo_tests.py (working copy)
@@ -479,6 +479,18 @@
     adjust_error_for_server_version(''),
     ['4', '5'], A_path, A_COPY_path + '@PREV', '--show-revs', 'eligible')
 
+def mergeinfo_url_special_characters(sbox):
+ """special characters in svn mergeinfo URL"""
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+ special_url = sbox.repo_url + '/%2E'
+
+ svntest.actions.run_and_verify_svn(None, None, [], 'ps', SVN_PROP_MERGEINFO,
+ '/:1', wc_dir)
+ svntest.actions.run_and_verify_mergeinfo(adjust_error_for_server_version(""),
+ ['1'], special_url, wc_dir)
+
 ########################################################################
 # Run the tests
 
@@ -494,6 +506,7 @@
               SkipUnless(recursive_mergeinfo, server_has_mergeinfo),
               SkipUnless(mergeinfo_on_pegged_wc_path,
                          server_has_mergeinfo),
+ XFail(mergeinfo_url_special_characters),
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/prop_tests.py
===================================================================
--- subversion/tests/cmdline/prop_tests.py (revision 1062140)
+++ subversion/tests/cmdline/prop_tests.py (working copy)
@@ -2335,6 +2335,31 @@
   if ((len(expected_output) * 3) - 6) != len(pg_stdout_redir):
     raise svntest.Failure("Redirected pg -vR has unexpected duplicates")
 
+def props_url_special_characters(sbox):
+ "set/get/list/del with special characters in URL"
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+ special_url = sbox.repo_url + '/%2E'
+
+ svntest.actions.enable_revprop_changes(sbox.repo_dir)
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', '--revprop', '-r', '0',
+ 'cash-sound', 'cha-ching!', special_url)
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propget', '--revprop', '-r', '0',
+ 'cash-sound', special_url)
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'proplist', '--revprop', '-r', '0',
+ special_url)
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propdel', '--revprop', '-r', '0',
+ 'cash-sound', special_url)
+
 ########################################################################
 # Run the tests
 
@@ -2380,6 +2405,7 @@
               obstructed_subdirs,
               atomic_over_ra,
               propget_redirection,
+ XFail(props_url_special_characters),
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/merge_tests.py
===================================================================
--- subversion/tests/cmdline/merge_tests.py (revision 1062140)
+++ subversion/tests/cmdline/merge_tests.py (working copy)
@@ -16402,6 +16402,33 @@
   if not os.access(beta_path, os.X_OK):
     raise svntest.Failure("beta is not marked as executable after commit")
 
+def merge_url_special_characters(sbox):
+ """special characters in svn merge URL"""
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+ a_dir = os.path.join(wc_dir, 'A')
+ new_file = os.path.join(a_dir, "new file")
+
+ # Make r2.
+ svntest.main.file_append(new_file, "Initial text in the file.\n")
+ svntest.main.run_svn(None, "add", new_file)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ "ci", "-m", "r2", wc_dir)
+
+ # Make r3.
+ svntest.main.file_append(new_file, "Next line of text in the file.\n")
+ svntest.actions.run_and_verify_svn(None, None, [],
+ "ci", "-m", "r3", wc_dir)
+
+ os.chdir(wc_dir)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ "up")
+
+ special_url = sbox.repo_url + '/A' + '/%2E'
+ svntest.actions.run_and_verify_svn(None, None, [],
+ "merge", "-r3:2", special_url)
+
 ########################################################################
 # Run the tests
 
@@ -16595,6 +16622,7 @@
               XFail(subtree_merges_inherit_invalid_working_mergeinfo),
               XFail(SkipUnless(merge_change_to_file_with_executable,
                                      svntest.main.is_posix_os)),
+ XFail(merge_url_special_characters),
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/log_tests.py
===================================================================
--- subversion/tests/cmdline/log_tests.py (revision 1062140)
+++ subversion/tests/cmdline/log_tests.py (working copy)
@@ -1750,6 +1750,20 @@
                           "differs from that on move source '%s'"
                           % (psi_moved_path, psi_path))
 
+def log_url_special_characters(sbox):
+ """special characters in svn log URL"""
+ sbox.build(create_wc = False)
+
+ special_urls = [sbox.repo_url + '/A' + '/%2E',
+ sbox.repo_url + '%2F' + 'A']
+
+ for url in special_urls:
+ exit_code, output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'log', '-c',
+ 1, url)
+ log_chain = parse_log_output(output)
+ check_log_chain(log_chain, [1])
+
 ########################################################################
 # Run the tests
 
@@ -1792,6 +1806,7 @@
               SkipUnless(merge_sensitive_log_propmod_merge_inheriting_path,
                          server_has_mergeinfo),
               log_of_local_copy,
+ XFail(log_url_special_characters),
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/copy_tests.py
===================================================================
--- subversion/tests/cmdline/copy_tests.py (revision 1062140)
+++ subversion/tests/cmdline/copy_tests.py (working copy)
@@ -4958,6 +4958,23 @@
                                      '.*Cannot move URL.* into itself.*',
                                      'move', repo_url, repo_url)
 
+def copy_url_special_characters(sbox):
+ """special characters in svn cp URL"""
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ a_path = os.path.join(wc_dir, 'A')
+ new_path1 = os.path.join(a_path, 'Folder1')
+ os.mkdir(new_path1)
+ new_path2 = os.path.join(a_path, 'Folder2')
+ os.mkdir(new_path2)
+ svntest.main.run_svn(None, "add", new_path1, new_path2)
+ sbox.simple_commit()
+ from_special_url = sbox.repo_url + '/A/Folder1' + '/%2E'
+
+ svntest.actions.run_and_verify_svn(None, None, [], 'copy',
+ from_special_url, new_path2)
+
 ########################################################################
 # Run the tests
 
@@ -5061,6 +5078,7 @@
               copy_wc_over_deleted_same_kind,
               copy_wc_over_deleted_other_kind,
               move_wc_and_repo_dir_to_itself,
+ XFail(copy_url_special_characters),
              ]
 
 if __name__ == '__main__':
Index: subversion/tests/cmdline/blame_tests.py
===================================================================
--- subversion/tests/cmdline/blame_tests.py (revision 1062140)
+++ subversion/tests/cmdline/blame_tests.py (working copy)
@@ -703,7 +703,19 @@
   svntest.actions.run_and_verify_svn(None, expected_output, [],
                                     'blame', '-g', mu_path)
 
+def blame_url_special_characters(sbox):
+ """special characters in svn blame URL"""
+ sbox.build(create_wc = False)
 
+ special_urls = [sbox.repo_url + '/A' + '/%2E',
+ sbox.repo_url + '%2F' + 'A']
+
+ expected_err = "svn: '/A' is not a file in revision 1\n"
+
+ for url in special_urls:
+ svntest.actions.run_and_verify_svn2(None, None, expected_err, 1,
+ 'blame', url)
+
 ########################################################################
 # Run the tests
 
@@ -724,6 +736,7 @@
               blame_peg_rev_file_not_in_head,
               blame_file_not_in_head,
               blame_output_after_merge,
+ XFail(blame_url_special_characters)
              ]
 
 if __name__ == '__main__':
Received on 2011-01-22 13:18:35 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.