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/05/26 15:17:18 UTC
svn commit: r948421 -
/subversion/trunk/subversion/tests/cmdline/lock_tests.py
Author: rhuijben
Date: Wed May 26 13:17:18 2010
New Revision: 948421
URL: http://svn.apache.org/viewvc?rev=948421&view=rev
Log:
Add a path escaping regression test for the lock code.
* subversion/tests/cmdline/lock_tests.py
(verify_path_escaping): New function.
(test_list): Add verify_path_escaping.
Modified:
subversion/trunk/subversion/tests/cmdline/lock_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/lock_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/lock_tests.py?rev=948421&r1=948420&r2=948421&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/lock_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/lock_tests.py Wed May 26 13:17:18 2010
@@ -1472,6 +1472,43 @@ def lock_path_not_in_head(sbox):
svntest.actions.run_and_verify_svn2(None, None, expected_lock_fail_err_re,
0, 'lock', lambda_path)
+def verify_path_escaping(sbox):
+ "verify escaping of lock paths"
+
+ sbox.build()
+ wc_dir = sbox.wc_dir
+
+ # Add test paths using two characters that need escaping in a url, but
+ # are within the normal ascii range
+ file1 = os.path.join(wc_dir, 'file #1')
+ file2 = os.path.join(wc_dir, 'file #2')
+ file3 = os.path.join(wc_dir, 'file #3')
+
+ svntest.main.file_write(file1, 'File 1')
+ svntest.main.file_write(file2, 'File 2')
+ svntest.main.file_write(file3, 'File 3')
+
+ svntest.main.run_svn(None, 'add', file1, file2, file3)
+
+ svntest.main.run_svn(None, 'ci', '-m', 'commit', wc_dir)
+
+ svntest.main.run_svn(None, 'lock', '-m', 'lock 1', file1)
+ svntest.main.run_svn(None, 'lock', '-m', 'lock 2', sbox.repo_url + '/file%20%232')
+ svntest.main.run_svn(None, 'lock', '-m', 'lock 3', file3)
+ svntest.main.run_svn(None, 'unlock', sbox.repo_url + '/file%20%233')
+
+ expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
+ expected_status.add(
+ {
+ 'file #1' : Item(status=' ', writelocked='K', wc_rev='2'),
+ 'file #2' : Item(status=' ', writelocked='O', wc_rev='2'),
+ 'file #3' : Item(status=' ', writelocked='B', wc_rev='2')
+ });
+
+ # Make sure the file locking is reported correctly
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
+
+
########################################################################
# Run the tests
@@ -1515,6 +1552,7 @@ test_list = [ None,
lock_funky_comment_chars,
lock_twice_in_one_wc,
lock_path_not_in_head,
+ verify_path_escaping,
]
if __name__ == '__main__':