Noorul Islam K M <noo...@collab.net> writes: > 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__':
It will be great if someone could review this patch. Thanks and Regards Noorul