('binary' encoding is not supported, stored as-is)
Sorry, meant to send the message below to the list too. Was accedentally only sent to cmpilato and Fitz
bye,
Erik
------- Original message -------
Hi!
Ok, I sat down and started rewriting svntest.main.svn_run to svntest.actions.run_and_verify_svn calls. I left alone those instances where the context does not do any output-checks.
The code is not completely finished: there is one tests which keeps failing. I have not been able to find out why yet:
XPASS: commit_tests.py 15: hook testing
Looking at the code I don't understand why commit_tests.py 15 should be marked XFail.
I thought I could submit this before the final state of the patch, because it would take quite some time to review it anyway. And I would have some time to fix commit_tests 15 before the patch is accepted anyway.
One last remark cmpilato wrote he would have liked to have the space changes as a separate patch. I decided that if you all don't mind too much, I could make a separate patch doing the rest of the space changes, but leaving the current patch as-is. Since it would take so much time to undo the space-change stuff...
BTW: the patch statistics have become a bit more aggressive than they were:
Total number of lines: 6100
Number of lines added: 1236
Number of lines removed: 1819
Let me know what you think.
bye,
Erik.
Log:
[[[
Rewrite the test suite to new philosophy where
exceptions are raised to pass errors back to
the caller.
* subversion/tests/clients/cmdline/basic_tests.py
* subversion/tests/clients/cmdline/commit_tests.py
* subversion/tests/clients/cmdline/copy_tests.py
* subversion/tests/clients/cmdline/diff_tests.py
* subversion/tests/clients/cmdline/export_tests.py
* subversion/tests/clients/cmdline/externals_tests.py
* subversion/tests/clients/cmdline/log_tests.py
* subversion/tests/clients/cmdline/merge_tests.py
* subversion/tests/clients/cmdline/prop_tests.py
* subversion/tests/clients/cmdline/schedule_tests.py
* subversion/tests/clients/cmdline/stat_tests.py
* subversion/tests/clients/cmdline/svnadmin_tests.py
* subversion/tests/clients/cmdline/svnlook_tests.py
* subversion/tests/clients/cmdline/trans_tests.py
* subversion/tests/clients/cmdline/update_tests.py
* subversion/tests/clients/cmdline/utf8_tests.py
]]]
>> "B. W. Fitzpatrick" <fitz@red-bean.com> writes:
>>
>> > > > Last week I submitted a little change to the svnversion test. Before
>> > > > the test was found acceptable, I had to rewrite it so that it was
>> > > > written as a 'new style' test: one which uses the Python exception
>> > > > handling instead of the return 0 / return 1 structure.
>> > >
>> > > I'm reviewing this now.
>> >
>> > I have a few comments about the patch:
>> >
>> > 1. Yay!
>> >
>> > 2. I'd like to see the whitespace changes in a separate patch, but
>> > that's not really A Big Deal.
>> >
>> > 3. I found a couple of places where you're doing this:
>> >
>> > stat_output, err_output = svntest.main.run_svn(None, 'stat', '-vN')
>> > if err_output:
>> > raise svntest.Failure
>> >
>> > I'd like to see you use
>> >
>> > run_and_verify_svn(message, expected_stdout, expected_stderr, *varargs):
>> >
>> > in these cases. It integrates the checking for different outputs on
>> > stderr and stdout. I've already converted a bunch of the tests to use
>> > it, so there are plenty of examples.
>>
>> These fixes, plus addressing the "raise 1" oopsy, plus my sudden lack
>> of immediate time to review and apply the patch are good reasons to
>> suggest that the patch be resubmitted with the proper fixes in place.
>> At that later date, perhaps I'll have more review/application time to
>> offer.
>
>OK. Erik, if you want to make those changes and resubmit, I'll do my
>best to review ASAP, but I can't guarantee anything this week cause
>I'm swamperoonied.
>
>-Fitz
>
Index: diff_tests.py
===================================================================
--- diff_tests.py (revision 6929)
+++ diff_tests.py (working copy)
@@ -21,6 +21,7 @@
# Our testing module
import svntest
+from svntest import SVNAnyOutput
# (abbreviation)
Skip = svntest.testcase.Skip
@@ -405,7 +406,6 @@
"multiple revisions diff'd forwards and backwards"
sbox.build()
-
wc_dir = sbox.wc_dir
# rev 2
@@ -445,7 +445,6 @@
"non-recursive behaviour"
sbox.build()
-
wc_dir = sbox.wc_dir
change_diff_commit_diff(wc_dir, 1,
@@ -484,7 +483,6 @@
"diff only part of the repository"
sbox.build()
-
wc_dir = sbox.wc_dir
was_cwd = os.getcwd()
@@ -511,7 +509,6 @@
"non version controlled files"
sbox.build()
-
wc_dir = sbox.wc_dir
svntest.main.file_append(os.path.join(wc_dir, 'A', 'D', 'foo'), "a new file")
@@ -534,8 +531,8 @@
"pure repository diff update a file"
sbox.build()
-
wc_dir = sbox.wc_dir
+
was_cwd = os.getcwd()
os.chdir(wc_dir)
@@ -626,27 +623,26 @@
### really ought to check that the property diff gets output.
sbox.build()
-
wc_dir = sbox.wc_dir
current_dir = os.getcwd();
os.chdir(sbox.wc_dir);
try:
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'propset',
+ 'svn:eol-style', 'native', 'iota')
- output, errput = svntest.main.run_svn(None, 'propset',
- 'svn:eol-style', 'native', 'iota')
- if errput: raise svntest.Failure
- output, errput = svntest.main.run_svn(None, 'ci', '-m', 'empty-msg')
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'ci', '-m', 'empty-msg')
- output, errput = svntest.main.run_svn(None, 'diff', '-r', '1:2')
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'diff', '-r', '1:2')
- output, errput = svntest.main.run_svn(None, 'diff', '-r', '2:1')
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'diff', '-r', '2:1')
- output, errput = svntest.main.run_svn(None, 'diff', '-r', '1')
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'diff', '-r', '1')
finally:
os.chdir(current_dir)
@@ -661,7 +657,6 @@
"don't diff file marked as binary type"
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a binary file to the project.
@@ -689,10 +684,9 @@
})
# Commit the new binary file, creating revision 2.
- if svntest.actions.run_and_verify_commit(wc_dir, expected_output,
- expected_status, None,
- None, None, None, None, wc_dir):
- raise svntest.Failure
+ svntest.actions.run_and_verify_commit(wc_dir, expected_output,
+ expected_status, None,
+ None, None, None, None, wc_dir)
# Update the whole working copy to HEAD (rev 2)
expected_output = svntest.wc.State(wc_dir, {})
@@ -708,13 +702,12 @@
'A/theta' : Item(status=' ', wc_rev=2, repos_rev=2),
})
- if svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- expected_status,
- None, None, None, None, None,
- 1): # verify props, too.
- raise svntest.Failure
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status,
+ None, None, None, None, None,
+ 1) # verify props, too.
# Make a local mod to the binary file.
svntest.main.file_append(theta_path, "some extra junk")
@@ -757,10 +750,9 @@
'A/theta' : Item(status=' ', wc_rev=3, repos_rev=3),
})
- if svntest.actions.run_and_verify_commit(wc_dir, expected_output,
- expected_status, None,
- None, None, None, None, wc_dir):
- raise svntest.Failure
+ svntest.actions.run_and_verify_commit(wc_dir, expected_output,
+ expected_status, None,
+ None, None, None, None, wc_dir)
# Third diff use-case: 'svn diff -r2:3 wc' will compare two
# repository trees.
@@ -812,12 +804,11 @@
# Modify the file to ensure that the diff is non-empty.
svntest.main.file_append(new_mu_path, "\nActually, it's a new mu.")
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r', 'HEAD',
- new_mu_path)
- if diff_output == []:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, SVNAnyOutput, None,
+ 'diff', '-r', 'HEAD', new_mu_path)
+
#----------------------------------------------------------------------
# Regression test for issue #977: make 'svn diff -r BASE:N' compare a
# repository tree against the wc's text-bases, rather than the wc's
@@ -827,7 +818,6 @@
"diff text-bases against repository"
sbox.build()
-
wc_dir = sbox.wc_dir
iota_path = os.path.join(sbox.wc_dir, 'iota')
@@ -863,11 +853,9 @@
# If we run 'svn diff -r 1', we should see diffs that include *both*
# the rev2 changes and local mods. That's because the working files
# are being compared to the repository.
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r', '1',
- wc_dir)
- if err_output:
- raise svntest.Failure
-
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '-r', '1', wc_dir)
line1 = "+This is the file 'iota'.some rev2 iota text.an iota local mod.\n"
for line in diff_output:
@@ -879,11 +867,9 @@
# If we run 'svn diff -r BASE:1', we should see diffs that only show
# the rev2 changes and NOT the local mods. That's because the
# text-bases are being compared to the repository.
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r',
- 'BASE:1', wc_dir)
- if err_output:
- raise svntest.Failure
-
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r', 'BASE:1',
+ wc_dir)
line1 = "-This is the file 'iota'.some rev2 iota text.\n"
for line in diff_output:
@@ -898,10 +884,9 @@
# For example, we just ran 'svn diff -rBASE:1'. The output should
# look exactly the same as 'svn diff -r2:1'. (If you remove the
# header commentary)
- diff_output2, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '2:1', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output2, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r', '2:1',
+ wc_dir)
diff_output[2:4] = []
diff_output2[2:4] = []
@@ -910,15 +895,14 @@
raise svntest.Failure
# and similarly, does 'svn diff -r1:2' == 'svn diff -r1:BASE' ?
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '1:2', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '-r', '1:2', wc_dir)
- diff_output2, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '1:BASE', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output2, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '-r', '1:BASE',
+ wc_dir)
diff_output[2:4] = []
diff_output2[2:4] = []
@@ -942,25 +926,21 @@
# once again, verify that -r1:2 and -r1:BASE look the same, as do
# -r2:1 and -rBASE:1. None of these diffs should mention the
# scheduled addition or deletion.
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '1:2', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ '1:2', wc_dir)
- diff_output2, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '1:BASE', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output2, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ '1:BASE', wc_dir)
- diff_output3, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '2:1', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output3, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ '2:1', wc_dir)
- diff_output4, err_output = svntest.main.run_svn(None, 'diff', '-r',
- 'BASE:1', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output4, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ 'BASE:1', wc_dir)
diff_output[2:4] = []
diff_output2[2:4] = []
@@ -1008,15 +988,13 @@
# Now 'svn diff -r3:2' should == 'svn diff -rBASE:2', showing the
# removal of changes to iota, the adding of mu, and deletion of newfile.
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '3:2', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ '3:2', wc_dir)
- diff_output2, err_output = svntest.main.run_svn(None, 'diff', '-r',
- 'BASE:2', wc_dir)
- if err_output:
- raise svntest.Failure
+ diff_output2, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ 'BASE:2', wc_dir)
# to do the comparison, remove all output lines starting with +++ or ---
re_infoline = re.compile('^(\+\+\+|---).*$')
@@ -1043,7 +1021,6 @@
"repos-repos diff on item deleted from HEAD"
sbox.build()
-
wc_dir = sbox.wc_dir
A_path = os.path.join(sbox.wc_dir, 'A')
@@ -1091,10 +1068,9 @@
# Doing an 'svn diff -r1:2' on the URL of directory A should work,
# especially over the DAV layer.
the_url = sbox.repo_url + '/A'
- diff_output, err_output = svntest.main.run_svn(None, 'diff', '-r',
- '1:2', the_url)
- if err_output:
- raise svntest.Failure
+ diff_output = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff', '-r',
+ '1:2', the_url)
#----------------------------------------------------------------------
@@ -1174,64 +1150,64 @@
A_url = svntest.main.current_repo_url + '/A'
A2_url = svntest.main.current_repo_url + '/A2'
- out, err = svntest.main.run_svn(None, 'cp', '-m', 'log msg', A_url, A2_url)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'cp', '-m', 'log msg',
+ A_url, A2_url)
- out, err = svntest.main.run_svn(None, 'up', sbox.wc_dir)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'up', sbox.wc_dir)
A_alpha = os.path.join(sbox.wc_dir, 'A', 'B', 'E', 'alpha')
A2_alpha = os.path.join(sbox.wc_dir, 'A2', 'B', 'E', 'alpha')
svntest.main.file_append(A_alpha, "\nfoo\n")
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'log msg', sbox.wc_dir)
- if err: raise svntest.Failure
+ out = svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', sbox.wc_dir)
svntest.main.file_append(A2_alpha, "\nbar\n")
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'log msg', sbox.wc_dir)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', sbox.wc_dir)
svntest.main.file_append(A_alpha, "zig\n")
# Compare repository file on one branch against repository file on
# another branch
rel_path = os.path.join('B', 'E', 'alpha')
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- '--old', A_url,
- '--new', A2_url,
- rel_path)
- if err_output: raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '--old', A_url,
+ '--new', A2_url,
+ rel_path)
verify_expected_output(diff_output, "-foo")
verify_expected_output(diff_output, "+bar")
# Same again but using whole branch
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- '--old', A_url,
- '--new', A2_url)
- if err_output: raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '--old', A_url,
+ '--new', A2_url)
verify_expected_output(diff_output, "-foo")
verify_expected_output(diff_output, "+bar")
# Compare two repository files on different branches
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- A_url + '/B/E/alpha',
- A2_url + '/B/E/alpha')
- if err_output: raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ A_url + '/B/E/alpha',
+ A2_url + '/B/E/alpha')
verify_expected_output(diff_output, "-foo")
verify_expected_output(diff_output, "+bar")
# Compare two versions of a file on a single branch
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- A_url + '/B/E/alpha@2',
- A_url + '/B/E/alpha@3')
- if err_output: raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ A_url + '/B/E/alpha@2',
+ A_url + '/B/E/alpha@3')
verify_expected_output(diff_output, "+foo")
# Compare identical files on different branches
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- A_url + '/B/E/alpha@2',
- A2_url + '/B/E/alpha@3')
- if diff_output or err_output: raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(
+ None, [], [],
+ 'diff', A_url + '/B/E/alpha@2', A2_url + '/B/E/alpha@3')
#----------------------------------------------------------------------
@@ -1243,22 +1219,23 @@
A_url = svntest.main.current_repo_url + '/A'
A2_url = svntest.main.current_repo_url + '/A2'
- out, err = svntest.main.run_svn(None, 'cp', '-m', 'log msg', A_url, A2_url)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'cp', '-m', 'log msg',
+ A_url, A2_url)
- out, err = svntest.main.run_svn(None, 'up', sbox.wc_dir)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'up', sbox.wc_dir)
A_alpha = os.path.join(sbox.wc_dir, 'A', 'B', 'E', 'alpha')
A2_alpha = os.path.join(sbox.wc_dir, 'A2', 'B', 'E', 'alpha')
svntest.main.file_append(A_alpha, "\nfoo\n")
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'log msg', sbox.wc_dir)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', sbox.wc_dir)
svntest.main.file_append(A2_alpha, "\nbar\n")
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'log msg', sbox.wc_dir)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', sbox.wc_dir)
svntest.main.file_append(A_alpha, "zig\n")
@@ -1266,19 +1243,20 @@
# another branch
A_path = os.path.join(sbox.wc_dir, 'A')
rel_path = os.path.join('B', 'E', 'alpha')
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- '--old', A2_url,
- '--new', A_path,
- rel_path)
- if err_output: raise svntest.Failure
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '--old', A2_url,
+ '--new', A_path,
+ rel_path)
verify_expected_output(diff_output, "-bar")
verify_expected_output(diff_output, "+foo")
verify_expected_output(diff_output, "+zig")
# Same again but using whole branch
- diff_output, err_output = svntest.main.run_svn(None, 'diff',
- '--old', A2_url,
- '--new', A_path)
+ diff_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '--old', A2_url,
+ '--new', A_path)
verify_expected_output(diff_output, "-bar")
verify_expected_output(diff_output, "+foo")
verify_expected_output(diff_output, "+zig")
@@ -1299,40 +1277,42 @@
os.remove(iota_path)
svntest.main.file_append(iota_path, "foo\nbar\nsnafu\n")
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'log msg', iota_path)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', iota_path)
# Now, copy the file elsewhere, twice.
- out, err = svntest.main.run_svn(None, 'cp', '-m', 'log msg',
- iota_url, iota_copy_url)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'cp', '-m', 'log msg',
+ iota_url, iota_copy_url)
- out, err = svntest.main.run_svn(None, 'cp', '-m', 'log msg',
- iota_url, iota_copy2_url)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'cp', '-m', 'log msg',
+ iota_url, iota_copy2_url)
# Update (to get the copies)
- out, err = svntest.main.run_svn(None, 'up', sbox.wc_dir)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'up', sbox.wc_dir)
# Now, make edits to one of the copies of iota, and commit.
os.remove(iota_copy_path)
svntest.main.file_append(iota_copy_path, "foo\nsnafu\nabcdefg\nopqrstuv\n")
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'log msg', iota_copy_path)
- if err: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', iota_copy_path)
# Finally, do a diff between the first and second copies of iota,
# and verify that we got the expected lines. And then do it in reverse!
- out, err = svntest.main.run_svn(None, 'diff', iota_copy_url, iota_copy2_url)
- if err: raise svntest.Failure
+ out, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ iota_copy_url, iota_copy2_url)
verify_expected_output(out, "+bar")
verify_expected_output(out, "-abcdefg")
verify_expected_output(out, "-opqrstuv")
- out, err = svntest.main.run_svn(None, 'diff', iota_copy2_url, iota_copy_url)
- if err: raise svntest.Failure
+ out, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ iota_copy2_url, iota_copy_url)
verify_expected_output(out, "-bar")
verify_expected_output(out, "+abcdefg")
Index: copy_tests.py
===================================================================
--- copy_tests.py (revision 6929)
+++ copy_tests.py (working copy)
@@ -21,8 +21,8 @@
# Our testing module
import svntest
+from svntest import SVNAnyOutput
-
# (abbreviation)
Skip = svntest.testcase.Skip
XFail = svntest.testcase.XFail
@@ -112,7 +112,6 @@
"basic copy and move commands -- on files only"
sbox.build()
-
wc_dir = sbox.wc_dir
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -256,7 +255,6 @@
# -- Lars
sbox.build()
-
wc_dir = sbox.wc_dir
unver_path = os.path.join(wc_dir, 'A', 'unversioned')
@@ -281,7 +279,6 @@
"receive a copied directory during update"
sbox.build()
-
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy.
@@ -376,7 +373,6 @@
"resurrect a deleted directory"
sbox.build()
-
wc_dir = sbox.wc_dir
# Delete directory A/D/G, commit that as r2.
@@ -454,16 +450,14 @@
dirURL2 = svntest.main.current_repo_url + "/A/D/H"
# Expect out-of-date failure if 'svn cp URL URL' tries to overwrite a file
- outlines, errlines = svntest.main.run_svn(1,
- 'cp', fileURL1, fileURL2,
- '--username',
- svntest.main.wc_author,
- '--password',
- svntest.main.wc_passwd,
- '-m', 'fooogle')
- if not errlines:
- print "Whoa, I was able to overwrite a file!"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "Whoa, I was able to overwrite a file!",
+ None, SVNAnyOutput,
+ 'cp', fileURL1, fileURL2,
+ '--username',
+ svntest.main.wc_author,
+ '--password',
+ svntest.main.wc_passwd,
+ '-m', 'fooogle')
# Create A/D/H/G by running 'svn cp ...A/D/G .../A/D/H'
svntest.actions.run_and_verify_svn(None, None, [],
@@ -473,16 +467,13 @@
'-m', 'fooogle')
# Repeat the last command. It should *fail* because A/D/H/G already exists.
- outlines, errlines = svntest.main.run_svn(1,
- 'cp', dirURL1, dirURL2,
- '--username',
- svntest.main.wc_author,
- '--password',
- svntest.main.wc_passwd,
- '-m', 'fooogle')
- if not errlines:
- print "Whoa, I was able to overwrite a directory!"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(
+ "Whoa, I was able to overwrite a directory!",
+ None, SVNAnyOutput,
+ 'cp', dirURL1, dirURL2,
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ '-m', 'fooogle')
#----------------------------------------------------------------------
@@ -528,15 +519,12 @@
# These copies should fail
pi_path = os.path.join(wc_dir, 'A', 'D', 'G', 'pi')
alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- outlines, errlines = svntest.main.run_svn(1, 'cp', pi_path, rho_path)
- if not errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(1, 'cp', pi_path, tau_path)
- if not errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(1, 'cp', pi_path, alpha_path)
- if not errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "", None, SVNAnyOutput,
+ 'cp', pi_path, rho_path)
+ svntest.actions.run_and_verify_svn( "", None, SVNAnyOutput,
+ 'cp', pi_path, tau_path)
+ svntest.actions.run_and_verify_svn( "", None, SVNAnyOutput,
+ 'cp', pi_path, alpha_path)
# Status after failed copies should not have changed
extra_files = [ 'tau' ]
@@ -554,8 +542,8 @@
"copy and tree and modify before commit"
sbox.build()
-
wc_dir = sbox.wc_dir
+
svntest.actions.run_and_verify_svn(None, None, [], 'cp',
wc_dir + '/A/B', wc_dir + '/A/B2',
'-m', 'fooogle')
@@ -661,7 +649,6 @@
"copy a tree and delete part of it before commit"
sbox.build()
-
wc_dir = sbox.wc_dir
# copy a tree
@@ -714,7 +701,6 @@
"move and revert a directory"
sbox.build()
-
wc_dir = sbox.wc_dir
# Issue 931: move failed to lock the directory being deleted
@@ -745,7 +731,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Create two paths
@@ -790,7 +775,6 @@
"working-copy to repository copy"
sbox.build()
-
wc_dir = sbox.wc_dir
beta_path = os.path.join(wc_dir, "A", "B", "E", "beta")
@@ -861,7 +845,6 @@
"repository to working-copy copy"
sbox.build()
-
wc_dir = sbox.wc_dir
# We have a standard repository and working copy. Now we create a
@@ -925,9 +908,8 @@
pi_url = other_repo_url + "/A/D/G/pi"
# Expect an error in the directory case
- output, errput = svntest.main.run_svn(1, 'copy', E_url, wc_dir)
- if not errput:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn("", None, SVNAnyOutput,
+ 'copy', E_url, wc_dir)
# But file case should work fine.
svntest.actions.run_and_verify_svn(None, None, [], 'copy', pi_url, wc_dir)
@@ -962,6 +944,7 @@
sbox.build()
wc_dir = sbox.wc_dir
+
B_url = svntest.main.current_repo_url + "/A/B"
F_url = svntest.main.current_repo_url + "/A/B/F"
@@ -1012,6 +995,7 @@
sbox.build()
wc_dir = sbox.wc_dir
+
B_url = svntest.main.current_repo_url + "/A/B"
F_B_url = svntest.main.current_repo_url + "/A/B/F/B"
@@ -1093,9 +1077,8 @@
# Delete a file in the repository via immediate commit
rho_url = svntest.main.current_repo_url + '/A/D/G/rho'
- outlines,errlines = svntest.main.run_svn(None, 'rm', rho_url, '-m', 'rev 2')
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'rm', rho_url, '-m', 'rev 2')
# Update the wc to HEAD (r2)
expected_output = svntest.wc.State(wc_dir, {
@@ -1111,13 +1094,8 @@
expected_status)
# repos->wc copy, to resurrect deleted file.
- outlines,errlines = svntest.main.run_svn(None, 'cp', '-r', '1',
- rho_url, wc_dir)
- if errlines:
- print "Copy Error:"
- for line in errlines:
- print line
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn("Copy error:", None, [],
+ 'cp', '-r', '1', rho_url, wc_dir)
# status should now show the file scheduled for addition-with-history
expected_status.add({
Index: stat_tests.py
===================================================================
--- stat_tests.py (revision 6929)
+++ stat_tests.py (working copy)
@@ -29,6 +29,7 @@
Item = svntest.wc.StateItem
+
######################################################################
# Tests
#
@@ -39,9 +40,7 @@
def status_unversioned_file_in_current_dir(sbox):
"status on unversioned file in current directory"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
was_cwd = os.getcwd()
@@ -50,15 +49,9 @@
svntest.main.file_append('foo', 'a new file')
- stat_output, err_output = svntest.main.run_svn(None, 'stat', 'foo')
+ svntest.actions.run_and_verify_svn(None, [ "? foo\n" ], [],
+ 'stat', 'foo')
- if len(stat_output) != 1:
- return 1
-
- if len(err_output) != 0:
- return 1
-
- return 0
finally:
os.chdir(was_cwd)
@@ -68,9 +61,7 @@
def status_update_with_nested_adds(sbox):
"run 'status -u' when nested additions are pending"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy
@@ -103,10 +94,9 @@
})
# Commit.
- if svntest.actions.run_and_verify_commit (wc_dir, expected_output,
- expected_status, None,
- None, None, None, None, wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir, expected_output,
+ expected_status, None,
+ None, None, None, None, wc_dir)
# Now we go to the backup working copy, still at revision 1.
# We will run 'svn st -u', and make sure that newdir/newfile is reported
@@ -124,73 +114,62 @@
# an error happens, we'll catch it here. So that's a good enough
# regression test for now. Someday, though, it would be nice to
# positively match the mostly-empty lines.
- return svntest.actions.run_and_verify_unquiet_status(wc_backup,
- expected_status)
-
+ svntest.actions.run_and_verify_unquiet_status(wc_backup,
+ expected_status)
+
#----------------------------------------------------------------------
# svn status -vN should include all entries in a directory
def status_shows_all_in_current_dir(sbox):
"status -vN shows all items in current directory"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
was_cwd = os.getcwd()
os.chdir(wc_dir)
+ try:
- stat_output, err_output = svntest.main.run_svn(None, 'stat', '-vN')
- if err_output:
- return 1
+ output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'stat', '-vN')
- entries_in_wc = len(os.listdir("."))
+ if (len(output) != len(os.listdir("."))):
+ raise svntest.Failure
- os.chdir(was_cwd)
+ finally:
+ os.chdir(was_cwd)
- if (len(stat_output) != entries_in_wc):
- return 1
- return 0
-
-
#----------------------------------------------------------------------
def status_missing_file(sbox):
"status with a versioned file missing"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
was_cwd = os.getcwd()
-
+
os.chdir(wc_dir)
+ try:
- os.remove('iota')
+ os.remove('iota')
- stat_output, err_output = svntest.main.run_svn(None, 'status')
- if err_output:
- return 1
- for line in stat_output:
- if not re.match("! +iota", line):
- return 1
-
- os.chdir(was_cwd)
+ output, err = svntest.actions.run_and_verify_svn(None, None, [], 'status')
+ for line in output:
+ if not re.match("! +iota", line):
+ raise svntest.Failure
+ finally:
+ os.chdir(was_cwd)
- return 0
-
-
#----------------------------------------------------------------------
def status_type_change(sbox):
"status on versioned items whose type has changed"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
was_cwd = os.getcwd()
os.chdir(wc_dir)
@@ -202,51 +181,48 @@
os.rename('A', 'iota')
os.rename('was_iota', 'A')
- stat_output, err_output = svntest.main.run_svn(None, 'status')
- if err_output or len(stat_output) != 2:
- return 1
- for line in stat_output:
+ output, err = svntest.actions.run_and_verify_svn( None, None, [], 'status')
+ if len(output) != 2:
+ raise svntest.Failure
+ for line in output:
if not re.match("~ +(iota|A)", line):
- return 1
+ raise svntest.Failure
# Now change the file that is obstructing the versioned dir into an
# unversioned dir.
os.remove('A')
os.mkdir('A')
- stat_output, err_output = svntest.main.run_svn(None, 'status')
- if err_output or len(stat_output) != 2:
- return 1
- for line in stat_output:
+ output, err = svntest.actions.run_and_verify_svn( None, None, [], 'status')
+ if len(output) != 2:
+ raise svntest.Failure
+ for line in output:
if not re.match("~ +(iota|A)", line):
- return 1
+ raise svntest.Failure
# Now change the versioned dir that is obstructing the file into an
# unversioned dir.
svntest.main.safe_rmtree('iota')
os.mkdir('iota')
- stat_output, err_output = svntest.main.run_svn(None, 'status')
- if err_output or len(stat_output) != 2:
- return 1
- for line in stat_output:
+ output, err = svntest.actions.run_and_verify_svn( None, None, [], 'status')
+ if len(output) != 2:
+ raise svntest.Failure
+ for line in output:
if not re.match("~ +(iota|A)", line):
- return 1
+ raise svntest.Failure
finally:
os.chdir(was_cwd)
- return 0
-
#----------------------------------------------------------------------
def status_type_change_to_symlink(sbox):
"status on versioned items replaced by symlinks"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
was_cwd = os.getcwd()
os.chdir(wc_dir)
@@ -258,12 +234,12 @@
svntest.main.safe_rmtree('A/D')
os.symlink('bar', 'A/D')
- stat_output, err_output = svntest.main.run_svn(None, 'status')
- if err_output or len(stat_output) != 2:
- return 1
- for line in stat_output:
+ output, err = svntest.actions.run_and_verify_svn( None, None, [], 'status')
+ if len(output) != 2:
+ raise svntest.Failure
+ for line in output:
if not re.match("~ +(iota|A/D)", line):
- return 1
+ raise svntest.Failure
# "valid" symlinks
os.remove('iota')
@@ -271,72 +247,64 @@
os.symlink('A/mu', 'iota')
os.symlink('C', 'A/D')
- stat_output, err_output = svntest.main.run_svn(None, 'status')
- if err_output or len(stat_output) != 2:
- return 1
- for line in stat_output:
+ output, err = svntest.actions.run_and_verify_svn( None, None, [], 'status')
+ if len(output) != 2:
+ raise svntest.Failure
+ for line in output:
if not re.match("~ +(iota|A/D)", line):
- return 1
+ raise svntest.Failure
finally:
os.chdir(was_cwd)
- return 0
-
-
#----------------------------------------------------------------------
# Regression test for revision 3686.
def status_with_new_files_pending(sbox):
"status -u with new files in the repository"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
was_cwd = os.getcwd()
os.chdir(wc_dir)
+ try:
+ svntest.main.file_append('newfile', 'this is a new file')
+ svntest.main.run_svn(None, 'add', 'newfile')
+ svntest.main.run_svn(None, 'ci', '-m', 'logmsg')
+ svntest.main.run_svn(None, 'up', '-r', '1')
- svntest.main.file_append('newfile', 'this is a new file')
- svntest.main.run_svn(None, 'add', 'newfile')
- svntest.main.run_svn(None, 'ci', '-m', 'logmsg')
- svntest.main.run_svn(None, 'up', '-r', '1')
+ output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'status', '-u')
- stat_output, err_output = svntest.main.run_svn(None, 'status', '-u')
- if err_output:
- return 1
+ # The bug fixed in revision 3686 was a seg fault. We don't have a
+ # reliable way to detect a seg fault here, since we haven't dealt
+ # with the popen2{Popen3,Popen4} mess in Python yet (the latter two
+ # are classes within the first, which is a module, and the Popen3
+ # class is not the same as os.popen3(). Got that?) See the Python
+ # docs for details; in the meantime, no output means there was a
+ # problem.
+ for line in output:
+ if line.find('newfile') != -1:
+ break;
+ else:
+ raise svntest.Failure
- # The bug fixed in revision 3686 was a seg fault. We don't have a
- # reliable way to detect a seg fault here, since we haven't dealt
- # with the popen2{Popen3,Popen4} mess in Python yet (the latter two
- # are classes within the first, which is a module, and the Popen3
- # class is not the same as os.popen3(). Got that?) See the Python
- # docs for details; in the meantime, no output means there was a
- # problem.
- for line in stat_output:
- if line.find('newfile') != -1:
- break;
- else:
- return 1
+ finally:
+ os.chdir(was_cwd)
- os.chdir(was_cwd)
-
- return 0
-
-
#----------------------------------------------------------------------
def status_for_unignored_file(sbox):
"status for unignored file and directory"
sbox.build()
-
wc_dir = sbox.wc_dir
+
was_cwd = os.getcwd()
os.chdir(wc_dir)
-
try:
svntest.main.file_append('newfile', 'this is a new file')
os.makedirs('newdir')
@@ -374,13 +342,12 @@
os.chdir(wc_dir)
try:
- stat_output, err_output = svntest.main.run_svn(None, 'status',
- 'nonexistent-file')
- if err_output:
- raise svntest.Failure
+ output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'status',
+ 'nonexistent-file')
# there should *not* be a status line printed for the nonexistent file
- for line in stat_output:
+ for line in output:
if re.match(" +nonexistent-file", line):
raise svntest.Failure
@@ -417,10 +384,9 @@
# any issue for this bug, so this comment and the thread are your
# audit trail :-).
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
other_wc = sbox.add_wc_path('other')
svntest.actions.duplicate_dir(wc_dir, other_wc)
@@ -431,7 +397,6 @@
svntest.main.file_append('crontab.root', 'New file crontab.root.\n')
svntest.main.run_svn(None, 'add', 'crontab.root')
svntest.main.run_svn(None, 'ci', '-m', 'log msg')
-
os.chdir(was_cwd)
os.chdir(other_wc)
svntest.main.run_svn(None, 'up')
@@ -445,18 +410,15 @@
# the -v flag, which we don't want, as this bug never appeared when
# -v was passed. So we run status by hand:
os.chdir(was_cwd)
- out, err = svntest.main.run_svn(None, 'status', '-u', other_wc)
- if err:
- return 1
+ out, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'status', '-u', other_wc)
- saw_it = 0
for line in out:
if re.match("\\s+\\*.*crontab\\.root$", line):
- saw_it = 1
+ break
+ else:
+ raise svntest.Failure
- return not saw_it
-
-
#----------------------------------------------------------------------
def status_uninvited_parent_directory(sbox):
@@ -485,10 +447,9 @@
# reverted because it caused other status problems (see the test
# status_file_needs_update(), which fails when 4181 is present).
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
other_wc = sbox.add_wc_path('other')
svntest.actions.duplicate_dir(wc_dir, other_wc)
@@ -510,27 +471,21 @@
# We don't want a full status tree here, just one line (or two, if
# the bug is present). So run status by hand:
os.chdir(was_cwd)
- out, err = svntest.main.run_svn(None, 'status', '-u',
- os.path.join(other_wc, 'newfile'))
- if err:
- return 1
+ out, err = svntest.actions.run_and_verify_svn(
+ None, None, [],
+ 'status', '-u', os.path.join(other_wc, 'newfile'))
- saw_uninvited_parent_dir = 0
for line in out:
# The "/?" is just to allow for an optional trailing slash.
if re.match("\\s+\\*.*\.other/?$", line):
- saw_uninvited_parent_dir = 1
+ raise svntest.Failure
- return saw_uninvited_parent_dir
-
-
def status_on_forward_deletion(sbox):
"status -u on working copy deleted in HEAD"
# See issue #1289.
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
top_url = svntest.main.current_repo_url
A_url = top_url + '/A'
@@ -548,9 +503,7 @@
# svn: Working copy not locked
# svn: directory '' not locked
#
- out, err = svntest.main.run_svn(None, 'st', '-u', 'wc')
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'st', '-u', 'wc')
# Try again another way; the error would look like this:
#
@@ -564,9 +517,7 @@
#
svntest.main.safe_rmtree('wc')
svntest.main.run_svn(None, 'co', '-r1', A_url, 'wc')
- out, err = svntest.main.run_svn(None, 'st', '-u', 'wc')
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'st', '-u', 'wc')
finally:
os.chdir(saved_cwd)
Index: svnversion_tests.py
===================================================================
--- svnversion_tests.py (revision 6929)
+++ svnversion_tests.py (working copy)
@@ -69,10 +69,9 @@
if errput or output != [ "1:2\n" ]:
raise svntest.Failure
- output, errput = svntest.main.run_svn(None, 'propset', 'blue', 'azul',
- os.path.join(wc_dir, 'A', 'mu'))
- if errput:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'blue', 'azul',
+ os.path.join(wc_dir, 'A', 'mu'))
# Prop modified, mixed
output, errput = svntest.main.run_svnversion(wc_dir, repo_url)
Index: svnadmin_tests.py
===================================================================
--- svnadmin_tests.py (revision 6929)
+++ svnadmin_tests.py (working copy)
@@ -102,7 +102,6 @@
"'svnadmin createtxn'"
sbox.build()
-
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
@@ -121,7 +120,6 @@
"'svnadmin rmtxns'"
sbox.build()
-
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
@@ -149,6 +147,7 @@
def dump_copied_dir(sbox):
"'svnadmin dump' on copied directory"
+
sbox.build()
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
@@ -170,6 +169,7 @@
def dump_move_dir_modify_child(sbox):
"'svnadmin dump' on modified child of copied dir"
+
sbox.build()
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
@@ -181,32 +181,30 @@
svntest.main.run_svn(None, 'ci', wc_dir, '--quiet', '-m', 'log msg')
output, errput = svntest.main.run_svnadmin("dump", repo_dir)
- if svntest.actions.compare_and_display_lines(
+ svntest.actions.compare_and_display_lines(
"Output of 'svnadmin dump' is unexpected.",
'STDERR', ["* Dumped revision 0.\n",
"* Dumped revision 1.\n",
- "* Dumped revision 2.\n"], errput):
- raise svntest.Failure
+ "* Dumped revision 2.\n"], errput)
output, errput = svntest.main.run_svnadmin("dump", "-r", "0:HEAD", repo_dir)
- if svntest.actions.compare_and_display_lines(
+ svntest.actions.compare_and_display_lines(
"Output of 'svnadmin dump' is unexpected.",
'STDERR', ["* Dumped revision 0.\n",
"* Dumped revision 1.\n",
- "* Dumped revision 2.\n"], errput):
- raise svntest.Failure
+ "* Dumped revision 2.\n"], errput)
#----------------------------------------------------------------------
def dump_quiet(sbox):
"'svnadmin dump --quiet'"
+
sbox.build()
output, errput = svntest.main.run_svnadmin("dump", sbox.repo_dir, '--quiet')
- if svntest.actions.compare_and_display_lines(
+ svntest.actions.compare_and_display_lines(
"Output of 'svnadmin dump --quiet' is unexpected.",
- 'STDERR', [], errput):
- raise svntest.Failure
+ 'STDERR', [], errput)
########################################################################
Index: prop_tests.py
===================================================================
--- prop_tests.py (revision 6929)
+++ prop_tests.py (working copy)
@@ -53,7 +53,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Add properties to one file and one directory
@@ -97,7 +96,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a property to a file and a directory
@@ -135,7 +133,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy
@@ -199,7 +196,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
iota_path = os.path.join(wc_dir, 'iota')
@@ -272,7 +268,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a property to a file
@@ -324,7 +319,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a property to a file and a directory
@@ -394,7 +388,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a property to two files
@@ -453,7 +446,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a property to two files
@@ -521,8 +513,8 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
+
A_path = os.path.join(wc_dir, 'A')
E_path = os.path.join(wc_dir, 'A', 'B', 'E')
iota_path = os.path.join(wc_dir, 'iota')
@@ -622,7 +614,6 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
orig_mime_type = 'image/fake_image'
@@ -709,8 +700,8 @@
# Bootstrap
sbox.build()
-
wc_dir = sbox.wc_dir
+
A_path = os.path.join(wc_dir, 'A')
B_path = os.path.join(wc_dir, 'A', 'B')
iota_path = os.path.join(wc_dir, 'iota')
Index: export_tests.py
===================================================================
--- export_tests.py (revision 6929)
+++ export_tests.py (working copy)
@@ -40,13 +40,13 @@
def export_empty_directory(sbox):
"export an empty directory"
sbox.build()
+
svntest.main.safe_rmtree(sbox.wc_dir)
export_target = sbox.wc_dir
empty_dir_url = svntest.main.current_repo_url + '/A/C'
svntest.main.run_svn(None, 'export', empty_dir_url, export_target)
if not os.path.exists(export_target):
raise svntest.Failure
- return 0
########################################################################
Index: basic_tests.py
===================================================================
--- basic_tests.py (revision 6929)
+++ basic_tests.py (working copy)
@@ -21,7 +21,7 @@
# Our testing module
import svntest
-from svntest import wc
+from svntest import wc, SVNAnyOutput
# (abbreviation)
Skip = svntest.testcase.Skip
@@ -52,20 +52,19 @@
"basic checkout of a wc"
sbox.build()
-
wc_dir = sbox.wc_dir
# Checkout of a different URL into a working copy fails
A_url = svntest.main.current_repo_url + '/A'
- stdout_lines, stderr_lines = svntest.main.run_svn ("Obstructed update",
- 'co', A_url,
- '--username',
- svntest.main.wc_author,
- '--password',
- svntest.main.wc_passwd,
- wc_dir)
- if not stderr_lines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "No error where some expected",
+ None, SVNAnyOutput,
+# "Obstructed update",
+ 'co', A_url,
+ '--username',
+ svntest.main.wc_author,
+ '--password',
+ svntest.main.wc_passwd,
+ wc_dir)
# Make some changes to the working copy
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -114,7 +113,6 @@
"basic status command"
sbox.build()
-
wc_dir = sbox.wc_dir
# Created expected output tree for 'svn status'
@@ -128,7 +126,6 @@
"basic commit command"
sbox.build()
-
wc_dir = sbox.wc_dir
# Make a couple of local mods to files
@@ -164,7 +161,6 @@
"basic update command"
sbox.build()
-
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy
@@ -223,6 +219,7 @@
"basic mkdir URL"
sbox.build()
+
Y_url = svntest.main.current_repo_url + '/Y'
Y_Z_url = svntest.main.current_repo_url + '/Y/Z'
@@ -270,7 +267,6 @@
## Here we go...
sbox.build()
-
wc_dir = sbox.wc_dir
# Make the "other" working copy
@@ -379,7 +375,6 @@
"receiving text merges as part of an update"
sbox.build()
-
wc_dir = sbox.wc_dir
# First change the greek tree to make two files 10 lines long
@@ -490,7 +485,6 @@
"basic conflict creation and resolution"
sbox.build()
-
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy
@@ -603,7 +597,6 @@
"basic cleanup command"
sbox.build()
-
wc_dir = sbox.wc_dir
# Lock some directories.
@@ -636,7 +629,6 @@
"basic revert command"
sbox.build()
-
wc_dir = sbox.wc_dir
# Modify some files.
@@ -760,7 +752,6 @@
"basic switch command"
sbox.build()
-
wc_dir = sbox.wc_dir
### Switch the file `iota' to `A/D/gamma'.
@@ -841,7 +832,6 @@
expected_disk,
expected_status)
-
#----------------------------------------------------------------------
def verify_file_deleted(message, path):
@@ -853,7 +843,6 @@
###TODO We should raise a less generic error here. which?
raise Failure
-
def can_cd_to_dir(path):
current_dir = os.getcwd();
try: os.chdir(path)
@@ -865,7 +854,6 @@
"basic delete command"
sbox.build()
-
wc_dir = sbox.wc_dir
# modify text of chi
@@ -918,31 +906,31 @@
svntest.actions.run_and_verify_status(wc_dir, expected_output)
# 'svn rm' that should fail
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', chi_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', chi_parent_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', rho_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', rho_parent_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', F_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', F_parent_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', sigma_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', sigma_parent_path)
- svntest.actions.run_and_verify_svn(None, None, svntest.SVNAnyOutput,
+ svntest.actions.run_and_verify_svn(None, None, SVNAnyOutput,
'rm', X_path)
# check status has not changed
@@ -1065,7 +1053,6 @@
"checkout a path no longer in HEAD"
sbox.build()
-
wc_dir = sbox.wc_dir
# Delete A/D and commit.
@@ -1122,7 +1109,7 @@
# Try and fail to create a directory (file scheduled for deletion)
svntest.actions.run_and_verify_svn('Cannot change node kind',
- None, svntest.SVNAnyOutput,
+ None, SVNAnyOutput,
'mkdir', gamma_path)
# Status is unchanged
@@ -1142,7 +1129,7 @@
# Try and fail to create a directory (file deleted)
svntest.actions.run_and_verify_svn('Cannot change node kind',
- None, svntest.SVNAnyOutput,
+ None, SVNAnyOutput,
'mkdir', gamma_path)
# Status is unchanged
@@ -1166,7 +1153,6 @@
"basic import of single new file"
sbox.build()
-
wc_dir = sbox.wc_dir
# create a new directory with files of various permissions
@@ -1229,7 +1215,6 @@
"basic import of executable files"
sbox.build()
-
wc_dir = sbox.wc_dir
# create a new directory with files of various permissions
@@ -1313,7 +1298,6 @@
"basic cat of files"
sbox.build()
-
wc_dir = sbox.wc_dir
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -1402,7 +1386,7 @@
# the root directory, the test could fail, and that's just too bad :-).
output, errput = svntest.actions.run_and_verify_svn(
- None, None, svntest.SVNAnyOutput,
+ None, None, SVNAnyOutput,
'log', 'file:///nonexistent_path')
for line in errput:
@@ -1420,8 +1404,8 @@
"basic auth caching"
sbox.build()
-
wc_dir = sbox.wc_dir
+
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
@@ -1468,7 +1452,6 @@
# svn_wc_is_ignored function.
sbox.build()
-
wc_dir = sbox.wc_dir
dir_path = os.path.join(wc_dir, 'dir')
@@ -1479,11 +1462,10 @@
open(foo_c_path, 'w')
open(foo_o_path, 'w')
- (output, errput) = svntest.main.run_svn (None, 'add', dir_path)
+ output, err = svntest.actions.run_and_verify_svn(
+ "No output where some expected", SVNAnyOutput, None,
+ 'add', dir_path)
- if not output:
- raise svntest.actions.SVNUnexpectedOutput
-
for line in output:
# If we see foo.o in the add output, fail the test.
if re.match(r'^A\s+.*foo.o$', line):
@@ -1507,7 +1489,6 @@
# svn_wc_is_ignored function.
sbox.build()
-
wc_dir = sbox.wc_dir
dir_path = os.path.join(wc_dir, 'dir')
@@ -1521,7 +1502,6 @@
# import new dir into repository
url = os.path.join(svntest.main.current_repo_url, 'dir')
-
output, errput = svntest.actions.run_and_verify_svn(
None, None, [], 'import',
'--username', svntest.main.wc_author,
@@ -1567,7 +1547,6 @@
None, None, None,
None, None, 1)
-
def uri_syntax(sbox):
'make sure URI syntaxes are parsed correctly'
@@ -1579,13 +1558,13 @@
url = svntest.main.current_repo_url
schema = url[:string.find(url, ":")]
url = schema + "://some_nonexistent_host_with_no_trailing_slash"
- output, errput = svntest.main.run_svn (1, 'co', url, wc_dir)
+ svntest.actions.run_and_verify_svn( "No error where one expected",
+ None, SVNAnyOutput,
+ 'co', url, wc_dir)
# Different RA layers give different errors for failed checkouts;
# for us, it's only important to know that it _did_ error (as
# opposed to segfaulting), so we don't examine the error text.
- if not errput:
- raise svntest.Failure
#----------------------------------------------------------------------
Index: log_tests.py
===================================================================
--- log_tests.py (revision 6929)
+++ log_tests.py (working copy)
@@ -21,6 +21,7 @@
# Our testing module
import svntest
+from svntest import SVNAnyOutput
######################################################################
@@ -67,7 +68,6 @@
global max_revision
sbox.build()
-
wc_path = sbox.wc_dir
# Now we have a repos and wc at revision 1.
@@ -315,25 +315,20 @@
guarantee_repos_and_wc(sbox)
- result = 0
-
was_cwd = os.getcwd()
os.chdir(sbox.wc_dir)
- output, errput = svntest.main.run_svn (None, 'log')
+ try:
+ output, err = svntest.actions.run_and_verify_svn ("", None, [], 'log')
- if errput:
+ log_chain = parse_log_output (output)
+ if check_log_chain (log_chain, range(max_revision, 1 - 1, -1)):
+ raise svntest.Failure
+
+ finally:
os.chdir (was_cwd)
- raise svntest.Failure
- log_chain = parse_log_output (output)
- if check_log_chain (log_chain, range(max_revision, 1 - 1, -1)):
- os.chdir (was_cwd)
- raise svntest.Failure
- os.chdir (was_cwd)
-
-
#----------------------------------------------------------------------
def versioned_log_message(sbox):
"'svn commit -F foo' when foo is a versioned file"
@@ -343,50 +338,37 @@
was_cwd = os.getcwd ()
os.chdir (sbox.wc_dir)
- iota_path = os.path.join ('iota')
- mu_path = os.path.join ('A', 'mu')
- log_path = os.path.join ('A', 'D', 'H', 'omega')
+ try:
+ iota_path = os.path.join ('iota')
+ mu_path = os.path.join ('A', 'mu')
+ log_path = os.path.join ('A', 'D', 'H', 'omega')
+
+ svntest.main.file_append (iota_path, "2")
+
+ # try to check in a change using a versioned file as your log entry.
+ svntest.actions.run_and_verify_svn( "", None, SVNAnyOutput,
+ 'ci', '-F', log_path)
- svntest.main.file_append (iota_path, "2")
+ # force it. should not produce any errors.
+ svntest.actions.run_and_verify_svn ( "", None, [],
+ 'ci', '-F', log_path, '--force-log')
- # try to check in a change using a versioned file as your log entry.
- stdout_lines, stderr_lines = svntest.main.run_svn (1, 'ci', '-F', log_path)
+ svntest.main.file_append (mu_path, "2")
- # make sure we failed.
- if (len(stderr_lines) <= 0):
- os.chdir (was_cwd)
- raise svntest.Failure
+ # try the same thing, but specifying the file to commit explicitly.
+ svntest.actions.run_and_verify_svn( "", None, SVNAnyOutput,
+ 'ci', '-F', log_path, mu_path)
- # force it. should not produce any errors.
- stdout_lines, stderr_lines = \
- svntest.main.run_svn (None, 'ci', '-F', log_path, '--force-log')
+ # force it... should succeed.
+ svntest.actions.run_and_verify_svn ( "", None, [],
+ 'ci',
+ '-F', log_path,
+ '--force-log', mu_path)
- if (len(stderr_lines) != 0):
+ finally:
os.chdir (was_cwd)
- raise svntest.Failure
- svntest.main.file_append (mu_path, "2")
- # try the same thing, but specifying the file to commit explicitly.
- stdout_lines, stderr_lines = \
- svntest.main.run_svn (1, 'ci', '-F', log_path, mu_path)
-
- # make sure it failed.
- if (len(stderr_lines) <= 0):
- os.chdir (was_cwd)
- raise svntest.Failure
-
- # force it... should succeed.
- stdout_lines, stderr_lines = \
- svntest.main.run_svn (None, 'ci', '-F', log_path, '--force-log', mu_path)
-
- if (len(stderr_lines) != 0):
- os.chdir (was_cwd)
- raise svntest.Failure
-
- os.chdir (was_cwd)
-
-
#----------------------------------------------------------------------
def log_with_empty_repos(sbox):
"'svn log' on an empty repository"
@@ -397,16 +379,12 @@
svntest.main.create_repos(sbox.repo_dir)
svntest.main.set_repos_paths(sbox.repo_dir)
- stdout_lines, stderr_lines = svntest.main.run_svn\
- (None, 'log',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- svntest.main.current_repo_url)
+ svntest.actions.run_and_verify_svn ( "", None, [],
+ 'log',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ svntest.main.current_repo_url)
- if (len(stderr_lines) != 0):
- raise svntest.Failure
-
-
#----------------------------------------------------------------------
def log_where_nothing_changed(sbox):
"'svn log -rN some_dir_unchanged_in_N'"
@@ -438,53 +416,43 @@
sbox.build()
# This used to the segfault the server.
- stdout_lines, stderr_lines = svntest.main.run_svn(0, 'log', '-v',
- '-r', '1:0', sbox.wc_dir)
- if stderr_lines:
- raise svntest.Failure
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'log', '-v',
+ '-r', '1:0', sbox.wc_dir)
-
#----------------------------------------------------------------------
def log_with_path_args(sbox):
"'svn log', no args, top of wc"
guarantee_repos_and_wc(sbox)
- result = 0
-
was_cwd = os.getcwd()
os.chdir(sbox.wc_dir)
- output, errput = svntest.main.run_svn (None, 'log',
- svntest.main.current_repo_url,
- 'A/D/G', 'A/D/H')
+ try:
+ output, err = svntest.actions.run_and_verify_svn(
+ None, None, [],
+ 'log', svntest.main.current_repo_url, 'A/D/G', 'A/D/H')
- if errput:
- os.chdir (was_cwd)
- raise svntest.Failure
+ log_chain = parse_log_output (output)
+ if check_log_chain (log_chain, [8, 6, 5, 3, 1]):
+ raise svntest.Failure
- log_chain = parse_log_output (output)
- if check_log_chain (log_chain, [8, 6, 5, 3, 1]):
+ finally:
os.chdir (was_cwd)
- raise svntest.Failure
- os.chdir (was_cwd)
-
#----------------------------------------------------------------------
def url_missing_in_head(sbox):
"'svn log -r N URL' when URL is not in HEAD "
guarantee_repos_and_wc(sbox)
- result = 0
-
my_url = svntest.main.current_repo_url + "/A/B/E/alpha"
- output, errput = svntest.main.run_svn (None, 'log', '-r', '8', my_url)
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'log', '-r', '8', my_url)
- if errput:
- os.chdir (was_cwd)
- raise svntest.Failure
-
#----------------------------------------------------------------------
def log_through_copyfrom_history(sbox):
"'svn log TGT' with copyfrom history"
@@ -516,44 +484,38 @@
svntest.actions.run_and_verify_svn (None, None, [], 'up', wc_dir)
# The full log for mu2 is relatively unsurprising
- output, errput = svntest.main.run_svn (None, 'log', mu2_path)
- if errput:
- raise svntest.Failure
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'log', mu2_path)
log_chain = parse_log_output (output)
if check_log_chain (log_chain, [6, 5, 2, 1]):
raise svntest.Failure
- output, errput = svntest.main.run_svn (None, 'log', mu2_URL)
- if errput:
- raise svntest.Failure
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'log', mu2_URL)
log_chain = parse_log_output (output)
if check_log_chain (log_chain, [6, 5, 2, 1]):
raise svntest.Failure
# First "oddity", the full log for mu2 doesn't include r3, but the -r3
# log works!
- output, errput = svntest.main.run_svn (None, 'log', '-r', '3', mu2_path)
- if errput:
- raise svntest.Failure
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'log', '-r', '3', mu2_path)
log_chain = parse_log_output (output)
if check_log_chain (log_chain, [3]):
raise svntest.Failure
- output, errput = svntest.main.run_svn (None, 'log', '-r', '3', mu2_URL)
- if errput:
- raise svntest.Failure
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'log', '-r', '3', mu2_URL)
log_chain = parse_log_output (output)
if check_log_chain (log_chain, [3]):
raise svntest.Failure
# Second "oddity", the full log for mu2 includes r2, but the -r2 log
# fails!
- output, errput = svntest.main.run_svn (1, 'log', '-r', '2', mu2_path)
- if not errput or output:
- raise svntest.Failure
- output, errput = svntest.main.run_svn (1, 'log', '-r', '2', mu2_URL)
- if not errput or output:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn (None, [], SVNAnyOutput,
+ 'log', '-r', '2', mu2_path)
+ svntest.actions.run_and_verify_svn (None, [], SVNAnyOutput,
+ 'log', '-r', '2', mu2_URL)
########################################################################
# Run the tests
Index: update_tests.py
===================================================================
--- update_tests.py (revision 6929)
+++ update_tests.py (working copy)
@@ -72,7 +72,6 @@
"update a locally-modified binary file"
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a binary file to the project.
@@ -181,15 +180,12 @@
print extra_files
raise svntest.Failure
- return 0
-
#----------------------------------------------------------------------
def update_binary_file_2(sbox):
"update to an old revision of a binary files"
sbox.build()
-
wc_dir = sbox.wc_dir
# Suck up contents of a test .png file.
@@ -290,13 +286,13 @@
# Do an update from revision 2 and make sure that our binary file
# gets reverted to its original contents.
- return svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- expected_status,
- None, None, None,
- None, None, 1,
- '-r', '2', wc_dir)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status,
+ None, None, None,
+ None, None, 1,
+ '-r', '2', wc_dir)
#----------------------------------------------------------------------
@@ -305,7 +301,6 @@
"update missing items (by name) in working copy"
sbox.build()
-
wc_dir = sbox.wc_dir
# Remove some files and dirs from the working copy.
@@ -344,13 +339,13 @@
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
# Do the update and check the results in three ways.
- return svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- expected_status,
- None, None, None, None, None, 0,
- mu_path, rho_path,
- E_path, H_path)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status,
+ None, None, None, None, None, 0,
+ mu_path, rho_path,
+ E_path, H_path)
#----------------------------------------------------------------------
@@ -358,7 +353,6 @@
"update should not munge adds or replaces"
sbox.build()
-
wc_dir = sbox.wc_dir
# Commit something so there's actually a new revision to update to.
@@ -402,10 +396,10 @@
})
# Do the update and check the results in three ways.
- return svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- expected_status)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status)
#----------------------------------------------------------------------
@@ -414,7 +408,6 @@
"update to revision 0"
sbox.build()
-
wc_dir = sbox.wc_dir
iota_path = os.path.join(wc_dir, 'iota')
@@ -430,14 +423,13 @@
expected_disk = svntest.wc.State(wc_dir, { })
# Do the update and check the results.
- return svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- None, None,
- None, None, None, None, 0,
- '-r', '0', wc_dir)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ None, None,
+ None, None, None, None, 0,
+ '-r', '0', wc_dir)
-
#----------------------------------------------------------------------
def receive_overlapping_same_change(sbox):
@@ -462,7 +454,6 @@
### the two modifications are identical.
sbox.build()
-
wc_dir = sbox.wc_dir
# Modify iota.
@@ -503,10 +494,10 @@
expected_status = svntest.actions.get_virginal_state(other_wc, 2)
# Do the update and check the results in three ways.
- return svntest.actions.run_and_verify_update(other_wc,
- expected_output,
- expected_disk,
- expected_status)
+ svntest.actions.run_and_verify_update(other_wc,
+ expected_output,
+ expected_disk,
+ expected_status)
#----------------------------------------------------------------------
@@ -530,7 +521,6 @@
"delete files and update to resolve text conflicts"
sbox.build()
-
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy
@@ -634,8 +624,7 @@
expected_status = svntest.actions.get_virginal_state(wc_backup, 2)
expected_status.tweak('A/D/G/rho', status=' C')
- return svntest.actions.run_and_verify_status (wc_backup,
- expected_status)
+ svntest.actions.run_and_verify_status(wc_backup, expected_status)
#----------------------------------------------------------------------
@@ -654,42 +643,29 @@
"update that deletes modified files"
sbox.build()
-
wc_dir = sbox.wc_dir
# Delete a file
alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
- stdout_lines, stderr_lines = svntest.main.run_svn(None, 'rm', alpha_path)
- if len(stderr_lines) != 0:
- print "deleting alpha failed"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "deleting alpha failed", None, [],
+ 'rm', alpha_path)
# Delete a directory containing files
G_path = os.path.join(wc_dir, 'A', 'D', 'G')
- stdout_lines, stderr_lines = svntest.main.run_svn(None, 'rm', G_path)
- if len(stderr_lines) != 0:
- print "deleting G failed"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "deleting G failed", None, [],
+ 'rm', G_path)
# Commit
- stdout_lines, stderr_lines = svntest.main.run_svn(None, 'ci',
- '-m', 'log msg', wc_dir)
- if len(stderr_lines) != 0:
- print "committing deletes failed"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "committing deletes failed", None, [],
+ 'ci', '-m', 'log msg', wc_dir)
# ### Update before backdating to avoid obstructed update error for G
- stdout_lines, stderr_lines = svntest.main.run_svn(None, 'up', wc_dir)
- if len(stderr_lines) != 0:
- print "updating after commit failed"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "updating after commit failed", None, [],
+ 'up', wc_dir)
# Backdate to restore deleted items
- stdout_lines, stderr_lines = svntest.main.run_svn(None, 'up', '-r', '1',
- wc_dir)
- if len(stderr_lines) != 0:
- print "backdating failed"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "backdating failed", None, [],
+ 'up', '-r', '1', wc_dir)
# Modify the file to be deleted, and a file in the directory to be deleted
svntest.main.file_append(alpha_path, 'appended alpha text')
@@ -703,10 +679,8 @@
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Update that 'deletes' modified files
- stdout_lines, stderr_lines = svntest.main.run_svn(None, 'up', wc_dir)
- if len(stderr_lines) != 0:
- print "updating failed"
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "updating failed", None, [],
+ 'up', wc_dir)
# Modified files should still exist but are now unversioned
expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
@@ -728,15 +702,12 @@
"update after add/rm of deleted state"
sbox.build()
-
wc_dir = sbox.wc_dir
# Delete a file and directory from WC
alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
F_path = os.path.join(wc_dir, 'A', 'B', 'F')
- outlines, errlines = svntest.main.run_svn(None, 'rm', alpha_path, F_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'rm', alpha_path, F_path)
# Commit deletion
expected_output = svntest.wc.State(wc_dir, {
@@ -753,13 +724,10 @@
# alpha and F are now in state "deleted", next we add a new ones
svntest.main.file_append(alpha_path, "new alpha")
- outlines, errlines = svntest.main.run_svn(None, 'add', alpha_path)
- if errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(None, 'mkdir', F_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'add', alpha_path)
+ svntest.actions.run_and_verify_svn(None, None, [], 'mkdir', F_path)
+
# New alpha and F should be in add state A
expected_status.add({
'A/B/E/alpha' : Item(status='A ', wc_rev=0, repos_rev=2),
@@ -768,9 +736,11 @@
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Forced removal of new alpha and F must restore "deleted" state
- outlines, errlines = svntest.main.run_svn(None, 'rm', '--force',
- alpha_path, F_path)
- if errlines or os.path.exists(alpha_path) or os.path.exists(F_path):
+
+ outlines, errlines = svntest.actions.run_and_verify_svn(None, None, [],
+ 'rm', '--force',
+ alpha_path, F_path)
+ if os.path.exists(alpha_path) or os.path.exists(F_path):
raise svntest.Failure
# "deleted" state is not visible in status
@@ -779,9 +749,7 @@
# Although parent dir is already at rev 1, the "deleted" state will cause
# alpha and F to be restored in the WC when updated to rev 1
- outlines, errlines = svntest.main.run_svn(None, 'up', '-r', '1', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', '-r', '1', wc_dir)
expected_status.add({
'A/B/E/alpha' : Item(status=' ', wc_rev=1, repos_rev=2),
'A/B/F' : Item(status=' ', wc_rev=1, repos_rev=2),
@@ -795,14 +763,11 @@
"update that replaces a directory"
sbox.build()
-
wc_dir = sbox.wc_dir
# Delete a directory
F_path = os.path.join(wc_dir, 'A', 'B', 'F')
- outlines, errlines = svntest.main.run_svn(None, 'rm', F_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'rm', F_path)
# Commit deletion
expected_output = svntest.wc.State(wc_dir, {
@@ -816,9 +781,7 @@
None, None, None, None, wc_dir)
# Add replacement directory
- outlines, errlines = svntest.main.run_svn(None, 'mkdir', F_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'mkdir', F_path)
# Commit addition
expected_output = svntest.wc.State(wc_dir, {
@@ -857,9 +820,7 @@
# '-r', '1', wc_dir)
# Update to revision 1 replaces the directory
- outlines, errlines = svntest.main.run_svn(None, 'up', '-r', '1', wc_dir)
- if errlines:
- return 1
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', '-r', '1', wc_dir)
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak(repos_rev=3)
svntest.actions.run_and_verify_status(wc_dir, expected_status)
@@ -870,7 +831,6 @@
"update with explicit file target"
sbox.build()
-
wc_dir = sbox.wc_dir
expected_disk = svntest.main.greek_state.copy()
@@ -893,13 +853,14 @@
# At one stage 'svn up file' failed with a parent lock error
was_cwd = os.getcwd()
os.chdir(os.path.join(wc_dir, 'A'))
- ### Can't get run_and_verify_update to work having done the chdir.
- outlines, errlines = svntest.main.run_svn(None, 'up', '-r', '1', 'mu')
- os.chdir(was_cwd)
- if errlines:
- print "update failed"
- raise svntest.Failure
+ try:
+ ### Can't get run_and_verify_update to work having done the chdir.
+ svntest.actions.run_and_verify_svn("update failed", None, [],
+ 'up', '-r', '1', 'mu')
+ finally:
+ os.chdir(was_cwd)
+
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak(repos_rev=2)
svntest.actions.run_and_verify_status(wc_dir, expected_status)
@@ -909,8 +870,8 @@
"receive prop update to file scheduled for deletion"
sbox.build()
-
wc_dir = sbox.wc_dir
+
other_wc = sbox.add_wc_path('other')
# Make the "other" working copy.
@@ -952,20 +913,21 @@
expected_status.tweak('iota', status='D ')
# Do the update and check the results in three ways.
- return svntest.actions.run_and_verify_update(other_wc,
- expected_output,
- expected_disk,
- expected_status)
- return 0
+ svntest.actions.run_and_verify_update(other_wc,
+ expected_output,
+ expected_disk,
+ expected_status)
#----------------------------------------------------------------------
def update_receive_illegal_name(sbox):
"bail when receive a file or dir named .svn"
+
sbox.build()
+ wc_dir = sbox.wc_dir
# This tests the revision 4334 fix for issue #1068.
- wc_dir = sbox.wc_dir
+
legal_url = svntest.main.current_repo_url + '/A/D/G/svn'
illegal_url = svntest.main.current_repo_url + '/A/D/G/.svn'
# Ha! The client doesn't allow us to mkdir a '.svn' but it does
@@ -989,8 +951,8 @@
"update missing dir to rev in which it is absent"
sbox.build()
-
wc_dir = sbox.wc_dir
+
E_path = os.path.join(wc_dir, 'A', 'B', 'E')
H_path = os.path.join(wc_dir, 'A', 'D', 'H')
@@ -1058,7 +1020,6 @@
"another \"hudson\" problem: updates that delete"
sbox.build()
-
wc_dir = sbox.wc_dir
# Delete/commit gamma thus making it 'deleted'
@@ -1077,11 +1038,10 @@
wc_dir)
# Delete directory G from the repository
- out, err = svntest.main.run_svn(None, 'rm',
- '-m', 'log msg',
- svntest.main.current_repo_url + '/A/D/G')
- if out != ['\n', 'Committed revision 3.\n']:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None,
+ ['\n', 'Committed revision 3.\n'], None,
+ 'rm', '-m', 'log msg',
+ svntest.main.current_repo_url + '/A/D/G')
# Remove corresponding tree from working copy
G_path = os.path.join(wc_dir, 'A', 'D', 'G')
@@ -1092,9 +1052,10 @@
# Sigh, I can't get run_and_verify_update to work (but not because
# of issue 919 as far as I can tell)
- out, err = svntest.main.run_svn(None, 'up', G_path)
- if out != ['D '+G_path+'\n', 'Updated to revision 3.\n']:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None,
+ ['D '+G_path+'\n',
+ 'Updated to revision 3.\n'], None,
+ 'up', G_path)
# Both G and gamma should be 'deleted', update should produce no output
expected_output = svntest.wc.State(wc_dir, { })
@@ -1118,12 +1079,11 @@
wc_dir = sbox.wc_dir
# Create a new directory ("spacey dir") directly in repository
- out, err = svntest.main.run_svn(None, 'mkdir',
- '-m', 'log msg',
- svntest.main.current_repo_url
- + '/A/spacey%20dir')
- if out != ['\n', 'Committed revision 2.\n']:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None,
+ ['\n', 'Committed revision 2.\n'], None,
+ 'mkdir', '-m', 'log msg',
+ svntest.main.current_repo_url
+ + '/A/spacey%20dir')
# Update, and make sure ra_dav doesn't choke on the space.
expected_output = svntest.wc.State(wc_dir, {
@@ -1200,16 +1160,13 @@
# incomplete ("!" in status).
sbox.build()
wc_dir = sbox.wc_dir
+
C_url = svntest.main.current_repo_url + '/A/C'
svntest.main.safe_rmtree(wc_dir)
- out, err = svntest.main.run_svn(None, 'checkout', C_url, wc_dir)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'checkout', C_url, wc_dir)
- out, err = svntest.main.run_svn(None, 'status', wc_dir)
- if out or err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, [], [], 'status', wc_dir)
#----------------------------------------------------------------------
@@ -1222,7 +1179,6 @@
"update target till it's gone, then get it back"
sbox.build()
-
wc_dir = sbox.wc_dir
iota_path = os.path.join(wc_dir, 'iota')
Index: utf8_tests.py
===================================================================
--- utf8_tests.py (revision 6929)
+++ utf8_tests.py (working copy)
@@ -50,9 +50,7 @@
def basic_utf8_conversion(sbox):
"conversion of paths and logs to/from utf8"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make sure the test runs in an ISO-8859-1 environment. Otherwise,
@@ -70,24 +68,14 @@
# Create the new i18n file and schedule it for addition
svntest.main.file_append(os.path.join(wc_dir, i18n_filename), "hi")
- outlines, errlines = svntest.main.run_svn(None,
- 'add',
- os.path.join(wc_dir,
- i18n_filename))
- if errlines:
- print "Failed to schedule i18n filename for addition"
- return 1
+ svntest.actions.run_and_verify_svn(
+ "Failed to schedule i18n filename for addition", None, [],
+ 'add', os.path.join(wc_dir, i18n_filename))
- outlines, inlines = svntest.main.run_svn(None, # no error expected
- 'commit', '-m', i18n_logmsg,
- wc_dir)
- if errlines:
- print "Failed to commit i18n filename"
- return 1
+ svntest.actions.run_and_verify_svn(
+ "Failed to commit i18n filename", None, [],
+ 'commit', '-m', i18n_logmsg, wc_dir)
-
- return 0
-
# Here's how the test should really work:
# 1. sh LC_ALL=ISO-8859-1 svn commit <filename> -m "<logmsg>"
Index: trans_tests.py
===================================================================
--- trans_tests.py (revision 6929)
+++ trans_tests.py (working copy)
@@ -179,7 +179,6 @@
"commit new files with keywords active from birth"
sbox.build()
-
wc_dir = sbox.wc_dir
setup_working_copy (wc_dir)
@@ -315,7 +314,6 @@
"update modified file with eol-style 'native'"
sbox.build()
-
wc_dir = sbox.wc_dir
# Replace contents of rho and set eol translation to 'native'
@@ -438,14 +436,13 @@
'svn:eol-style', 'CRLF', foo_path)
# check 1: did new contents get transmitted?
- output, errput = svntest.main.run_svn(None, 'ci', '-m', 'log msg', foo_path)
- if errput:
- raise svntest.Failure
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
- if output != ["Sending " + foo_path + "\n",
- "Transmitting file data .\n",
- "Committed revision 3.\n"]:
- raise svntest.Failure
+ expected_output = ["Sending " + foo_path + "\n",
+ "Transmitting file data .\n",
+ "Committed revision 3.\n"]
+ # FIXME: see commend at _tweak_paths
+ expected_output = _tweak_paths(expected_output)
+ svntest.actions.run_and_verify_svn(None, expected_output, [],
+ 'ci', '-m', 'log msg', foo_path)
# check 2: do the files have the right contents now?
f = open(foo_path, 'rb')
@@ -547,9 +544,9 @@
# At one stage the keywords were expanded to values for the requested
# revision, not to those committed revision
- out, err = svntest.main.run_svn (None, 'cat', '-r', 'HEAD', mu_path)
- if err or out[1] != "$Rev: 2 $":
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn (None, [ "This is the file 'mu'.\n",
+ "$Rev: 2 $" ], None,
+ 'cat', '-r', 'HEAD', mu_path)
########################################################################
Index: commit_tests.py
===================================================================
--- commit_tests.py (revision 6929)
+++ commit_tests.py (working copy)
@@ -21,6 +21,7 @@
# Our testing module
import svntest
+from svntest import SVNAnyOutput
# (abbreviation)
Skip = svntest.testcase.Skip
@@ -117,10 +118,8 @@
expected_status = get_standard_state(wc_dir)
# Verify status -- all local mods should be present.
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
- return 0
######################################################################
# Tests
@@ -133,13 +132,11 @@
def commit_one_file(sbox):
"commit one file"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make standard slew of changes to working copy.
- if make_standard_slew_of_changes(wc_dir): return 1
+ make_standard_slew_of_changes(wc_dir)
omega_path = os.path.join(wc_dir, 'A', 'D', 'H', 'omega')
@@ -154,13 +151,13 @@
expected_status.tweak('A/D/H/omega', wc_rev=2, status=' ')
# Commit the one file.
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- omega_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ omega_path)
#----------------------------------------------------------------------
@@ -168,13 +165,11 @@
def commit_one_new_file(sbox):
"commit one newly added file"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make standard slew of changes to working copy.
- if make_standard_slew_of_changes(wc_dir): return 1
+ make_standard_slew_of_changes(wc_dir)
gloo_path = os.path.join(wc_dir, 'A', 'D', 'H', 'gloo')
@@ -189,13 +184,13 @@
expected_status.tweak('A/D/H/gloo', wc_rev=2, status=' ')
# Commit the one file.
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- gloo_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ gloo_path)
#----------------------------------------------------------------------
@@ -203,13 +198,11 @@
def commit_one_new_binary_file(sbox):
"commit one newly added binary file"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make standard slew of changes to working copy.
- if make_standard_slew_of_changes(wc_dir): return 1
+ make_standard_slew_of_changes(wc_dir)
gloo_path = os.path.join(wc_dir, 'A', 'D', 'H', 'gloo')
svntest.main.run_svn(None, 'propset', 'svn:mime-type',
@@ -226,13 +219,13 @@
expected_status.tweak('A/D/H/gloo', wc_rev=2, status=' ')
# Commit the one file.
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- gloo_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ gloo_path)
#----------------------------------------------------------------------
@@ -240,9 +233,7 @@
def commit_multiple_targets(sbox):
"commit multiple targets"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# This test will commit three targets: psi, B, and pi. In that order.
@@ -285,13 +276,13 @@
# A/D/G should still have a local property set, too.
expected_status.tweak('A/D/G', status=' M')
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- psi_path, AB_path, pi_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ psi_path, AB_path, pi_path)
#----------------------------------------------------------------------
@@ -299,9 +290,7 @@
def commit_multiple_targets_2(sbox):
"commit multiple targets, 2nd variation"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# This test will commit three targets: psi, B, omega and pi. In that order.
@@ -346,27 +335,25 @@
# A/D/G should still have a local property set, too.
expected_status.tweak('A/D/G', status=' M')
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- psi_path, AB_path,
- omega_path, pi_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ psi_path, AB_path,
+ omega_path, pi_path)
#----------------------------------------------------------------------
def commit_inclusive_dir(sbox):
"commit wc_dir/A/D -- includes D. (anchor=A, tgt=D)"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make standard slew of changes to working copy.
- if make_standard_slew_of_changes(wc_dir): return 1
+ make_standard_slew_of_changes(wc_dir)
# Create expected output tree.
D_path = os.path.join(wc_dir, 'A', 'D')
@@ -397,26 +384,24 @@
expected_status.tweak('A/D/H/chi', 'A/D/H/gloo', wc_rev=2, status=' ')
# Commit the one file.
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- D_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ D_path)
#----------------------------------------------------------------------
def commit_top_dir(sbox):
"commit wc_dir -- (anchor=wc_dir, tgt={})"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make standard slew of changes to working copy.
- if make_standard_slew_of_changes(wc_dir): return 1
+ make_standard_slew_of_changes(wc_dir)
# Create expected output tree.
top_path = wc_dir
@@ -462,13 +447,13 @@
'A/D/H/gloo', wc_rev=2, status=' ')
# Commit the one file.
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
#----------------------------------------------------------------------
@@ -489,23 +474,21 @@
def commit_unversioned_thing(sbox):
"committing unversioned object produces error"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Create an unversioned file in the wc.
svntest.main.file_append(os.path.join(wc_dir, 'blorg'), "nothing to see")
# Commit a non-existent file and *expect* failure:
- return svntest.actions.run_and_verify_commit (wc_dir,
- None,
- None,
- "Can't find an entry",
- None, None,
- None, None,
- os.path.join(wc_dir,'blorg'))
-
+ svntest.actions.run_and_verify_commit (wc_dir,
+ None,
+ None,
+ "Can't find an entry",
+ None, None,
+ None, None,
+ os.path.join(wc_dir,'blorg'))
+
#----------------------------------------------------------------------
# regression test for bug #391
@@ -513,9 +496,7 @@
def nested_dir_replacements(sbox):
"replace two nested dirs, verify empty contents"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Delete and re-add A/D (a replacement), and A/D/H (another replace).
@@ -546,8 +527,7 @@
'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi', 'A/D/gamma',
status='D ')
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Build expected post-commit trees:
@@ -569,13 +549,13 @@
'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi', 'A/D/gamma')
# Commit from the top of the working copy and verify output & status.
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
#----------------------------------------------------------------------
@@ -587,9 +567,7 @@
def hudson_part_1(sbox):
"hudson prob 1.0: delete file, commit, update"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Remove gamma from the working copy.
@@ -607,12 +585,11 @@
expected_status.remove('A/D/gamma')
# Commit the deletion of gamma and verify.
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# Now gamma should be marked as `deleted' under the hood. When we
# update, we should no output, and a perfect, virginal status list
@@ -629,10 +606,10 @@
expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
expected_status.remove('A/D/gamma')
- return svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- expected_status)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status)
#----------------------------------------------------------------------
@@ -643,9 +620,7 @@
def hudson_part_1_variation_1(sbox):
"hudson prob 1.1: delete dir, commit, update"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Remove H from the working copy.
@@ -663,12 +638,11 @@
expected_status.remove('A/D/H', 'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi')
# Commit the deletion of H and verify.
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# Now H should be marked as `deleted' under the hood. When we
# update, we should no see output, and a perfect, virginal status
@@ -685,10 +659,10 @@
expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
expected_status.remove('A/D/H', 'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi')
- return svntest.actions.run_and_verify_update(wc_dir,
- expected_output,
- expected_disk,
- expected_status)
+ svntest.actions.run_and_verify_update(wc_dir,
+ expected_output,
+ expected_disk,
+ expected_status)
#----------------------------------------------------------------------
@@ -699,9 +673,7 @@
def hudson_part_1_variation_2(sbox):
"hudson prob 1.2: delete, commit, re-add, commit"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Remove gamma from the working copy.
@@ -719,12 +691,11 @@
expected_status.remove('A/D/gamma')
# Commit the deletion of gamma and verify.
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# Now gamma should be marked as `deleted' under the hood.
# Go ahead and re-add gamma, so that is *also* scheduled for addition.
@@ -737,8 +708,7 @@
expected_status.tweak(wc_rev=1)
expected_status.tweak('A/D/gamma', wc_rev=0, status='A ')
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Create expected commit output.
expected_output = svntest.wc.State(wc_dir, {
@@ -750,11 +720,11 @@
expected_status.tweak(wc_rev=1)
expected_status.tweak('A/D/gamma', wc_rev=3)
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
#----------------------------------------------------------------------
@@ -767,9 +737,7 @@
def hudson_part_2(sbox):
"hudson prob 2.0: prop commit on old dir fails"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Remove gamma from the working copy.
@@ -788,12 +756,11 @@
expected_status.remove('A/D/gamma')
# Commit the deletion of gamma and verify.
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# Now gamma should be marked as `deleted' under the hood, at
# revision 2. Meanwhile, A/D is still lagging at revision 1.
@@ -802,13 +769,13 @@
svntest.main.run_svn(None, 'ps', 'foo', 'bar', D_path)
# Commit and *expect* a repository Merge failure:
- return svntest.actions.run_and_verify_commit (wc_dir,
- None,
- None,
- "out.of.date",
- None, None,
- None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ None,
+ None,
+ "out.of.date",
+ None, None,
+ None, None,
+ wc_dir)
#----------------------------------------------------------------------
@@ -822,9 +789,7 @@
def hudson_part_2_1(sbox):
"hudson prob 2.1: move files, update empty dir"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Move all the files in H to G
@@ -895,9 +860,7 @@
def hook_test(sbox):
"hook testing"
- if sbox.build():
- return 1
-
+ sbox.build()
# Get paths to the working copy and repository
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
@@ -932,16 +895,12 @@
expected_output = (abs_repo_dir + "\n",
abs_repo_dir + " 1\n",
abs_repo_dir + " 2\n")
- output, errput = svntest.main.run_svn (None, 'ci', '--quiet',
- '-m', 'log msg', wc_dir)
+
+ svntest.actions.run_and_verify_svn ( "",
+ expected_output, None,
+ 'ci', '--quiet',
+ '-m', 'log msg', wc_dir)
- # Make sure we got the right output.
- if output != expected_output:
- return 1
-
- return 0
-
-
#----------------------------------------------------------------------
# Regression test for bug #469, whereby merge() was once reporting
@@ -951,9 +910,7 @@
def merge_mixed_revisions(sbox):
"commit mixed-rev wc (no erroneous merge error)"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make some convenient paths.
@@ -979,12 +936,11 @@
expected_status.tweak(wc_rev=1)
expected_status.tweak('iota', 'A/D/H/chi', wc_rev=2)
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# 2. svn up A/D/H
@@ -1000,11 +956,10 @@
'psi' : Item("This is the file 'psi'."),
})
expected_output = svntest.wc.State(wc_dir, { })
- if svntest.actions.run_and_verify_update (H_path,
- expected_output,
- expected_disk,
- expected_status):
- return 1
+ svntest.actions.run_and_verify_update (H_path,
+ expected_output,
+ expected_disk,
+ expected_status)
# 3. echo "moo" >> iota; svn ci iota
@@ -1018,12 +973,11 @@
wc_rev=2)
expected_status.tweak('iota', wc_rev=3)
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# 4. echo "moo" >> A/D/H/chi; svn ci A/D/H/chi
@@ -1036,12 +990,11 @@
expected_status.tweak('A/D/H/chi', wc_rev=4)
expected_status.tweak('A/D/H', 'A/D/H/omega', 'A/D/H/psi', wc_rev=2)
expected_status.tweak('iota', wc_rev=3)
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# 5. echo "moo" >> iota; svn ci iota
svntest.main.file_append(iota_path, "moomoo")
@@ -1053,12 +1006,11 @@
expected_status.tweak('A/D/H', 'A/D/H/omega', 'A/D/H/psi', wc_rev=2)
expected_status.tweak('A/D/H/chi', wc_rev=4)
expected_status.tweak('iota', wc_rev=5)
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
# At this point, here is what our tree should look like:
# _ 1 ( 5) working_copies/commit_tests-10
@@ -1098,20 +1050,18 @@
expected_status.tweak('iota', 'A/D/H/omega', wc_rev=6)
expected_status.tweak('A/D/H', 'A/D/H/psi', wc_rev=2)
expected_status.tweak('A/D/H/chi', wc_rev=4)
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
#----------------------------------------------------------------------
def commit_uri_unsafe(sbox):
"commit files and dirs with URI-unsafe characters"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Note: on Windows, files can't have angle brackets in them, so we
@@ -1188,11 +1138,11 @@
for item in expected_output.desc.keys():
expected_status.add({ item : Item(wc_rev=2, repos_rev=2, status=' ') })
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
#----------------------------------------------------------------------
@@ -1200,9 +1150,7 @@
def commit_deleted_edited(sbox):
"commit deleted yet edited files"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make some convenient paths.
@@ -1229,20 +1177,18 @@
expected_status.remove('iota', 'A/mu')
expected_status.tweak(wc_rev=1)
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
#----------------------------------------------------------------------
def commit_in_dir_scheduled_for_addition(sbox):
"commit a file inside dir scheduled for addition"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
A_path = os.path.join(wc_dir, 'A')
@@ -1253,14 +1199,13 @@
# Commit a copied thing inside an added-with-history directory,
# expecting a specific error to occur!
- if svntest.actions.run_and_verify_commit (wc_dir,
- None,
- None,
- "unversioned",
- None, None,
- None, None,
- mu_path):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ None,
+ None,
+ "unversioned",
+ None, None,
+ None, None,
+ mu_path)
Q_path = os.path.join(wc_dir, 'Q')
bloo_path = os.path.join(Q_path, 'bloo')
@@ -1271,13 +1216,13 @@
# Commit a regular added thing inside an added directory,
# expecting a specific error to occur!
- return svntest.actions.run_and_verify_commit (wc_dir,
- None,
- None,
- "not versioned",
- None, None,
- None, None,
- bloo_path)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ None,
+ None,
+ "not versioned",
+ None, None,
+ None, None,
+ bloo_path)
#----------------------------------------------------------------------
@@ -1285,9 +1230,7 @@
def commit_rmd_and_deleted_file(sbox):
"commit deleted (and missing) file"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -1295,21 +1238,17 @@
svntest.main.run_svn(None, 'rm', mu_path)
# Commit, hoping to see no errors
- out, err = svntest.main.run_svn(None, 'commit', '-m', 'logmsg', mu_path)
- if len(err) != 0:
- return 1
+ svntest.actions.run_and_verify_svn( "Output on stderr where none expected",
+ SVNAnyOutput, None,
+ 'commit', '-m', 'logmsg', mu_path)
- return 0
-
#----------------------------------------------------------------------
# Issue #644 which failed over ra_dav.
def commit_add_file_twice(sbox):
"issue 644 attempt to add a file twice"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Create a file
@@ -1331,14 +1270,13 @@
expected_status.tweak('A/D/H/gloo', wc_rev=2, status=' ')
# Commit should succeed
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
# Update to state before commit
svntest.main.run_svn(None, 'up', '-r', '1', wc_dir)
@@ -1349,13 +1287,13 @@
svntest.main.run_svn(None, 'add', gloo_path)
# Commit and *expect* a failure:
- return svntest.actions.run_and_verify_commit (wc_dir,
- None,
- None,
- "already exists",
- None, None,
- None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ None,
+ None,
+ "already exists",
+ None, None,
+ None, None,
+ wc_dir)
#----------------------------------------------------------------------
@@ -1367,8 +1305,8 @@
"commit from a dir with a longer name than the wc"
sbox.build()
-
wc_dir = sbox.wc_dir
+
was_dir = os.getcwd()
abs_wc_dir = os.path.join(was_dir, wc_dir)
@@ -1405,30 +1343,28 @@
def commit_with_lock(sbox):
"try to commit when directory is locked"
- if sbox.build():
- return 1
-
+ sbox.build()
# modify gamma and lock its directory
wc_dir = sbox.wc_dir
+
D_path = os.path.join(wc_dir, 'A', 'D')
gamma_path = os.path.join(D_path, 'gamma')
svntest.main.file_append(gamma_path, "modified gamma")
svntest.actions.lock_admin_dir(D_path)
# this commit should fail
- if svntest.actions.run_and_verify_commit(wc_dir,
- None,
- None,
- 'already-locked',
- None, None,
- None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit(wc_dir,
+ None,
+ None,
+ 'already-locked',
+ None, None,
+ None, None,
+ wc_dir)
# unlock directory
- outlines, errlines = svntest.main.run_svn(None, 'cleanup', D_path)
- if errlines:
- return 1
+ svntest.actions.run_and_verify_svn( "Output on stderr where none expected",
+ [], None,
+ 'cleanup', D_path)
# this commit should succeed
expected_output = svntest.wc.State(wc_dir, {
@@ -1437,16 +1373,14 @@
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak(repos_rev=2) # post-commit status
expected_status.tweak('A/D/gamma', wc_rev=2)
- if svntest.actions.run_and_verify_commit(wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit(wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
-
#----------------------------------------------------------------------
# Explicitly commit the current directory. This did at one point fail
@@ -1491,9 +1425,7 @@
def failed_commit(sbox):
"commit with conflicts and check txn in repo"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make the other working copy
@@ -1508,21 +1440,20 @@
svntest.main.file_append (other_iota_path, "More different stuff in iota")
# Commit both working copies. The second commit should fail.
- output, errput = svntest.main.run_svn(None, 'commit', '-m', 'log', wc_dir)
- if errput:
- return 1
+ svntest.actions.run_and_verify_svn( "Output on stderr where none expected",
+ SVNAnyOutput, None,
+ 'commit', '-m', 'log', wc_dir)
- output, errput = svntest.main.run_svn(1, 'commit', '-m', 'log', other_wc_dir)
- if not errput:
- return 1
+ svntest.actions.run_and_verify_svn( "Output on stderr expected",
+ None, SVNAnyOutput,
+ 'commit', '-m', 'log', other_wc_dir)
# Now list the txns in the repo. The list should be empty.
output, errput = svntest.main.run_svnadmin('lstxns', sbox.repo_dir)
- if svntest.actions.compare_and_display_lines(
+ svntest.actions.compare_and_display_lines(
"Error running 'svnadmin lstxns'.",
- 'STDERR', [], errput):
- return 1
- return svntest.actions.compare_and_display_lines(
+ 'STDERR', [], errput)
+ svntest.actions.compare_and_display_lines(
"Output of 'svnadmin lstxns' is unexpected.",
'STDOUT', [], output)
@@ -1536,22 +1467,20 @@
def commit_multiple_wc(sbox):
"attempted commit from multiple wc fails"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Checkout a second working copy
wc2_dir = os.path.join(wc_dir, 'A', 'wc2')
url = svntest.main.current_repo_url
- stdout_lines, stderr_lines = svntest.main.run_svn (None, 'checkout',
- '--username',
- svntest.main.wc_author,
- '--password',
- svntest.main.wc_passwd,
- url, wc2_dir)
- if len (stderr_lines) != 0:
- return 1
+ svntest.actions.run_and_verify_svn ( "Output on stderr where none expected",
+ SVNAnyOutput, None,
+ 'checkout',
+ '--username',
+ svntest.main.wc_author,
+ '--password',
+ svntest.main.wc_passwd,
+ url, wc2_dir)
# Modify both working copies
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -1562,32 +1491,26 @@
# Verify modified status
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak('A/mu', status='M ')
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
expected_status2 = svntest.actions.get_virginal_state(wc2_dir, 1)
expected_status2.tweak('A/B/lambda', status='M ')
- if svntest.actions.run_and_verify_status(wc2_dir, expected_status2):
- return 1
+ svntest.actions.run_and_verify_status(wc2_dir, expected_status2)
# Commit should fail, even though one target is a "child" of the other.
- output, errput = svntest.main.run_svn("Not locked", 'commit', '-m', 'log',
- wc_dir, wc2_dir)
- if not errput:
- return 1
+ svntest.actions.run_and_verify_svn( "Output on stderr expected",
+ None, "Not locked",
+ 'commit', '-m', 'log',
+ wc_dir, wc2_dir)
# Verify status unchanged
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
- if svntest.actions.run_and_verify_status(wc2_dir, expected_status2):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc2_dir, expected_status2)
def commit_symlink(sbox):
"committing a symlink should fail"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
newfile_path = os.path.join(wc_dir, 'newfile')
@@ -1598,14 +1521,13 @@
os.remove(newfile_path)
os.symlink('linktarget', newfile_path)
- out, err = svntest.main.run_svn(1, 'ci', '-m', 'log msg', wc_dir)
- if err:
- return 0
- else:
- return 1
+ svntest.actions.run_and_verify_svn( "Output on stderr expected",
+ None, SVNAnyOutput,
+ 'ci', '-m', 'log msg', wc_dir)
def commit_nonrecursive(sbox):
"commit named targets with -N (issues #1195, #1239)"
+
sbox.build()
wc_dir = sbox.wc_dir
@@ -1645,15 +1567,15 @@
svntest.main.file_append(os.path.join(wc_dir, file4_path), 'this is file4')
# Add them to version control.
- out, err = svntest.main.run_svn(None, 'add', '-N',
- os.path.join(wc_dir, file1_path),
- os.path.join(wc_dir, dir1_path),
- os.path.join(wc_dir, file2_path),
- os.path.join(wc_dir, file3_path),
- os.path.join(wc_dir, dir2_path),
- os.path.join(wc_dir, file4_path))
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "",
+ SVNAnyOutput, None,
+ 'add', '-N',
+ os.path.join(wc_dir, file1_path),
+ os.path.join(wc_dir, dir1_path),
+ os.path.join(wc_dir, file2_path),
+ os.path.join(wc_dir, file3_path),
+ os.path.join(wc_dir, dir2_path),
+ os.path.join(wc_dir, file4_path))
# Commit. We should see all 6 items (2 dirs, 4 files) get sent.
expected_output = svntest.wc.State(
@@ -1748,15 +1670,14 @@
svntest.main.file_append(os.path.join(wc_dir, nocommit_path), 'nocommit')
# Add them to version control.
- out, err = svntest.main.run_svn(None, 'add', '-N',
- os.path.join(wc_dir, dirA_path),
- os.path.join(wc_dir, fileA_path),
- os.path.join(wc_dir, fileB_path),
- os.path.join(wc_dir, dirB_path),
- os.path.join(wc_dir, fileC_path),
- os.path.join(wc_dir, nocommit_path))
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( "", SVNAnyOutput, None,
+ 'add', '-N',
+ os.path.join(wc_dir, dirA_path),
+ os.path.join(wc_dir, fileA_path),
+ os.path.join(wc_dir, fileB_path),
+ os.path.join(wc_dir, dirB_path),
+ os.path.join(wc_dir, fileC_path),
+ os.path.join(wc_dir, nocommit_path))
expected_output = svntest.wc.State(
wc_dir,
@@ -1812,9 +1733,7 @@
def commit_out_of_date_deletions(sbox):
"commit deletion of out-of-date file or dir"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
# Make a backup copy of the working copy
@@ -1836,14 +1755,13 @@
expected_status.tweak(wc_rev=1)
expected_status.tweak('A/D/H/omega', 'A/C', wc_rev=2, status=' ')
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir):
- return 1
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
# Now, in the second working copy, schedule both omega and C for deletion.
omega_path = os.path.join(wc_backup, 'A', 'D', 'H', 'omega')
@@ -1860,7 +1778,7 @@
out_of_date_error = 1;
if out_of_date_error == 0:
- return 1
+ raise svntest.Failure
# Attempt to delete directory C. This should return an (expected)
# out-of-dateness error.
@@ -1872,18 +1790,14 @@
out_of_date_error = 1;
if out_of_date_error == 0:
- return 1
+ raise svntest.Failure
- return 0
-
-
def commit_with_bad_log_message(sbox):
"commit with a log message containing bad data"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
iota_path = os.path.join(wc_dir, 'iota')
log_msg_path = os.path.join(wc_dir, 'log-message')
@@ -1894,16 +1808,14 @@
svntest.main.file_append(log_msg_path, '\x00')
# Commit and expect an error.
- if svntest.actions.run_and_verify_commit(wc_dir,
- None, None,
- "contains a zero byte",
- None, None,
- None, None,
- '-F', log_msg_path,
- iota_path):
- return 1
+ svntest.actions.run_and_verify_commit(wc_dir,
+ None, None,
+ "contains a zero byte",
+ None, None,
+ None, None,
+ '-F', log_msg_path,
+ iota_path)
-
def from_wc_top_with_bad_editor(sbox):
"commit with invalid external editor cmd"
@@ -1930,20 +1842,17 @@
sbox.build()
wc_dir = sbox.wc_dir
- out, err = svntest.main.run_svn(None, 'pset', 'fish', 'food', wc_dir)
- if err:
- print "Unexpected failure from propset."
- raise svntest.Failure
-
+ svntest.actions.run_and_verify_svn("Unexpected failure from propset.",
+ SVNAnyOutput, None,
+ 'pset', 'fish', 'food', wc_dir)
was_cwd = os.getcwd()
try:
os.chdir(wc_dir)
- out, err = svntest.main.run_svn(1, 'ci', '--editor-cmd', 'no_such-editor')
+ out, err = svntest.actions.run_and_verify_svn(
+ "Commit succeeded when should have failed.",
+ None, SVNAnyOutput,
+ 'ci', '--editor-cmd', 'no_such-editor')
- if not err:
- print "Commit succeeded when should have failed."
- raise svntest.Failure
-
err = string.join(map(string.strip, err), ' ')
if not (re.match(".*no_such-editor.*", err)
and re.match(".*Commit failed.*", err)):
Index: svnlook_tests.py
===================================================================
--- svnlook_tests.py (revision 6929)
+++ svnlook_tests.py (working copy)
@@ -47,7 +47,6 @@
"test 'svnlook youngest' subcommand"
sbox.build()
-
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
@@ -69,14 +68,13 @@
expected_status.tweak(wc_rev=1)
expected_status.tweak('A/mu', 'A/D/G/rho', wc_rev=2)
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir):
- raise svntest.Failure
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
# Youngest revision should now be 2. Let's verify that.
output, errput = svntest.main.run_svnlook("youngest", repo_dir)
@@ -97,11 +95,9 @@
# move E to E2 and delete E2/alpha
E_path = os.path.join(wc_dir, 'A', 'B', 'E')
E2_path = os.path.join(wc_dir, 'A', 'B', 'E2')
- output, errput = svntest.main.run_svn(None, 'mv', E_path, E2_path)
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'mv', E_path, E2_path)
alpha_path = os.path.join(E2_path, 'alpha')
- output, errput = svntest.main.run_svn(None, 'rm', alpha_path)
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'rm', alpha_path)
# commit
expected_output = svntest.wc.State(wc_dir, {
@@ -116,18 +112,16 @@
'A/B/E2' : Item(status=' ', wc_rev=2, repos_rev=2),
'A/B/E2/beta' : Item(status=' ', wc_rev=2, repos_rev=2),
})
- if svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None,
- None, None,
- None, None,
- wc_dir):
- raise svntest.Failure
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None,
+ None, None,
+ None, None,
+ wc_dir)
output, errput = svntest.main.run_svnlook("dirs-changed", repo_dir)
- if errput:
- raise svntest.Failure
+ if errput: raise svntest.Failure
# Okay. No failure, but did we get the right output?
if len(output) != 2:
@@ -148,22 +142,21 @@
# Add a bogus property to iota
iota_path = os.path.join(wc_dir, 'iota')
- output, errput = svntest.main.run_svn(None, 'propset',
- 'bogus_prop', 'bogus_val', iota_path)
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'propset',
+ 'bogus_prop', 'bogus_val', iota_path)
# commit the change
- output, errput = svntest.main.run_svn(None, 'ci', '-m', 'log msg', iota_path)
- if errput: raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'log msg', iota_path)
# Grab the diff
- expected_output, errput = svntest.main.run_svn(None, 'diff', '-r',
- 'PREV', iota_path)
- if errput: raise svntest.Failure
+ expected_output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'diff',
+ '-r', 'PREV',
+ iota_path)
output, errput = svntest.main.run_svnlook("diff", repo_dir)
- if errput:
- raise svntest.Failure
+ if errput: raise svntest.Failure
# Okay. No failure, but did we get the right output?
if len(output) != len(expected_output):
Index: schedule_tests.py
===================================================================
--- schedule_tests.py (revision 6929)
+++ schedule_tests.py (working copy)
@@ -64,11 +64,9 @@
def add_files(sbox):
"schedule: add some files"
+ sbox.build()
wc_dir = sbox.wc_dir
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
-
# Create some files, then schedule them for addition
delta_path = os.path.join(wc_dir, 'delta')
zeta_path = os.path.join(wc_dir, 'A', 'B', 'zeta')
@@ -88,18 +86,16 @@
'A/D/G/epsilon' : Item(status='A ', wc_rev=0, repos_rev=1),
})
- return svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
#----------------------------------------------------------------------
def add_directories(sbox):
"schedule: add some directories"
+ sbox.build()
wc_dir = sbox.wc_dir
-
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
-
+
# Create some directories, then schedule them for addition
X_path = os.path.join(wc_dir, 'X')
Y_path = os.path.join(wc_dir, 'A', 'C', 'Y')
@@ -119,18 +115,16 @@
'A/D/H/Z' : Item(status='A ', wc_rev=0, repos_rev=1),
})
- return svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
#----------------------------------------------------------------------
def nested_adds(sbox):
"schedule: add some nested files and directories"
+ sbox.build()
wc_dir = sbox.wc_dir
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
-
# Create some directories then schedule them for addition
X_path = os.path.join(wc_dir, 'X')
Y_path = os.path.join(wc_dir, 'A', 'C', 'Y')
@@ -178,27 +172,27 @@
'A/D/H/Z/zeta' : Item(status='A ', wc_rev=0, repos_rev=1),
})
- return svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
#----------------------------------------------------------------------
def add_executable(sbox):
"schedule: add some executable files"
- if sbox.build():
- return 1
+ sbox.build()
+
def runTest(wc_dir, fileName, perm, executable):
fileName = os.path.join(wc_dir, fileName)
if executable:
- expected = (["*\n"], [])
+ expected_out = ["*\n"]
else:
- expected = ([], [])
+ expected_out = []
f = open(fileName,"w")
f.close()
os.chmod(fileName,perm)
svntest.main.run_svn(None, 'add', fileName)
- return expected != svntest.main.run_svn(None, 'propget',
- "svn:executable", fileName)
+ svntest.actions.run_and_verify_svn(None, expected_out, [],
+ 'propget', "svn:executable", fileName)
test_cases = [
("all_exe", 0777, 1),
("none_exe", 0666, 0),
@@ -207,19 +201,16 @@
("other_exe", 0667, 0),
]
for test_case in test_cases:
- if runTest(sbox.wc_dir, *test_case):
- return 1
+ runTest(sbox.wc_dir, *test_case)
#----------------------------------------------------------------------
def delete_files(sbox):
"schedule: delete some files"
+ sbox.build()
wc_dir = sbox.wc_dir
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
-
# Schedule some files for deletion
iota_path = os.path.join(wc_dir, 'iota')
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -233,18 +224,16 @@
expected_status.tweak('iota', 'A/mu', 'A/D/G/rho', 'A/D/H/omega',
status='D ')
- return svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
#----------------------------------------------------------------------
def delete_dirs(sbox):
"schedule: delete some directories"
+ sbox.build()
wc_dir = sbox.wc_dir
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
-
# Schedule some directories for deletion (this is recursive!)
E_path = os.path.join(wc_dir, 'A', 'B', 'E')
F_path = os.path.join(wc_dir, 'A', 'B', 'F')
@@ -265,7 +254,7 @@
'A/D/H', 'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi',
status='D ')
- return svntest.actions.run_and_verify_status(wc_dir, expected_status)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
#######################################################################
@@ -275,11 +264,9 @@
def revert_add_files(sbox):
"revert: add some files"
+ add_files(sbox)
wc_dir = sbox.wc_dir
- if add_files(sbox):
- return 1
-
# Revert our changes recursively from wc_dir.
delta_path = os.path.join(wc_dir, 'delta')
zeta_path = os.path.join(wc_dir, 'A', 'B', 'zeta')
@@ -287,32 +274,26 @@
expected_output = ["Reverted " + delta_path + "\n",
"Reverted " + zeta_path + "\n",
"Reverted " + epsilon_path + "\n"]
- output, errput = svntest.main.run_svn (None, 'revert', '--recursive', wc_dir)
- # Make sure we got the right output.
- if len(errput) > 0:
- print errput
- return 1
+ output, err = svntest.actions.run_and_verify_svn( None, None, [],
+ 'revert',
+ '--recursive', wc_dir)
### do we really need to sort these?
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
+ output = _tweak_paths(output) # FIXME: see comment at _tweak_paths
output.sort()
expected_output.sort()
if output != expected_output:
- return 1
+ raise svntest.Failure
- return 0
-
#----------------------------------------------------------------------
def revert_add_directories(sbox):
"revert: add some directories"
+ add_directories(sbox)
wc_dir = sbox.wc_dir
- if add_directories(sbox):
- return 1
-
# Revert our changes recursively from wc_dir.
X_path = os.path.join(wc_dir, 'X')
Y_path = os.path.join(wc_dir, 'A', 'C', 'Y')
@@ -320,32 +301,21 @@
expected_output = ["Reverted " + X_path + "\n",
"Reverted " + Y_path + "\n",
"Reverted " + Z_path + "\n"]
- output, errput = svntest.main.run_svn (None, 'revert', '--recursive', wc_dir)
- # Make sure we got the right output.
- if len(errput) > 0:
- print errput
- return 1
+ expected_output = _tweak_paths(expected_output)
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'revert',
+ '--recursive', wc_dir)
- ### do we really need to sort these?
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
- output.sort()
- expected_output.sort()
- if output != expected_output:
- return 1
- return 0
-
#----------------------------------------------------------------------
def revert_nested_adds(sbox):
"revert: add some nested files and directories"
+ nested_adds(sbox)
wc_dir = sbox.wc_dir
- if nested_adds(sbox):
- return 1
-
# Revert our changes recursively from wc_dir.
X_path = os.path.join(wc_dir, 'X')
Y_path = os.path.join(wc_dir, 'A', 'C', 'Y')
@@ -353,31 +323,19 @@
expected_output = ["Reverted " + X_path + "\n",
"Reverted " + Y_path + "\n",
"Reverted " + Z_path + "\n"]
- output, errput = svntest.main.run_svn (None, 'revert', '--recursive', wc_dir)
+ expected_output = _tweak_paths(expected_output)
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'revert',
+ '--recursive', wc_dir)
- # Make sure we got the right output.
- if len(errput) > 0:
- print errput
- return 1
-
- ### do we really need to sort these?
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
- output.sort()
- expected_output.sort()
- if output != expected_output:
- return 1
-
- return 0
-
#----------------------------------------------------------------------
def revert_add_executable(sbox):
"revert: add some executable files"
- if add_executable(sbox):
- return 1
-
+ add_executable(sbox)
wc_dir = sbox.wc_dir
+
all_path = os.path.join(wc_dir, 'all_exe')
none_path = os.path.join(wc_dir, 'none_exe')
user_path = os.path.join(wc_dir, 'user_exe')
@@ -390,33 +348,19 @@
"Reverted " + group_path + "\n",
"Reverted " + other_path + "\n"]
- output, errput = svntest.main.run_svn (None, 'revert',
- '--recursive', wc_dir)
+ expected_output = _tweak_paths(expected_output)
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'revert',
+ '--recursive', wc_dir)
- # Make sure we got the right output.
- if len(errput) > 0:
- print errput
- return 1
-
- ### do we really need to sort these?
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
- output.sort()
- expected_output.sort()
- if output != expected_output:
- return 1
-
- return 0
-
#----------------------------------------------------------------------
def revert_delete_files(sbox):
"revert: delete some files"
+ delete_files(sbox)
wc_dir = sbox.wc_dir
- if delete_files(sbox):
- return 1
-
# Revert our changes recursively from wc_dir.
iota_path = os.path.join(wc_dir, 'iota')
mu_path = os.path.join(wc_dir, 'A', 'mu')
@@ -426,32 +370,19 @@
"Reverted " + mu_path + "\n",
"Reverted " + omega_path + "\n",
"Reverted " + rho_path + "\n"]
- output, errput = svntest.main.run_svn (None, 'revert', '--recursive', wc_dir)
+ expected_output = _tweak_paths(expected_output)
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'revert',
+ '--recursive', wc_dir)
- # Make sure we got the right output.
- if len(errput) > 0:
- print errput
- return 1
-
- ### do we really need to sort these?
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
- output.sort()
- expected_output.sort()
- if output != expected_output:
- return 1
-
- return 0
-
#----------------------------------------------------------------------
def revert_delete_dirs(sbox):
"revert: delete some directories"
+ delete_dirs(sbox)
wc_dir = sbox.wc_dir
- if delete_dirs(sbox):
- return 1
-
# Revert our changes recursively from wc_dir.
E_path = os.path.join(wc_dir, 'A', 'B', 'E')
F_path = os.path.join(wc_dir, 'A', 'B', 'F')
@@ -469,23 +400,11 @@
"Reverted " + chi_path + "\n",
"Reverted " + omega_path + "\n",
"Reverted " + psi_path + "\n"]
- output, errput = svntest.main.run_svn (None, 'revert', '--recursive', wc_dir)
+ expected_output = _tweak_paths(expected_output)
+ output, err = svntest.actions.run_and_verify_svn (None, None, [],
+ 'revert',
+ '--recursive', wc_dir)
- # Make sure we got the right output.
- if len(errput) > 0:
- print errput
- return 1
-
- ### do we really need to sort these?
- output = _tweak_paths(output) # FIXME: see commend at _tweak_paths
- output.sort()
- expected_output.sort()
- if output != expected_output:
- return 1
-
- return 0
-
-
#######################################################################
# Stage III - Commit of modifications made in Stage 1
#
@@ -493,66 +412,55 @@
def commit_add_files(sbox):
"commit: add some files"
- if add_files(sbox):
- return 1
+ add_files(sbox)
- return 1
- return 0
+ raise svntest.Failure
#----------------------------------------------------------------------
def commit_add_directories(sbox):
"commit: add some directories"
- if add_directories(sbox):
- return 1
+ add_directories(sbox)
- return 1
- return 0
+ raise svntest.Failure
#----------------------------------------------------------------------
def commit_nested_adds(sbox):
"commit: add some nested files and directories"
- if nested_adds(sbox):
- return 1
+ nested_adds(sbox)
- return 1
- return 0
+ raise svntest.Failure
#----------------------------------------------------------------------
def commit_add_executable(sbox):
"commit: add some executable files"
- if add_executable(sbox):
- return 1
+ add_executable(sbox)
- return 1
- return 0
+ raise svntest.Failure
+
#----------------------------------------------------------------------
def commit_delete_files(sbox):
"commit: delete some files"
- if delete_files(sbox):
- return 1
+ delete_files(sbox)
- return 1
- return 0
+ raise svntest.Failure
#----------------------------------------------------------------------
def commit_delete_dirs(sbox):
"commit: delete some directories"
- if delete_dirs(sbox):
- return 1
+ delete_dirs(sbox)
- return 1
- return 0
+ raise svntest.Failure
#----------------------------------------------------------------------
# Regression test for issue #863:
@@ -566,11 +474,9 @@
def unschedule_missing_added(sbox):
"unschedule addition on missing items"
+ sbox.build()
wc_dir = sbox.wc_dir
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
-
# Create some files and dirs, then schedule them for addition
file1_path = os.path.join(wc_dir, 'file1')
file2_path = os.path.join(wc_dir, 'file2')
@@ -591,8 +497,7 @@
'dir2' : Item(status='A ', wc_rev=0, repos_rev=1),
})
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Poof, all 4 added things are now missing in action.
os.remove(file1_path)
@@ -606,11 +511,8 @@
# 'svn st' should now show absolutely zero local mods.
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
- if svntest.actions.run_and_verify_status(wc_dir, expected_status):
- return 1
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
- return 0
-
#----------------------------------------------------------------------
# Regression test for issue #962:
#
@@ -620,10 +522,10 @@
def delete_missing(sbox):
"schedule and commit deletion on missing items"
+ sbox.build
wc_dir = sbox.wc_dir
- if svntest.actions.make_repo_and_wc(sbox):
- return 1
+ svntest.actions.make_repo_and_wc(sbox)
mu_path = os.path.join(wc_dir, 'A', 'mu')
H_path = os.path.join(wc_dir, 'A', 'D', 'H')
@@ -633,9 +535,7 @@
svntest.main.safe_rmtree(H_path)
# Now schedule them for deletion anyway, and make sure no error is output.
- stdout, stderr = svntest.main.run_svn(None, 'rm', mu_path, H_path)
- if len(stderr) != 0:
- return 1
+ svntest.actions.run_and_verify_svn(None, None, [], 'rm', mu_path, H_path)
# Commit the deletions.
expected_output = svntest.wc.State(wc_dir, {
@@ -648,11 +548,11 @@
'A/D/H/psi', 'A/D/H/omega', 'A/D/H/chi')
expected_status.tweak(wc_rev=1)
- return svntest.actions.run_and_verify_commit (wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_dir)
+ svntest.actions.run_and_verify_commit (wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_dir)
########################################################################
# Run the tests
Index: merge_tests.py
===================================================================
--- merge_tests.py (revision 6929)
+++ merge_tests.py (working copy)
@@ -98,7 +98,6 @@
## we're only interested in rho here.)
sbox.build()
-
wc_dir = sbox.wc_dir
# url = os.path.join(svntest.main.test_area_url, sbox.repo_dir)
@@ -200,9 +199,8 @@
# We skip A/D/G/rho in this merge; it will be tested with a separate
# merge command. Temporarily put it back to revision 1, so this
# merge succeeds cleanly.
- out, err = svntest.main.run_svn(None, 'up', '-r', '1', other_rho_path)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn( None, None, [],
+ 'up', '-r', '1', other_rho_path)
# For A/D/G/tau, we append ten different lines, to conflict with the
# ten lines appended in revision 3.
@@ -272,13 +270,16 @@
# whole expected_foo routine for these intermediate operations;
# they're not what we're here to test, after all, so it's enough to
# know that they worked. Is this a bad practice? ###
- out, err = svntest.main.run_svn(None, 'revert', other_rho_path)
+ out, err = svntest.actions.run_and_verify_svn(None, None, None,
+ 'revert', other_rho_path)
if (err):
for line in err:
print "Error reverting: ", line,
raise svntest.Failure
- out, err = svntest.main.run_svn(None, 'up', '-r', '2', other_rho_path)
+ out, err = svntest.actions.run_and_verify_svn(None, None, None,
+ 'up', '-r', '2',
+ other_rho_path)
if (err):
for line in err:
print "Error updating: ", line,
@@ -368,7 +369,6 @@
"merge and add new files/dirs with history"
sbox.build()
-
wc_dir = sbox.wc_dir
C_path = os.path.join(wc_dir, 'A', 'C')
@@ -448,10 +448,8 @@
# print "merge failed"
# return 1
- outlines,errlines = svntest.main.run_svn(None, 'merge', '-r', '1:2', F_url,
- C_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '1:2', F_url, C_path)
expected_status = svntest.actions.get_virginal_state(wc_dir, 2)
expected_status.tweak(wc_rev=1)
@@ -498,7 +496,6 @@
"merge that deletes items"
sbox.build()
-
wc_dir = sbox.wc_dir
# Rev 2 copy B to B2
@@ -506,9 +503,8 @@
B2_path = os.path.join(wc_dir, 'A', 'B2')
B_url = svntest.main.current_repo_url + '/A/B'
- outlines,errlines = svntest.main.run_svn(None, 'copy', B_path, B2_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'copy', B_path, B2_path)
expected_output = wc.State(wc_dir, {
'A/B2' : Item(verb='Adding'),
@@ -534,9 +530,8 @@
# Rev 3 delete E and lambda from B
E_path = os.path.join(B_path, 'E')
lambda_path = os.path.join(B_path, 'lambda')
- outlines, errlines = svntest.main.run_svn(None, 'delete', E_path, lambda_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'delete', E_path, lambda_path)
expected_output = wc.State(wc_dir, {
'A/B/E' : Item(verb='Deleting'),
@@ -558,10 +553,9 @@
# Local mods in B2
B2_E_path = os.path.join(B2_path, 'E')
B2_lambda_path = os.path.join(B2_path, 'lambda')
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'foo', 'foo_val',
- B2_E_path, B2_lambda_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'foo', 'foo_val',
+ B2_E_path, B2_lambda_path)
expected_status.tweak(
'A/B2/E', 'A/B2/lambda', status=' M'
)
@@ -570,30 +564,25 @@
# Merge rev 3 into B2
# dry-run without force fails to delete local mods
- outlines, errlines = svntest.main.run_svn(1, 'merge', '-r', '2:3', B_url,
- B2_path, '--dry-run')
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3', B_url,
+ B2_path, '--dry-run')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# force dry-run to delete
- outlines, errlines = svntest.main.run_svn(None, 'merge', '-r', '2:3', B_url,
- B2_path, '--dry-run', '--force')
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3', B_url,
+ B2_path, '--dry-run', '--force')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# merge without force fails to delete local mods
- outlines, errlines = svntest.main.run_svn(1, 'merge', '-r', '2:3', B_url,
- B2_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3', B_url, B2_path)
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# force merge to delete
- outlines, errlines = svntest.main.run_svn(None, 'merge', '-r', '2:3', B_url,
- B2_path, '--force')
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3', B_url,
+ B2_path, '--force')
expected_status.tweak(
'A/B2/E', 'A/B2/E/alpha', 'A/B2/E/beta', 'A/B2/lambda', status='D '
@@ -608,20 +597,18 @@
"some simple property merges"
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a property to a file and a directory
alpha_path = os.path.join(wc_dir, 'A', 'B', 'E', 'alpha')
E_path = os.path.join(wc_dir, 'A', 'B', 'E')
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'foo', 'foo_val',
- alpha_path)
- if errlines:
- return 1
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'foo', 'foo_val',
- E_path)
- if errlines:
- raise svntest.Failure
+
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'foo', 'foo_val',
+ alpha_path)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'foo', 'foo_val',
+ E_path)
# Commit change as rev 2
expected_output = svntest.wc.State(wc_dir, {
@@ -635,41 +622,29 @@
expected_output, expected_status,
None, None, None, None, None,
wc_dir)
- outlines, errlines = svntest.main.run_svn(None, 'up', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'up', wc_dir)
# Copy B to B2 as rev 3
B_url = svntest.main.current_repo_url + '/A/B'
B2_url = svntest.main.current_repo_url + '/A/B2'
- outlines,errlines = svntest.main.run_svn(None, 'copy', '-m', 'fumble',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- B_url, B2_url)
- if errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(None, 'up', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'copy', '-m', 'fumble',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ B_url, B2_url)
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
# Modify a property and add a property for the file and directory
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'foo', 'mod_foo',
- alpha_path)
- if errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'bar', 'bar_val',
- alpha_path)
- if errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'foo', 'mod_foo',
- E_path)
- if errlines:
- raise svntest.Failure
- outlines, errlines = svntest.main.run_svn(None, 'propset', 'bar', 'bar_val',
- E_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'foo', 'mod_foo', alpha_path)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'bar', 'bar_val', alpha_path)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'foo', 'mod_foo', E_path)
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'propset', 'bar', 'bar_val', E_path)
# Commit change as rev 4
expected_status = svntest.actions.get_virginal_state(wc_dir, 3)
@@ -687,9 +662,7 @@
expected_output, expected_status,
None, None, None, None, None,
wc_dir)
- outlines, errlines = svntest.main.run_svn(None, 'up', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'up', wc_dir)
### This test needs more work. It's good enough to test issue 953,
### which is what caused me to write it, but it is not a thorough
@@ -704,29 +677,35 @@
})
expected_status.tweak(wc_rev=4)
expected_status.tweak('A/B2/E', 'A/B2/E/alpha', status=' M')
- dry_out, dry_err = svntest.main.run_svn(None, 'merge', '--dry-run',
- '-r', '3:4', B_url, B2_path)
- std_out, std_err = svntest.main.run_svn(None, 'merge',
- '-r', '3:4', B_url, B2_path)
- if dry_err or std_err or dry_out != std_out:
+ dry_out, dry_err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '--dry-run',
+ '-r', '3:4',
+ B_url, B2_path)
+ std_out, std_err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge',
+ '-r', '3:4',
+ B_url, B2_path)
+ if dry_out != std_out:
raise svntest.Failure
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Revert merge
- outlines, errlines = svntest.main.run_svn(None, 'revert', '--recursive',
- wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'revert', '--recursive', wc_dir)
expected_status.tweak('A/B2/E', 'A/B2/E/alpha', status=' ')
svntest.actions.run_and_verify_status(wc_dir, expected_status)
# Merge B 2:1 into B2
expected_status.tweak('A/B2/E', 'A/B2/E/alpha', status=' M')
- dry_out, dry_err = svntest.main.run_svn(None, 'merge', '--dry-run',
- '-r', '2:1', B_url, B2_path)
- std_out, std_err = svntest.main.run_svn(None, 'merge',
- '-r', '2:1', B_url, B2_path)
- if dry_err or std_err or dry_out != std_out:
+ dry_out, dry_err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '--dry-run',
+ '-r', '2:1',
+ B_url, B2_path)
+ std_out, std_err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge',
+ '-r', '2:1',
+ B_url, B2_path)
+ if dry_out != std_out:
raise svntest.Failure
svntest.actions.run_and_verify_status(wc_dir, expected_status)
@@ -736,11 +715,15 @@
})
expected_status.tweak(wc_rev=4)
expected_status.tweak('A/B2/E', 'A/B2/E/alpha', status=' C')
- dry_out, dry_err = svntest.main.run_svn(None, 'merge', '--dry-run',
- '-r', '3:4', B_url, B2_path)
- std_out, std_err = svntest.main.run_svn(None, 'merge',
- '-r', '3:4', B_url, B2_path)
- if dry_err or std_err or dry_out != std_out:
+ dry_out, dry_err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '--dry-run',
+ '-r', '3:4',
+ B_url, B2_path)
+ std_out, std_err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge',
+ '-r', '3:4',
+ B_url, B2_path)
+ if dry_out != std_out:
raise svntest.Failure
svntest.actions.run_and_verify_status(wc_dir, expected_status)
@@ -753,31 +736,28 @@
A2_url = svntest.main.current_repo_url + '/A2'
# Copy to make revision 5
- outlines,errlines = svntest.main.run_svn(None, 'copy', '-m', 'fumble',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- A_url, A2_url)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'copy', '-m', 'fumble',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ A_url, A2_url)
- outlines, errlines = svntest.main.run_svn(None, 'switch', A2_url, wc_dir)
+ svntest.main.run_svn(None, 'switch', A2_url, wc_dir)
A_url = svntest.main.current_repo_url + '/A/B/E/alpha'
alpha_path = os.path.join(wc_dir, 'B', 'E', 'alpha')
- outlines, errlines = svntest.main.run_svn(None, 'merge',
- '-r', '3:4', A_url, alpha_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge',
+ '-r', '3:4', A_url, alpha_path)
- outlines,errlines = svntest.main.run_svn(None, 'pl', alpha_path)
+ output, err = svntest.actions.run_and_verify_svn(None, None, [],
+ 'pl', alpha_path)
- if errlines:
- raise svntest.Failure
saw_foo = 0
saw_bar = 0
- for line in outlines:
+ for line in output:
if re.match("\\s*foo\\s*$", line):
saw_foo = 1
if re.match("\\s*bar\\s*$", line):
@@ -794,7 +774,6 @@
"merge should not die if a target file is absent"
sbox.build()
-
wc_dir = sbox.wc_dir
# Copy G to a new directory, Q. Create Q/newfile. Commit a change
@@ -806,30 +785,23 @@
newfile_path = os.path.join(Q_path, 'newfile')
Q_url = svntest.main.current_repo_url + '/A/D/Q'
- outlines,errlines = svntest.main.run_svn(None, 'cp', G_path, Q_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'cp', G_path, Q_path)
svntest.main.file_append(newfile_path, 'This is newfile.\n')
- outlines,errlines = svntest.main.run_svn(None, 'add', newfile_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'add', newfile_path)
- outlines,errlines = svntest.main.run_svn(None, 'ci', '-m', 'rev 2', Q_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'rev 2', Q_path)
svntest.main.file_append(newfile_path, 'A change to newfile.\n')
- outlines,errlines = svntest.main.run_svn(None, 'ci', '-m', 'rev 3', Q_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'rev 3', Q_path)
saved_cwd = os.getcwd()
try:
os.chdir(G_path)
- out, err = svntest.main.run_svn(0, 'merge', '-r', '2:3', Q_url)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3', Q_url)
finally:
os.chdir(saved_cwd)
@@ -839,7 +811,6 @@
"merge on deleted directory in target"
sbox.build()
-
wc_dir = sbox.wc_dir
# Copy B to a new directory, I. Modify B/E/alpha, Remove I/E. Now
@@ -851,29 +822,25 @@
B_url = svntest.main.current_repo_url + '/A/B'
I_url = svntest.main.current_repo_url + '/A/I'
- outlines,errlines = svntest.main.run_svn(None, 'cp', B_url, I_url, '-m', 'rev 2')
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'cp', B_url, I_url, '-m', 'rev 2')
+
svntest.main.file_append(alpha_path, 'A change to alpha.\n')
svntest.main.file_append(os.path.join(B_path, 'lambda'), 'A change to lambda.\n')
- outlines,errlines = svntest.main.run_svn(None, 'ci', '-m', 'rev 3', B_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'rev 3', B_path)
E_url = svntest.main.current_repo_url + '/A/I/E'
- outlines,errlines = svntest.main.run_svn(None, 'rm', E_url, '-m', 'rev 4')
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'rm', E_url, '-m', 'rev 4')
- outlines,errlines = svntest.main.run_svn(None, 'up', os.path.join(wc_dir,'A'))
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'up', os.path.join(wc_dir,'A'))
- outlines, errlines = svntest.main.run_svn(0, 'merge', '-r', '2:3', B_url, I_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3', B_url, I_path)
#----------------------------------------------------------------------
# This is a regression for issue #1176.
@@ -884,7 +851,6 @@
## See http://subversion.tigris.org/issues/show_bug.cgi?id=1249. ##
sbox.build()
-
wc_dir = sbox.wc_dir
# Simple test. Make three directories with the same content.
@@ -921,28 +887,22 @@
os.rename(os.path.join(base2_path, 'A', 'B', 'beta'),
os.path.join(base2_path, 'A', 'B', 'zeta'))
- out, err = svntest.main.run_svn(None, 'add',
- base1_path, base2_path, apply_path)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'add', base1_path, base2_path, apply_path)
- out, err = svntest.main.run_svn(None, 'ci', '-m', 'rev 2', wc_dir)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'ci', '-m', 'rev 2', wc_dir)
- out, err = svntest.main.run_svn(None, 'merge',
- base1_url, base2_url, apply_path)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', base1_url, base2_url, apply_path)
-
#----------------------------------------------------------------------
def merge_one_file(sbox):
"merge one file (issue #1150)"
sbox.build()
-
wc_dir = sbox.wc_dir
+
rho_rel_path = os.path.join('A', 'D', 'G', 'rho')
rho_path = os.path.join(wc_dir, rho_rel_path)
G_path = os.path.join(wc_dir, 'A', 'D', 'G')
@@ -963,18 +923,16 @@
wc_dir)
# Backdate rho to revision 1, so we can merge in the rev 2 changes.
- out, err = svntest.main.run_svn(0, 'up', '-r', '1', rho_path)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'up', '-r', '1', rho_path)
# Try one merge with an explicit target; it should succeed.
# ### Yes, it would be nice to use run_and_verify_merge(), but it
# appears to be impossible to get the expected_foo trees working
# right. I think something is still assuming a directory target.
- out, err = svntest.main.run_svn(0, 'merge', '-r', '1:2',
- rho_url, rho_path)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '1:2',
+ rho_url, rho_path)
# Inspect rho, make sure it's right.
rho_text = svntest.tree.get_text(rho_path)
@@ -983,18 +941,15 @@
raise svntest.Failure
# Restore rho to pristine revision 1, for another merge.
- out, err = svntest.main.run_svn(0, 'revert', rho_path)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'revert', rho_path)
# Cd into the directory and run merge with no targets.
# It should still merge into rho.
saved_cwd = os.getcwd()
try:
os.chdir(G_path)
- out, err = svntest.main.run_svn(0, 'merge', '-r', '1:2', rho_url)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '1:2', rho_url)
# Inspect rho, make sure it's right.
rho_text = svntest.tree.get_text('rho')
@@ -1012,7 +967,6 @@
"merging a file with no explicit target path"
sbox.build()
-
wc_dir = sbox.wc_dir
# Change mu for revision 2
@@ -1055,20 +1009,16 @@
os.chdir(os.path.join(other_wc, 'A'))
# merge using URL for sourcepath
- out, err = svntest.main.run_svn(0, 'merge', '-r', '2:1',
- mu_url)
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:1', mu_url)
# sanity-check resulting file
if (svntest.tree.get_text('mu') != orig_mu_text):
raise svntest.Failure
# merge using filename for sourcepath
- out, err = svntest.main.run_svn(0, 'merge', '-r', '1:2',
- 'mu')
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '1:2', 'mu')
# sanity-check resulting file
if (svntest.tree.get_text('mu') != orig_mu_text + added_mu_text):
@@ -1083,7 +1033,6 @@
"merge operations using PREV revision"
sbox.build()
-
wc_dir = sbox.wc_dir
# Change mu for revision 2
@@ -1134,9 +1083,8 @@
os.chdir(os.path.join(other_wc, 'A'))
# Try to revert the last change to mu via svn merge
- out, err = svntest.main.run_svn(0, 'merge', '-r', 'HEAD:PREV', 'mu')
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', 'HEAD:PREV', 'mu')
# sanity-check resulting file
if (svntest.tree.get_text('mu') != orig_mu_text):
@@ -1149,16 +1097,13 @@
os.chdir(another_wc)
# ensure 'A' will be at revision 2
- out, err = svntest.main.run_svn(0, 'up')
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'up')
# now try a revert on a directory, and verify that it removed the zot
# file we had added previously
- out, err = svntest.main.run_svn(0, 'merge', '-r', 'COMMITTED:PREV',
- 'A', 'A')
- if err:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', 'COMMITTED:PREV',
+ 'A', 'A')
if (svntest.tree.get_text('A/zot') != None):
raise svntest.Failure
@@ -1175,7 +1120,6 @@
"merge change into unchanged binary file"
sbox.build()
-
wc_dir = sbox.wc_dir
# Add a binary file to the project
@@ -1255,6 +1199,7 @@
sbox.build()
wc_dir = sbox.wc_dir
+
trunk_url = svntest.main.current_repo_url + '/A/B/E';
# Create a branch
@@ -1293,7 +1238,6 @@
"merge should skip over unversioned obstructions"
sbox.build()
-
wc_dir = sbox.wc_dir
C_path = os.path.join(wc_dir, 'A', 'C')
@@ -1336,44 +1280,33 @@
svntest.main.file_append(os.path.join(C_path, "foo"), "foo") # unversioned
- outlines,errlines = svntest.main.run_svn(None, 'merge', '-r', '1:2', F_url,
- C_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '1:2', F_url, C_path)
# Revert the local mods, and this time make "Q" obstructed. An
# unversioned file called "Q" will obstruct the adding of the
# directory of the same name.
- outlines,errlines = svntest.main.run_svn(None, 'revert', '-R', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'revert', '-R', wc_dir)
os.unlink(os.path.join(C_path, "foo"))
svntest.main.safe_rmtree(os.path.join(C_path, "Q"))
svntest.main.file_append(os.path.join(C_path, "Q"), "foo") # unversioned
- outlines,errlines = svntest.main.run_svn(None, 'merge', '-r', '1:2', F_url,
- C_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '1:2', F_url, C_path)
# Revert the local mods, and commit the deletion of iota and A/D/G. (r3)
os.unlink(os.path.join(C_path, "foo"))
- outlines,errlines = svntest.main.run_svn(None, 'revert', '-R', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'revert', '-R', wc_dir)
iota_path = os.path.join(wc_dir, 'iota')
G_path = os.path.join(wc_dir, 'A', 'D', 'G')
- outlines,errlines = svntest.main.run_svn(None, 'rm', iota_path, G_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'rm', iota_path, G_path)
- outlines,errlines = svntest.main.run_svn(None, 'commit', '-m', 'msg',
- wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'commit', '-m', 'msg', wc_dir)
# Now create unversioned iota and A/D/G, try running a merge -r2:3.
# The merge process should skip over these targets, since they're
@@ -1381,33 +1314,25 @@
svntest.main.file_append(iota_path, "foo") # unversioned
os.mkdir(G_path) # unversioned
- outlines,errlines = svntest.main.run_svn(None, 'merge', '-r', '2:3',
- svntest.main.current_repo_url,
- wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '2:3',
+ svntest.main.current_repo_url, wc_dir)
# Revert the local mods, and commit a change to A/B/lambda (r4), and then
# commit the deletion of the same file. (r5)
os.unlink(iota_path)
svntest.main.safe_rmtree(G_path)
- outlines,errlines = svntest.main.run_svn(None, 'revert', '-R', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'revert', '-R', wc_dir)
lambda_path = os.path.join(wc_dir, 'A', 'B', 'lambda')
svntest.main.file_append(lambda_path, "more text")
- outlines,errlines = svntest.main.run_svn(None, 'commit', '-m', 'msg', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'commit', '-m', 'msg', wc_dir)
- outlines,errlines = svntest.main.run_svn(None, 'rm', lambda_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'rm', lambda_path)
- outlines,errlines = svntest.main.run_svn(None, 'commit', '-m', 'msg', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'commit', '-m', 'msg', wc_dir)
# lambda is gone, so create an unversioned lambda in its place.
# Then attempt to merge -r3:4, which is a change to lambda. The merge
@@ -1415,31 +1340,24 @@
svntest.main.file_append(lambda_path, "foo") # unversioned
- outlines,errlines = svntest.main.run_svn(None, 'merge', '-r', '3:4',
- svntest.main.current_repo_url,
- wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '3:4',
+ svntest.main.current_repo_url, wc_dir)
# OK, so let's commit the new lambda (r6), and then delete the
# working file. Then re-run the -r3:4 merge, and see how svn deals
# with a file being under version control, but missing.
- outlines,errlines = svntest.main.run_svn(None, 'add', lambda_path)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [], 'add', lambda_path)
- outlines,errlines = svntest.main.run_svn(None, 'commit', '-m', 'msg', wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'commit', '-m', 'msg', wc_dir)
os.unlink(lambda_path)
- outlines,errlines = svntest.main.run_svn(None, 'merge', '-r', '3:4',
- svntest.main.current_repo_url,
- wc_dir)
- if errlines:
- raise svntest.Failure
+ svntest.actions.run_and_verify_svn(None, None, [],
+ 'merge', '-r', '3:4',
+ svntest.main.current_repo_url, wc_dir)
########################################################################
Index: externals_tests.py
===================================================================
--- externals_tests.py (revision 6929)
+++ externals_tests.py (working copy)
@@ -22,8 +22,9 @@
# Our testing module
import svntest
-
+from svntest import SVNAnyOutput
+
# (abbreviation)
Skip = svntest.testcase.Skip
XFail = svntest.testcase.XFail
@@ -67,8 +68,7 @@
remove a previous incarnation of the other repository.
"""
- if sbox.build():
- return 1
+ sbox.build()
svntest.main.safe_rmtree(sbox.wc_dir) # The test itself will recreate this
@@ -89,39 +89,37 @@
D_path = os.path.join(wc_init_dir, "A/D")
# Create a working copy.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_init_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn("", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_init_dir)
# Make revisions 2 through 5, but don't bother with pre- and
# post-commit status checks.
svntest.main.file_append(mu_path, "\nAdded to mu in revision 2.\n")
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'ci', '-m', 'log msg', '--quiet', wc_init_dir)
- if (err_lines): return 1
+ svntest.actions.run_and_verify_svn("", None, [],
+ 'ci', '-m', 'log msg',
+ '--quiet', wc_init_dir)
svntest.main.file_append(pi_path, "\nAdded to pi in revision 3.\n")
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'ci', '-m', 'log msg', '--quiet', wc_init_dir)
- if (err_lines): return 1
+ svntest.actions.run_and_verify_svn("", None, [],
+ 'ci', '-m', 'log msg',
+ '--quiet', wc_init_dir)
svntest.main.file_append(lambda_path, "\nAdded to lambda in revision 4.\n")
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'ci', '-m', 'log msg', '--quiet', wc_init_dir)
- if (err_lines): return 1
+ svntest.actions.run_and_verify_svn("", None, [],
+ 'ci', '-m', 'log msg',
+ '--quiet', wc_init_dir)
svntest.main.file_append(omega_path, "\nAdded to omega in revision 5.\n")
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'ci', '-m', 'log msg', '--quiet', wc_init_dir)
- if (err_lines): return 1
+ svntest.actions.run_and_verify_svn("", None, [],
+ 'ci', '-m', 'log msg',
+ '--quiet', wc_init_dir)
# Get the whole working copy to revision 5.
- out_lines, err_lines = svntest.main.run_svn(None, 'up', wc_init_dir)
- if (err_lines): return 1
+ svntest.actions.run_and_verify_svn("", None, [], 'up', wc_init_dir)
# Now copy the initial repository to create the "other" repository,
# the one to which the first repository's `svn:externals' properties
@@ -136,9 +134,9 @@
tmp_f = os.tempnam(wc_init_dir, 'tmp')
svntest.main.file_append(tmp_f, externals_desc)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'pset', '-F', tmp_f, 'svn:externals', B_path)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn("", None, [],
+ 'pset',
+ '-F', tmp_f, 'svn:externals', B_path)
os.remove(tmp_f)
@@ -153,9 +151,8 @@
"\n"
svntest.main.file_append(tmp_f, externals_desc)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'pset', '-F', tmp_f, 'svn:externals', D_path)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn("", None, [], 'pset',
+ '-F', tmp_f, 'svn:externals', D_path)
os.remove(tmp_f)
@@ -170,11 +167,11 @@
expected_status.tweak(repos_rev=6)
expected_status.tweak('A/B', 'A/D', wc_rev=6, status=' ')
- return svntest.actions.run_and_verify_commit(wc_init_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- wc_init_dir)
+ svntest.actions.run_and_verify_commit(wc_init_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ wc_init_dir)
def change_external(path, new_val):
@@ -182,11 +179,10 @@
and commit the change."""
tmp_f = os.tempnam(svntest.main.temp_dir, 'tmp')
svntest.main.file_append(tmp_f, new_val)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'pset', '-F', tmp_f, 'svn:externals', path)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'ci', '-m', 'log msg', '--quiet', path)
- if (err_lines): return 1
+ svntest.actions.run_and_verify_svn("", None, [], 'pset',
+ '-F', tmp_f, 'svn:externals', path)
+ svntest.actions.run_and_verify_svn("", None, [], 'ci',
+ '-m', 'log msg', '--quiet', path)
os.remove(tmp_f)
@@ -207,20 +203,18 @@
def checkout_with_externals(sbox):
"test checkouts with externals"
- if externals_test_setup(sbox):
- return 1
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
# Create a working copy.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
# Probe the working copy a bit, see if it's as expected.
exdir_G_path = os.path.join(wc_dir, "A/B/exdir_G")
@@ -235,73 +229,58 @@
beta_path = os.path.join(blah_path, "beta")
if (not os.path.exists(exdir_G_path)):
- print "Probing for", exdir_G_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_G_path + " failed.")
if (not os.path.exists(exdir_G_pi_path)):
- print "Probing for", exdir_G_pi_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_G_pi_path + " failed.")
if (not os.path.exists(exdir_H_path)):
- print "Probing for", exdir_H_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_H_path + " failed.")
if (not os.path.exists(exdir_H_omega_path)):
- print "Probing for", exdir_H_omega_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_H_omega_path + " failed.")
if (not os.path.exists(x_path)):
- print "Probing for", x_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + x_path + " failed.")
if (not os.path.exists(y_path)):
- print "Probing for", y_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + y_path + " failed.")
if (not os.path.exists(z_path)):
- print "Probing for", z_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + z_path + " failed.")
if (not os.path.exists(z_path)):
- print "Probing for", z_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + z_path + " failed.")
if (not os.path.exists(alpha_path)):
- print "Probing for", alpha_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + alpha_path + " failed.")
if (not os.path.exists(beta_path)):
- print "Probing for", beta_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + beta_path + " failed.")
# Pick a file at random, make sure it has the expected contents.
fp = open(exdir_H_omega_path, 'r')
lines = fp.readlines()
if not ((len(lines) == 1) and (lines[0] == "This is the file 'omega'.")):
- print "Unexpected contents for rev 1 of", exdir_H_omega_path
- return 1
+ raise svntest.Failure("Unexpected contents for rev 1 of " +
+ exdir_H_omega_path)
- return 0
-
#----------------------------------------------------------------------
def update_receive_new_external(sbox):
"update to receive a new external module"
- if externals_test_setup(sbox):
- return 1
-
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
+
other_wc_dir = sbox.add_wc_path('other')
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
other_repo_url = repo_url + ".other"
# Checkout two working copies.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, other_wc_dir)
# Add one new external item to the property on A/D. The new item is
# "exdir_E", deliberately added in the middle not at the end.
@@ -321,45 +300,37 @@
change_external(os.path.join(wc_dir, "A/D"), new_externals_desc)
# Update the other working copy, see if we get the new item.
- out_lines, err_lines = svntest.main.run_svn (None, 'up', other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [], 'up', other_wc_dir)
exdir_E_path = os.path.join(other_wc_dir, "A", "D", "exdir_E")
if (not os.path.exists(exdir_E_path)):
- print "Probing for", exdir_E_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_E_path + " failed.")
- return 0
-
-
#----------------------------------------------------------------------
def update_lose_external(sbox):
"update to lose an external module"
- if externals_test_setup(sbox):
- return 1
-
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
+
other_wc_dir = sbox.add_wc_path('other')
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
other_repo_url = repo_url + ".other"
# Checkout two working copies.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, other_wc_dir)
# Lose one new external item from A/D. The lost item is
# "exdir_A", chosen because there are two other externals underneath
@@ -389,76 +360,61 @@
change_external(os.path.join(wc_dir, "A/D"), new_externals_desc)
# Update other working copy, see if lose & preserve things appropriately
- out_lines, err_lines = svntest.main.run_svn (None, 'up', other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [], 'up', other_wc_dir)
exdir_A_path = os.path.join(other_wc_dir, "A", "D", "exdir_A")
if (not os.path.exists(exdir_A_path)):
- print "Probing for", exdir_A_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_A_path + " failed.")
mu_path = os.path.join(other_wc_dir, "A", "D", "exdir_A", "mu")
if (os.path.exists(mu_path)):
- print mu_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(mu_path + " unexpectedly still exists.")
B_path = os.path.join(other_wc_dir, "A", "D", "exdir_A", "B")
if (os.path.exists(B_path)):
- print B_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(B_path + " unexpectedly still exists.")
C_path = os.path.join(other_wc_dir, "A", "D", "exdir_A", "C")
if (os.path.exists(C_path)):
- print C_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(C_path + " unexpectedly still exists.")
D_path = os.path.join(other_wc_dir, "A", "D", "exdir_A", "D")
if (os.path.exists(D_path)):
- print D_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(D_path + " unexpectedly still exists.")
G_path = os.path.join(other_wc_dir, "A", "D", "exdir_A", "G")
if (not os.path.exists(G_path)):
- print "Probing for", G_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + G_path + " failed.")
H_path = os.path.join(other_wc_dir, "A", "D", "exdir_A", "H")
if (not os.path.exists(H_path)):
- print "Probing for", H_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + H_path + " failed.")
- return 0
-
-
-
#----------------------------------------------------------------------
def update_change_pristine_external(sbox):
"update change to an unmodified external module"
- if externals_test_setup(sbox):
- return 1
-
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
+
other_wc_dir = sbox.add_wc_path('other')
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
other_repo_url = repo_url + ".other"
# Checkout two working copies.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, other_wc_dir)
# Change the "x/y/z/blah" external on A/D to point to a different
# URL. Since no changes were made to the old checked-out external,
@@ -477,50 +433,41 @@
change_external(os.path.join(wc_dir, "A/D"), new_externals_desc)
# Update other working copy, see if get the right change.
- out_lines, err_lines = svntest.main.run_svn (None, 'up', other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [], 'up', other_wc_dir)
xyzb_path = os.path.join(other_wc_dir, "x", "y", "z", "blah")
alpha_path = os.path.join(xyzb_path, "alpha")
if (os.path.exists(alpha_path)):
- print alpha_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(alpha_path + " unexpectedly still exists.")
beta_path = os.path.join(xyzb_path, "beta")
if (os.path.exists(beta_path)):
- print beta_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(beta_path + " unexpectedly still exists.")
- return 0
-
-
def update_change_modified_external(sbox):
"update changes to a modified external module"
- if externals_test_setup(sbox):
- return 1
-
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
+
other_wc_dir = sbox.add_wc_path('other')
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
other_repo_url = repo_url + ".other"
# Checkout two working copies.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, other_wc_dir)
# Make a couple of mods in the "x/y/z/blah/" external.
alpha_path = os.path.join(other_wc_dir, "A", "D",
@@ -547,50 +494,41 @@
change_external(os.path.join(wc_dir, "A/D"), new_externals_desc)
# Update other working copy, see if get the right change.
- out_lines, err_lines = svntest.main.run_svn (None, 'up', other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [], 'up', other_wc_dir)
xyzb_path = os.path.join(other_wc_dir, "x", "y", "z", "blah")
alpha_path = os.path.join(xyzb_path, "alpha")
if (os.path.exists(alpha_path)):
- print alpha_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(alpha_path + " unexpectedly still exists.")
beta_path = os.path.join(xyzb_path, "beta")
if (os.path.exists(beta_path)):
- print beta_path, "unexpectedly still exists."
- return 1
+ raise svntest.Failure(beta_path + " unexpectedly still exists.")
- return 0
-
-
def update_receive_change_under_external(sbox):
"update changes under an external module"
- if externals_test_setup(sbox):
- return 1
-
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
+
other_wc_dir = sbox.add_wc_path('other')
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
other_repo_url = repo_url + ".other"
# Checkout two working copies.
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'checkout',
- '--username', svntest.main.wc_author,
- '--password', svntest.main.wc_passwd,
- other_repo_url, other_wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ other_repo_url, other_wc_dir)
# Commit some modifications from the other_wc.
other_gamma_path = os.path.join(other_wc_dir, 'A', 'D', 'gamma')
@@ -602,14 +540,12 @@
expected_status = svntest.actions.get_virginal_state(other_wc_dir, 5)
expected_status.tweak(repos_rev=6)
expected_status.tweak('A/D/gamma', wc_rev=6)
- if svntest.actions.run_and_verify_commit(other_wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- other_wc_dir):
- print "commit from other working copy failed"
- return 1
-
+ svntest.actions.run_and_verify_commit(other_wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ other_wc_dir)
+
# Now update the regular wc to see if we get the change. Note that
# none of the module *properties* in this wc have been changed; only
# the source repository of the modules has received a change, and
@@ -618,8 +554,7 @@
# The output's going to be all screwy because of the module
# notifications, so don't bother parsing it, just run update
# directly.
- out_lines, err_lines = svntest.main.run_svn (None, 'up', wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [], 'up', wc_dir)
external_gamma_path = os.path.join(wc_dir, 'A', 'D', 'exdir_A', 'D', 'gamma')
fp = open(external_gamma_path, 'r')
@@ -627,8 +562,8 @@
if not ((len(lines) == 2)
and (lines[0] == "This is the file 'gamma'.\n")
and (lines[1] == "New text in other gamma.")):
- print "Unexpected contents for externally modified ", external_gamma_path
- return 1
+ raise svntest.Failure("Unexpected contents for externally modified " +
+ external_gamma_path)
fp.close()
# Commit more modifications
@@ -642,17 +577,14 @@
expected_status.tweak(repos_rev=7)
expected_status.tweak('A/D/gamma', wc_rev=6)
expected_status.tweak('A/D/G/rho', wc_rev=7)
- if svntest.actions.run_and_verify_commit(other_wc_dir,
- expected_output,
- expected_status,
- None, None, None, None, None,
- other_wc_dir):
- print "Commit from other working copy failed"
- return 1
+ svntest.actions.run_and_verify_commit(other_wc_dir,
+ expected_output,
+ expected_status,
+ None, None, None, None, None,
+ other_wc_dir)
- out_lines, err_lines = svntest.main.run_svn (None, 'up',
- os.path.join(wc_dir, "A", "B"))
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'up', os.path.join(wc_dir, "A", "B"))
external_rho_path = os.path.join(wc_dir, 'A', 'B', 'exdir_G', 'rho')
fp = open(external_rho_path, 'r')
@@ -660,33 +592,28 @@
if not ((len(lines) == 2)
and (lines[0] == "This is the file 'rho'.\n")
and (lines[1] == "New text in other rho.")):
- print "Unexpected contents for externally modified ", external_rho_path
- return 1
+ raise svntest.Failure("Unexpected contents for externally modified " +
+ external_rho_path)
fp.close()
- return 0
-
#----------------------------------------------------------------------
def modify_and_update_receive_new_external(sbox):
"commit and update additional externals"
- if externals_test_setup(sbox):
- return 1
-
+ externals_test_setup(sbox)
wc_dir = sbox.wc_dir
+
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
other_repo_url = repo_url + ".other"
# Checkout a working copy
- out_lines, err_lines = svntest.main.run_svn(None, 'checkout',
- '--username',
- svntest.main.wc_author,
- '--password',
- svntest.main.wc_passwd,
- repo_url, wc_dir)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_dir)
# Add one more external item
B_path = os.path.join(wc_dir, "A/B")
@@ -697,9 +624,9 @@
tmp_f = os.tempnam()
svntest.main.file_append(tmp_f, externals_desc)
- out_lines, err_lines = svntest.main.run_svn(None, 'pset', '-F', tmp_f,
- 'svn:externals', B_path)
- if err_lines: return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'pset', '-F', tmp_f,
+ 'svn:externals', B_path)
os.remove(tmp_f)
# Now cd into A/B and try updating
@@ -707,50 +634,43 @@
os.chdir(B_path)
try:
# Once upon a time there was a core-dump here
- out_lines, err_lines = svntest.main.run_svn (None, 'up')
- if err_lines or not out_lines:
- print "update failed"
- return 1
+
+ svntest.actions.run_and_verify_svn( "update failed",
+ SVNAnyOutput, [], 'up' )
finally:
os.chdir(was_cwd)
exdir_Z_path = os.path.join(B_path, "exdir_Z")
if not os.path.exists(exdir_Z_path):
- print "Probing for", exdir_Z_path, "failed."
- return 1
+ raise svntest.Failure("Probing for " + exdir_Z_path + " failed.")
#----------------------------------------------------------------------
def disallow_parent_directory_reference(sbox):
"error if external target dir refers to '..'"
- if sbox.build():
- return 1
-
+ sbox.build()
wc_dir = sbox.wc_dir
+
wc_other = sbox.wc_dir + '.other'
repo_dir = sbox.repo_dir
repo_url = sbox.repo_url
# Checkout the 'other' working copy, at revision 1.
svntest.main.safe_rmtree(wc_other)
- out_lines, err_lines = svntest.main.run_svn(None, 'checkout',
- '--username',
- svntest.main.wc_author,
- '--password',
- svntest.main.wc_passwd,
- repo_url, wc_other)
- if err_lines:
- return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'checkout',
+ '--username', svntest.main.wc_author,
+ '--password', svntest.main.wc_passwd,
+ repo_url, wc_other)
# Set up some illegal externals in the original WC.
def set_externals_for_path(path, val, dir):
tmp_f = os.tempnam(dir, 'tmp')
svntest.main.file_append(tmp_f, val)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'pset', '-F', tmp_f, 'svn:externals', path)
- if err_lines:
- return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'pset', '-F', tmp_f,
+ 'svn:externals', path)
os.remove(tmp_f)
B_path = os.path.join(wc_dir, 'A', 'B')
@@ -764,10 +684,8 @@
set_externals_for_path(G_path, externals_2, wc_dir)
set_externals_for_path(H_path, externals_3, wc_dir)
- out_lines, err_lines = svntest.main.run_svn \
- (None, 'ci', '-m', 'log msg', '--quiet', wc_dir)
- if (err_lines):
- return 1
+ svntest.actions.run_and_verify_svn( "", None, [],
+ 'ci', '-m', 'log msg', '--quiet', wc_dir)
# Update the corresponding parts of the other working copy,
# expecting errors.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Aug 30 19:26:36 2003