You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2015/02/12 13:21:32 UTC
svn commit: r1659238 [5/21] - in /subversion/branches/fsx-1.10: ./
build/generator/ build/generator/templates/ subversion/bindings/swig/
subversion/include/ subversion/include/private/ subversion/libsvn_delta/
subversion/libsvn_fs_base/ subversion/libs...
Modified: subversion/branches/fsx-1.10/subversion/tests/cmdline/authz_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-1.10/subversion/tests/cmdline/authz_tests.py?rev=1659238&r1=1659237&r2=1659238&view=diff
==============================================================================
--- subversion/branches/fsx-1.10/subversion/tests/cmdline/authz_tests.py (original)
+++ subversion/branches/fsx-1.10/subversion/tests/cmdline/authz_tests.py Thu Feb 12 12:21:31 2015
@@ -176,7 +176,7 @@ def authz_read_access(sbox):
expected_err = ".*svn: E170001: Authorization failed.*"
# create some folders with spaces in their names
- svntest.actions.run_and_verify_svn(None, None, [], 'mkdir', '-m', 'logmsg',
+ svntest.actions.run_and_verify_svn(None, [], 'mkdir', '-m', 'logmsg',
fws_url, fws_empty_folder_url)
write_restrictive_svnserve_conf(sbox.repo_dir)
@@ -193,73 +193,65 @@ def authz_read_access(sbox):
(svntest.main.wc_author + " = r")})
# read a remote file
- svntest.actions.run_and_verify_svn(None, ["This is the file 'iota'.\n"],
+ svntest.actions.run_and_verify_svn(["This is the file 'iota'.\n"],
[], 'cat',
iota_url)
# read a remote file, readably by user specific exception
- svntest.actions.run_and_verify_svn(None, ["This is the file 'chi'.\n"],
+ svntest.actions.run_and_verify_svn(["This is the file 'chi'.\n"],
[], 'cat',
chi_url)
# read a remote file, unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cat',
lambda_url)
# read a remote file, unreadable through recursion: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cat',
alpha_url)
# read a remote file, user specific authorization is ignored because * = rw
- svntest.actions.run_and_verify_svn(None, ["This is the file 'pi'.\n"],
+ svntest.actions.run_and_verify_svn(["This is the file 'pi'.\n"],
[], 'cat',
pi_url)
# open a remote folder(ls)
- svntest.actions.run_and_verify_svn("ls remote root folder",
- ["A/\n", "iota\n"],
+ svntest.actions.run_and_verify_svn(["A/\n", "iota\n"],
[], 'ls',
root_url)
# open a remote folder(ls), unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, svntest.verify.AnyOutput, 'ls',
+ svntest.actions.run_and_verify_svn(None, svntest.verify.AnyOutput, 'ls',
B_url)
# open a remote folder(ls) with spaces, should succeed
- svntest.actions.run_and_verify_svn(None,
- None, [], 'ls',
+ svntest.actions.run_and_verify_svn(None, [], 'ls',
fws_empty_folder_url)
# open a remote folder(ls), unreadable through recursion: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ls',
E_url)
# copy a remote file
- svntest.actions.run_and_verify_svn(None, None, [], 'cp',
+ svntest.actions.run_and_verify_svn(None, [], 'cp',
iota_url, D_url,
'-m', 'logmsg')
# copy a remote file, source is unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'-m', 'logmsg',
lambda_url, D_url)
# copy a remote folder
- svntest.actions.run_and_verify_svn(None, None, [], 'cp',
+ svntest.actions.run_and_verify_svn(None, [], 'cp',
C_url, D_url,
'-m', 'logmsg')
# copy a remote folder, source is unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'-m', 'logmsg',
E_url, D_url)
@@ -270,15 +262,13 @@ def authz_read_access(sbox):
# into two operations, a committed copy followed by a committed
# deletion. But the editor drive required to do these atomically
# today is prohibitive.
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'mv', '-m', 'logmsg',
alpha_url, F_alpha_url)
## copy a remote file, source/target ancestor is readonly
## we fail here due to issue #3242.
- #svntest.actions.run_and_verify_svn(None,
- # None, [],
+ #svntest.actions.run_and_verify_svn(# None, [],
# 'cp', '-m', 'logmsg',
# alpha_url, F_alpha_url)
@@ -312,64 +302,55 @@ def authz_write_access(sbox):
D_url = A_url + '/D'
# copy a remote file, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'-m', 'logmsg',
lambda_url, D_url)
# copy a remote folder, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'-m', 'logmsg',
E_url, D_url)
# delete a file, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'rm',
'-m', 'logmsg',
iota_url)
# delete a folder, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'rm',
'-m', 'logmsg',
D_url)
# create a folder, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'mkdir',
'-m', 'logmsg',
A_url+'/newfolder')
# move a remote file, source is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'mv',
'-m', 'logmsg',
mu_url, C_url)
# move a remote folder, source is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'mv',
'-m', 'logmsg',
D_url, C_url)
# move a remote file, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'mv',
'-m', 'logmsg',
lambda_url, D_url)
# move a remote folder, target is readonly: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'mv',
'-m', 'logmsg',
B_url, D_url)
@@ -396,7 +377,7 @@ def authz_checkout_test(sbox):
write_authz_file(sbox, { "/": "* ="})
# checkout a working copy, should fail
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'co', sbox.repo_url, local_dir)
# 2nd part: now enable read access
@@ -540,17 +521,17 @@ def authz_log_and_tracing_test(sbox):
rho_path = os.path.join(wc_dir, 'A', 'D', 'G', 'rho')
svntest.main.file_append(rho_path, 'new appended text for rho')
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'ci', '-m', 'add file rho', sbox.wc_dir)
svntest.main.file_append(rho_path, 'extra change in rho')
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'ci', '-m', 'changed file rho',
sbox.wc_dir)
# copy a remote file
- svntest.actions.run_and_verify_svn(None, None, [], 'cp',
+ svntest.actions.run_and_verify_svn(None, [], 'cp',
rho_path, D_url,
'-m', 'copy rho to readable area')
@@ -570,8 +551,7 @@ def authz_log_and_tracing_test(sbox):
# changed file in this rev. is not readable anymore, so author and date
# should be hidden, like this:
# r2 | (no author) | (no date) | 1 line
- svntest.actions.run_and_verify_svn(None,
- ".*(no author).*(no date).*|-+\n|\n", [],
+ svntest.actions.run_and_verify_svn(".*(no author).*(no date).*|-+\n|\n", [],
'log', '-r', '2', '--limit', '1',
wc_dir)
@@ -583,20 +563,19 @@ def authz_log_and_tracing_test(sbox):
# if we do the same thing directly on the unreadable file, we get:
# svn: Item is not readable
- svntest.actions.run_and_verify_svn(None, None, expected_err2,
+ svntest.actions.run_and_verify_svn(None, expected_err2,
'log', rho_path)
# while the HEAD rev of the copy is readable in /A/D, its parent in
# /A/D/G is not, so don't spill any info there either.
- svntest.actions.run_and_verify_svn(None,
- ".*(no author).*(no date).*|-+\n|\n", [],
+ svntest.actions.run_and_verify_svn(".*(no author).*(no date).*|-+\n|\n", [],
'log', '-r', '2', '--limit', '1', D_url)
# Test that only author/date are shown for partially visible revisions.
svntest.actions.enable_revprop_changes(sbox.repo_dir)
write_authz_file(sbox, { "/": "* = rw"})
svntest.actions.run_and_verify_svn(
- None, None, [], # message, expected_stdout, expected_stderr
+ None, [], # expected_stdout, expected_stderr
'ps', '--revprop', '-r1', 'foobar', 'foo bar', sbox.repo_url)
svntest.actions.run_and_verify_log_xml(
expected_revprops=[{'svn:author': svntest.main.wc_author, 'svn:date': '',
@@ -612,7 +591,7 @@ def authz_log_and_tracing_test(sbox):
## cat
# now see if we can look at the older version of rho
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cat', '-r', '2', D_url+'/rho')
if sbox.repo_url.startswith('http'):
@@ -620,19 +599,19 @@ def authz_log_and_tracing_test(sbox):
else:
expected_err2 = ".*svn: E220001: Unreadable path encountered; access denied.*"
- svntest.actions.run_and_verify_svn(None, None, expected_err2,
+ svntest.actions.run_and_verify_svn(None, expected_err2,
'cat', '-r', '2', G_url+'/rho')
## diff
# we shouldn't see the diff of a file in an unreadable path
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'diff', '-r', 'HEAD', G_url+'/rho')
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'diff', '-r', '2', D_url+'/rho')
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'diff', '-r', '2:4', D_url+'/rho')
# test whether read access is correctly granted and denied
@@ -660,16 +639,14 @@ def authz_aliases(sbox):
iota_url = root_url + '/iota'
# copy a remote file, target is readonly for jconstant: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'--username', svntest.main.wc_author2,
'-m', 'logmsg',
iota_url, B_url)
# try the same action, but as user jray (alias of jrandom), should work.
- svntest.actions.run_and_verify_svn(None,
- None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'cp',
'-m', 'logmsg',
iota_url, B_url)
@@ -700,8 +677,7 @@ def authz_validate(sbox):
expected_err = ".*@undefined_group.*"
# validation of this authz file should fail, so no repo access
- svntest.actions.run_and_verify_svn("ls remote folder",
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ls',
A_url)
@@ -720,8 +696,7 @@ devs = @devs1, dev3, dev4""" })
expected_err = ".*Circular dependency.*"
# validation of this authz file should fail, so no repo access
- svntest.actions.run_and_verify_svn("ls remote folder",
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ls',
A_url)
@@ -735,8 +710,7 @@ users = @devs1, @devs2, user1, user2"""
# validation of this authz file should *not* fail (where formerly,
# it complained about circular dependencies that do not, in fact,
# exist), so this is business as usual.
- svntest.actions.run_and_verify_svn("ls remote folder",
- ['B/\n', 'C/\n', 'D/\n', 'mu\n'],
+ svntest.actions.run_and_verify_svn(['B/\n', 'C/\n', 'D/\n', 'mu\n'],
[],
'ls',
A_url)
@@ -767,15 +741,13 @@ def authz_locking(sbox):
mu_path = os.path.join(wc_dir, 'A', 'mu')
# lock a file url, target is readonly: should fail
- svntest.actions.run_and_verify_svn2(None,
- None, expected_err, expected_status,
+ svntest.actions.run_and_verify_svn2(None, expected_err, expected_status,
'lock',
'-m', 'lock msg',
iota_url)
# lock a file path, target is readonly: should fail
- svntest.actions.run_and_verify_svn2(None,
- None, expected_err, expected_status,
+ svntest.actions.run_and_verify_svn2(None, expected_err, expected_status,
'lock',
'-m', 'lock msg',
iota_path)
@@ -784,8 +756,7 @@ def authz_locking(sbox):
# Get a lock on /A/mu and try to commit it.
# lock a file path, target is writeable: should succeed
- svntest.actions.run_and_verify_svn(None,
- None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'lock',
'-m', 'lock msg',
mu_path)
@@ -817,8 +788,7 @@ def authz_locking(sbox):
expected_err = ".*svn: warning: W160039: Unlock.*[Ff]orbidden.*"
expected_status = 0
- svntest.actions.run_and_verify_svn2(None,
- None, expected_err, expected_status,
+ svntest.actions.run_and_verify_svn2(None, expected_err, expected_status,
'lock',
'-m', 'lock msg',
mu_path,
@@ -858,23 +828,23 @@ def authz_svnserve_anon_access_read(sbox
"/A/D" : "* = r" })
# Perform a checkout of /A/B, expecting to see no errors.
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'checkout',
B_url, B_path)
# Anonymous users should be able to check out /A/D.
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'checkout',
D_url, D_path)
# Now try a switch.
svntest.main.safe_rmtree(D_path)
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'switch', D_url, B_path)
# Check out /A/B with an unknown username, expect error.
svntest.actions.run_and_verify_svn(
- None, None,
+ None,
".*Authentication error from server: Username not found.*",
'checkout',
'--non-interactive',
@@ -882,12 +852,12 @@ def authz_svnserve_anon_access_read(sbox
B_url, B_path + '_unsuccessful')
# Check out a second copy of /A/B, make changes for later merge.
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'checkout',
B_url, other_B_path)
other_alpha_path = os.path.join(other_B_path, 'E', 'alpha')
svntest.main.file_append(other_alpha_path, "fish\n")
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'commit', '-m', 'log msg',
other_B_path)
@@ -896,7 +866,7 @@ def authz_svnserve_anon_access_read(sbox
# authz here, not the semantics of the merge. (Merges had been
# failing in authz, for the reasons summarized in
# http://subversion.tigris.org/issues/show_bug.cgi?id=2712#desc13.)
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'merge', '-c', '2',
B_url, B_path)
@@ -1020,7 +990,7 @@ def multiple_matches(sbox):
# Prohibit access and commit fails
write_authz_file(sbox, {'/': 'jrandom ='})
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp', '-m', 'fail copy',
root_url, root_url + '/fail')
@@ -1067,7 +1037,7 @@ def wc_wc_copy_revert(sbox):
expected_status.remove('A/B/E', 'A/B/E/alpha', 'A/B/E/beta')
svntest.actions.run_and_verify_status(sbox.wc_dir, expected_status)
- svntest.actions.run_and_verify_svn(None, None,
+ svntest.actions.run_and_verify_svn(None,
'svn: E155035: Cannot copy.*excluded by server',
'cp', sbox.ospath('A'), sbox.ospath('A2'))
@@ -1080,17 +1050,17 @@ def wc_wc_copy_revert(sbox):
'! - ? ? ' + sbox.ospath('A2/B/E') + '\n',
])
expected_output.match_all = False
- svntest.actions.run_and_verify_svn(None, expected_output, [],
+ svntest.actions.run_and_verify_svn(expected_output, [],
'st', '--verbose', sbox.ospath('A2'))
# Issue 4025, info SEGV on incomplete working node
- svntest.actions.run_and_verify_svn(None, None,
+ svntest.actions.run_and_verify_svn(None,
'svn: E145000: .*unrecognized node kind',
'info', sbox.ospath('A2/B/E'))
# Issue 4026, copy assertion on incomplete working node
- svntest.actions.run_and_verify_svn(None, None,
+ svntest.actions.run_and_verify_svn(None,
'svn: E145001: cannot handle node kind',
'cp', sbox.ospath('A2/B'), sbox.ospath('B3'))
@@ -1099,10 +1069,10 @@ def wc_wc_copy_revert(sbox):
'! - ? ? ' + sbox.ospath('B3/E') + '\n',
])
expected_output.match_all = False
- svntest.actions.run_and_verify_svn(None, expected_output, [],
+ svntest.actions.run_and_verify_svn(expected_output, [],
'st', '--verbose', sbox.ospath('B3'))
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'revert', '--recursive',
sbox.ospath('A2'), sbox.ospath('B3'))
@@ -1140,8 +1110,7 @@ def authz_recursive_ls(sbox):
'A/D/gamma',
'iota',
]
- svntest.actions.run_and_verify_svn('recursive ls from /',
- map(lambda x: x + '\n', expected_entries),
+ svntest.actions.run_and_verify_svn(map(lambda x: x + '\n', expected_entries),
[], 'ls', '-R',
sbox.repo_url)
@@ -1176,7 +1145,7 @@ def case_sensitive_authz(sbox):
# test the case-sensitivity of the path inside the repo
write_authz_file(sbox, {"/": "jrandom = r",
"/A/mu": "jrandom =", "/a/Mu": "jrandom = rw"})
- svntest.actions.run_and_verify_svn2(None, None,
+ svntest.actions.run_and_verify_svn2(None,
expected_error_for_cat,
1, 'cat', mu_url)
@@ -1209,7 +1178,7 @@ def case_sensitive_authz(sbox):
os.path.basename(sbox.repo_dir) + ":/A/mu": "jrandom =",
mixed_case_repo_dir + ":/A/mu": "jrandom = rw"}
write_authz_file(sbox, {}, sec_mixed_case)
- svntest.actions.run_and_verify_svn2(None, None,
+ svntest.actions.run_and_verify_svn2(None,
expected_error_for_cat,
1, 'cat', mu_url)
@@ -1229,8 +1198,7 @@ def case_sensitive_authz(sbox):
write_authz_file(sbox, {"/": "jrandom = r",
"/A": "jrandom = r", "/A/mu": "jrandom = rw"})
- svntest.actions.run_and_verify_svn2('No error',
- svntest.verify.AnyOutput, [],
+ svntest.actions.run_and_verify_svn2(svntest.verify.AnyOutput, [],
0, 'cat', mu_url)
# Commit the file.
svntest.actions.run_and_verify_commit(wc_dir,
@@ -1294,9 +1262,9 @@ def wc_delete(sbox):
expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1)
expected_err = ".*svn: E155035: .*excluded by server*"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'rm', sbox.ospath('A/B/E'), '--force')
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'rm', sbox.ospath('A'))
expected_status = svntest.actions.get_virginal_state(sbox.wc_dir, 1)
@@ -1317,7 +1285,7 @@ def wc_commit_error_handling(sbox):
# Creating editor fail: unfriendly error
expected_err = "(svn: E175013: .*[Ff]orbidden.*)|" + \
"(svn: E170001: Authorization failed)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
write_authz_file(sbox, {'/' : '* = rw',
@@ -1328,7 +1296,7 @@ def wc_commit_error_handling(sbox):
expected_err = "(svn: E195023: Changing directory '.*Z' is forbidden)|" + \
"(svn: E220004: Access denied)|" + \
"(svn: E175013: Access to '.*Z' forbidden)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
sbox.simple_revert('A/Z')
@@ -1341,7 +1309,7 @@ def wc_commit_error_handling(sbox):
expected_err = "(svn: E195023: Changing file '.*zeta' is forbidden)|" + \
"(svn: E220004: Access denied)|" + \
"(svn: E175013: Access to '.*zeta' forbidden)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
sbox.simple_revert('A/zeta')
@@ -1351,7 +1319,7 @@ def wc_commit_error_handling(sbox):
# on editor->edit_close().
expected_err = "(svn: E175013: .*[Ff]orbidden.*)|" + \
"(svn: E220004: Access denied)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
sbox.simple_revert('A/D')
@@ -1363,7 +1331,7 @@ def wc_commit_error_handling(sbox):
expected_err = "(svn: E195023: Changing file '.*lambda' is forbidden.*)|" + \
"(svn: E220004: Access denied)|" + \
"(svn: E175013: Access to '.*lambda' forbidden)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
sbox.simple_revert('A/B/lambda')
@@ -1374,7 +1342,7 @@ def wc_commit_error_handling(sbox):
expected_err = "(svn: E195023: Changing file '.*lambda' is forbidden.*)|" + \
"(svn: E220004: Access denied)|" + \
"(svn: E175013: Access to '.*lambda' forbidden)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
sbox.simple_revert('A/B/lambda')
@@ -1385,7 +1353,7 @@ def wc_commit_error_handling(sbox):
expected_err = "(svn: E195023: Changing directory '.*F' is forbidden.*)|" + \
"(svn: E220004: Access denied)|" + \
"(svn: E175013: Access to '.*F' forbidden)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
sbox.simple_revert('A/B/F')
@@ -1395,7 +1363,7 @@ def wc_commit_error_handling(sbox):
expected_err = "(svn: E195023: Changing file '.*mu' is forbidden.*)|" + \
"(svn: E220004: Access denied)|" + \
"(svn: E175013: Access to '.*mu' forbidden)"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'ci', wc_dir, '-m', '')
@@ -1415,15 +1383,15 @@ def upgrade_absent(sbox):
# Attempt to use the working copy, this should give an error
expected_stderr = wc_is_too_old_regex
- svntest.actions.run_and_verify_svn(None, None, expected_stderr,
+ svntest.actions.run_and_verify_svn(None, expected_stderr,
'info', sbox.wc_dir)
# Now upgrade the working copy
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'upgrade', sbox.wc_dir)
# Relocate to allow finding the repository
- svntest.actions.run_and_verify_svn(None, None, [], 'relocate',
+ svntest.actions.run_and_verify_svn(None, [], 'relocate',
'svn://127.0.0.1/authz_tests-2',
sbox.repo_url, sbox.wc_dir)
@@ -1515,37 +1483,34 @@ def authz_svnserve_groups(sbox):
expected_err = ".*svn: E170001: Authorization failed.*"
# read a remote file
- svntest.actions.run_and_verify_svn(None, ["This is the file 'lambda'.\n"],
+ svntest.actions.run_and_verify_svn(["This is the file 'lambda'.\n"],
[], 'cat',
lambda_url)
# read a remote file
- svntest.actions.run_and_verify_svn(None, ["This is the file 'pi'.\n"],
+ svntest.actions.run_and_verify_svn(["This is the file 'pi'.\n"],
[], 'cat',
pi_url)
# read a remote file, unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cat',
alpha_url)
# copy a remote file, source is unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'-m', 'logmsg',
alpha_url, B_url)
# copy a remote folder
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'cp',
'-m', 'logmsg',
F_url, D_url)
# copy a remote folder, source is unreadable: should fail
- svntest.actions.run_and_verify_svn(None,
- None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'cp',
'-m', 'logmsg',
E_url, D_url)
@@ -1561,7 +1526,7 @@ def authz_del_from_subdir(sbox):
write_restrictive_svnserve_conf(sbox.repo_dir)
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'rm', sbox.repo_url + '/A/mu',
'-m', '')
@@ -1573,14 +1538,14 @@ def log_diff_dontdothat(sbox):
ddt_url = sbox.repo_url.replace('/svn-test-work/', '/ddt-test-work/')
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'log', sbox.repo_url,
'-c', 1, '--diff')
# We should expect a PASS or a proper error message instead of
# svn: E175009: XML parsing failed: (403 Forbidden)
expected_err = ".*E175013: Access to '.*authz_tests-28.*' forbidden"
- svntest.actions.run_and_verify_svn(None, None, expected_err,
+ svntest.actions.run_and_verify_svn(None, expected_err,
'log', ddt_url,
'-c', 1, '--diff')
@@ -1606,7 +1571,7 @@ def authz_file_external_to_authz(sbox):
svntest.actions.run_and_verify_update(wc_dir,
None, None, expected_status)
- svntest.actions.run_and_verify_svn(None, None, [],
+ svntest.actions.run_and_verify_svn(None, [],
'cp', repo_url + '/A',
repo_url + '/Z',
'-m', 'Add Z')
@@ -1622,6 +1587,37 @@ def authz_file_external_to_authz(sbox):
svntest.actions.run_and_verify_update(wc_dir,
None, None, expected_status)
+@Skip(svntest.main.is_ra_type_file)
+def authz_log_censor_revprops(sbox):
+ "log censors revprops for partially visible revs"
+
+ sbox.build(create_wc = False)
+
+ svntest.actions.enable_revprop_changes(sbox.repo_dir)
+ write_restrictive_svnserve_conf(sbox.repo_dir)
+ write_authz_file(sbox, {"/" : "* = rw"})
+
+ # Add the revision property 's'.
+ svntest.actions.run_and_verify_svn(None, [], 'ps', '--revprop',
+ '-r1', 's', 'secret', sbox.repo_url)
+
+ # With blanket access, both 'svn:author' and 's' are a part of the output.
+ svntest.actions.run_and_verify_log_xml(
+ expected_revprops=[{'svn:author': svntest.main.wc_author, 's': 'secret'}],
+ args=['--with-revprop', 'svn:author', '--with-revprop', 's',
+ '-r1', sbox.repo_url])
+
+ # Make the revision partially visible, but ask for both 'svn:author' and
+ # 's'. The second revision property should be censored out, as we only
+ # allow 'svn:author' and 'svn:date' for partially visible revisions.
+ # This used to fail around trunk@1658379.
+ write_authz_file(sbox, {"/" : "* = rw", "/A/B" : "* = "})
+
+ svntest.actions.run_and_verify_log_xml(
+ expected_revprops=[{'svn:author': svntest.main.wc_author}],
+ args=['--with-revprop', 'svn:author', '--with-revprop', 's',
+ '-r1', sbox.repo_url])
+
########################################################################
# Run the tests
@@ -1657,6 +1653,7 @@ test_list = [ None,
authz_del_from_subdir,
log_diff_dontdothat,
authz_file_external_to_authz,
+ authz_log_censor_revprops,
]
serial_only = True
Modified: subversion/branches/fsx-1.10/subversion/tests/cmdline/autoprop_tests.py
URL: http://svn.apache.org/viewvc/subversion/branches/fsx-1.10/subversion/tests/cmdline/autoprop_tests.py?rev=1659238&r1=1659237&r2=1659238&view=diff
==============================================================================
--- subversion/branches/fsx-1.10/subversion/tests/cmdline/autoprop_tests.py (original)
+++ subversion/branches/fsx-1.10/subversion/tests/cmdline/autoprop_tests.py Thu Feb 12 12:21:31 2015
@@ -318,7 +318,7 @@ def fail_add_mixed_eol_style(sbox):
expected_stderr = "svn: E200009: File '.*" + filename + \
"' has inconsistent newlines" + \
"|" + "svn: E135000: Inconsistent line ending style\n"
- run_and_verify_svn(None, [], expected_stderr,
+ run_and_verify_svn([], expected_stderr,
'add', filepath, *parameters)
expected_status = svntest.wc.State(sbox.wc_dir,
@@ -466,7 +466,7 @@ def inheritable_autoprops_test(sbox, cmd
sbox.simple_propset(SVN_PROP_INHERITABLE_AUTOPROPS,
'*.py = svn:mime-type=text/x-python',
'A/D')
- svntest.actions.run_and_verify_svn(None, None, [], 'ci', '-m',
+ svntest.actions.run_and_verify_svn(None, [], 'ci', '-m',
'Add some ' + SVN_PROP_INHERITABLE_AUTOPROPS +
' properties', wc_dir)
@@ -674,7 +674,7 @@ def svn_prop_inheritable_autoprops_props
sbox.build()
svntest.actions.run_and_verify_svn(
- None, None,
+ None,
".*Cannot set '" + SVN_PROP_INHERITABLE_AUTOPROPS + "' on a file.*",
'ps', SVN_PROP_INHERITABLE_AUTOPROPS, '*.c=svn:eol-style=native',
sbox.ospath('iota'))
@@ -718,9 +718,9 @@ def svn_prop_inheritable_autoprops_unver
os.chdir(saved_wd)
# Check the resulting autoprops.
- svntest.actions.run_and_verify_svn(None, 'native\n', [],
+ svntest.actions.run_and_verify_svn('native\n', [],
'pg', 'svn:eol-style', foo_path)
- svntest.actions.run_and_verify_svn(None, 'CR\n', [],
+ svntest.actions.run_and_verify_svn('CR\n', [],
'pg', 'svn:eol-style', bar_path)
########################################################################