Author: rhuijben
Date: Fri Sep 11 20:50:00 2015
New Revision: 1702549
URL: http://svn.apache.org/r1702549
Log:
Following up on r1702467 and r1702472, add a few more svnmucc regression
tests.
* subversion/tests/cmdline/svnmucc_tests.py
(prohibited_deletes_and_moves): Use the standard repository.
(svnmucc_type_errors,
svnmucc_propset_and_put): New function.
(test_list): Add new tests.
Modified:
subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py
Modified: subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py?rev=1702549&r1=1702548&r2=1702549&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnmucc_tests.py Fri Sep 11
20:50:00 2015
@@ -471,7 +471,7 @@ def prohibited_deletes_and_moves(sbox):
# See dev@, 2015-05-11, "Re: Issue 4579 / svnmucc fails to process certain
# deletes", <http://svn.haxx.se/dev/archive-2015-05/0038.shtml>
- sbox.build()
+ sbox.build(read_only = True)
svntest.main.file_write(sbox.ospath('file'), "New contents")
xtest_svnmucc(sbox.repo_url,
@@ -512,6 +512,82 @@ def prohibited_deletes_and_moves(sbox):
'rm', 'A/B',
'mv', 'A', 'A1')
+def svnmucc_type_errors(sbox):
+ "test type errors"
+
+ sbox.build(read_only=True)
+
+ sbox.simple_append('file', 'New contents')
+
+ xtest_svnmucc(sbox.repo_url,
+ ["svnmucc: E160016: Can't operate on 'B' "
+ "because 'A' is not a directory"],
+ '-m', '',
+ 'put', sbox.ospath('file'), 'A',
+ 'mkdir', 'A/B',
+ 'propset', 'iota', 'iota', 'iota')
+
+ xtest_svnmucc(sbox.repo_url,
+ ["svnmucc: E200009: Can't delete node at 'A'"],
+ '-m', '',
+ 'mkdir', 'A/Z',
+ 'put', sbox.ospath('file'), 'A')
+
+ xtest_svnmucc(sbox.repo_url,
+ ["svnmucc: E160020: Path 'Z' already exists"],
+ '-m', '',
+ 'mkdir', 'A/Z',
+ 'put', sbox.ospath('file'), 'A/Z')
+
+def svnmucc_propset_and_put(sbox):
+ "propset and put"
+
+ sbox.build()
+
+ sbox.simple_append('file', 'New contents')
+
+ # First in the sane order: put, then propset
+ xtest_svnmucc(sbox.repo_url,
+ [],
+ '-m', '',
+ 'put', sbox.ospath('file'), 't1',
+ 'propset', 't1', 't1', 't1')
+
+ # And now in an impossible order: propset, then put
+ xtest_svnmucc(sbox.repo_url,
+ ["svnmucc: E200009: Can't set properties at not existing
't2'"],
+ '-m', '',
+ 'propset', 't2', 't2', 't2',
+ 'put', sbox.ospath('file'), 't2')
+
+ # And if the target already exists (dir)
+ xtest_svnmucc(sbox.repo_url,
+ ["svnmucc: E200009: Can't delete node at 'A'"],
+ '-m', '',
+ 'propset', 'A', 'A', 'A',
+ 'put', sbox.ospath('file'), 'A')
+
+ # And if the target already exists (file) # fixed in r1702467
+ xtest_svnmucc(sbox.repo_url,
+ [],
+ '-m', '',
+ 'propset', 'iota', 'iota', 'iota',
+ 'put', sbox.ospath('file'), 'iota')
+
+ # Put same file twice (non existing)
+ xtest_svnmucc(sbox.repo_url,
+ ["svnmucc: E160020: Path 't3' already exists"],
+ '-m', '',
+ 'put', sbox.ospath('file'), 't3',
+ 'put', sbox.ospath('file'), 't3')
+
+ # Put same file twice (existing)
+ xtest_svnmucc(sbox.repo_url,
+ [svnmucc: E200009: Can't update file at 't1'],
+ '-m', '',
+ 'put', sbox.ospath('file'), 't1',
+ 'put', sbox.ospath('file'), 't1')
+
######################################################################
@@ -523,6 +599,8 @@ test_list = [ None,
no_log_msg_non_interactive,
nested_replaces,
prohibited_deletes_and_moves,
+ svnmucc_type_errors,
+ svnmucc_propset_and_put,
]
if __name__ == '__main__':