You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rh...@apache.org on 2013/01/21 01:27:48 UTC
svn commit: r1436012 - in /subversion/trunk/subversion/tests/cmdline:
changelist_tests.py copy_tests.py merge_tests.py prop_tests.py
revert_tests.py svnadmin_tests.py svntest/actions.py
Author: rhuijben
Date: Mon Jan 21 00:27:47 2013
New Revision: 1436012
URL: http://svn.apache.org/viewvc?rev=1436012&view=rev
Log:
Replace many local reimplementations of svntest.actions.verify_disk() with
a call to this standard function.
* subversion/tests/cmdline/changelist_tests.py
(propmods_with_changelists):
* subversion/tests/cmdline/copy_tests.py
(copy_replace_with_props,
revision_kinds_local_source,
copy_added_paths_with_props,
copy_peg_rev_local_files,
copy_peg_rev_local_dirs):
* subversion/tests/cmdline/merge_tests.py
(merge_added_subtree):
* subversion/tests/cmdline/prop_tests.py
(make_local_props,
props_on_replaced_file,
rm_of_replaced_file,
obstructed_subdirs):
* subversion/tests/cmdline/svnadmin_tests.py
(load_and_verify_dumpstream):
* subversion/tests/cmdline/revert_tests.py
(revert_replacement_with_props,
revert_file_merge_replace_with_history,
revert_after_second_replace,
revert_with_unversioned_targets):
Replace local code by call to verify_disk()
* subversion/tests/cmdline/svntest/actions.py
(run_and_verify_checkout2): Replace local reimplementation with call to
verify_disk().
(verify_update): Extract disk verification code from here and place it into
(verify_disk): .. this function, that used to call verify_update.
Modified:
subversion/trunk/subversion/tests/cmdline/changelist_tests.py
subversion/trunk/subversion/tests/cmdline/copy_tests.py
subversion/trunk/subversion/tests/cmdline/merge_tests.py
subversion/trunk/subversion/tests/cmdline/prop_tests.py
subversion/trunk/subversion/tests/cmdline/revert_tests.py
subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
subversion/trunk/subversion/tests/cmdline/svntest/actions.py
Modified: subversion/trunk/subversion/tests/cmdline/changelist_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/changelist_tests.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/changelist_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/changelist_tests.py Mon Jan 21 00:27:47 2013
@@ -633,9 +633,8 @@ def propmods_with_changelists(sbox):
'A/D/G/pi', 'A/D/G/rho', 'A/D/G/tau', 'A/D/H',
'A/D/H/chi', 'A/D/H/omega', 'A/D/H/psi', 'A/D/gamma',
'A/mu', 'iota', props={ 'name' : 'value' })
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Proplist the 'i' changelist
exit_code, output, errput = svntest.main.run_svn(None, "proplist", "--depth",
@@ -653,9 +652,7 @@ def propmods_with_changelists(sbox):
wc_dir)
expected_disk.tweak('A/D/G/pi', 'A/D/G/rho', 'A/D/H/chi', 'A/D/H/psi',
props={})
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Add 'foo'='bar' property on all files under A/B to depth files and
# in changelist 'a'.
@@ -664,9 +661,7 @@ def propmods_with_changelists(sbox):
os.path.join(wc_dir, 'A', 'B'))
expected_disk.tweak('A/B/lambda', props={ 'name' : 'value',
'foo' : 'bar' })
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Add 'bloo'='blarg' property to all files in changelist 'a'.
svntest.main.run_svn(None, "pset", "--depth", "infinity",
@@ -678,9 +673,7 @@ def propmods_with_changelists(sbox):
expected_disk.tweak('A/B/E/alpha', 'A/B/E/beta', 'A/D/H/omega', 'A/D/gamma',
'iota', props={ 'name' : 'value',
'bloo' : 'blarg' })
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Propget 'name' in files in changelists 'a' and 'i' to depth files.
exit_code, output, errput = svntest.main.run_svn(None, "pget",
Modified: subversion/trunk/subversion/tests/cmdline/copy_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/copy_tests.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/copy_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/copy_tests.py Mon Jan 21 00:27:47 2013
@@ -127,8 +127,7 @@ def copy_replace_with_props(sbox, wc_cop
expected_disk.tweak('A/D/G/rho',
props={ 'svn:eol-style': 'LF' })
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Commit props
expected_output = svntest.wc.State(wc_dir, {
@@ -172,8 +171,7 @@ def copy_replace_with_props(sbox, wc_cop
expected_disk.tweak('A/D/G/rho',
contents="This is the file 'pi'.\n",
props=props)
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# Now commit and verify
expected_status.tweak('A/D/G/rho', status='R ', copied='+', wc_rev='-')
@@ -1376,8 +1374,7 @@ def revision_kinds_local_source(sbox):
raise svntest.Failure
# Check that the new files have the right contents
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
#-------------------------------------------------------------
@@ -2653,12 +2650,7 @@ def copy_added_paths_with_props(sbox):
'A/D/I' : Item(props={'foo' : 'bar'}),
})
- # Read disk state with props
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
-
- # Compare actual vs. expected disk trees.
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# Copy added dir I to dir A/C
I_copy_path = sbox.ospath('A/C/I')
@@ -2699,12 +2691,7 @@ def copy_added_paths_with_props(sbox):
expected_status,
None,
wc_dir)
- # Read disk state with props
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
-
- # Compare actual vs. expected disk trees.
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
def copy_added_paths_to_URL(sbox):
"copy added path to URL"
@@ -3323,8 +3310,7 @@ def copy_peg_rev_local_files(sbox):
'sigma' : Item(contents=psi_text, props={}),
})
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 3)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
#----------------------------------------------------------------------
@@ -3406,8 +3392,7 @@ def copy_peg_rev_local_dirs(sbox):
'A/J/beta' : Item(contents="This is the file 'beta'.\n"),
})
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 5)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
#----------------------------------------------------------------------
Modified: subversion/trunk/subversion/tests/cmdline/merge_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/merge_tests.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/merge_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/merge_tests.py Mon Jan 21 00:27:47 2013
@@ -10907,9 +10907,7 @@ def merge_added_subtree(sbox):
svntest.actions.run_and_verify_svn("", None, [],
"cp", A_COPY_url + '/D2',
os.path.join(A_path, "D2"))
- actual_tree = svntest.tree.build_tree_from_wc(A_path, 0)
- svntest.tree.compare_trees("expected disk",
- actual_tree, expected_disk.old_tree())
+ svntest.actions.verify_disk(A_path, expected_disk)
svntest.actions.run_and_verify_status(A_path, expected_status)
# Remove the copy artifacts
Modified: subversion/trunk/subversion/tests/cmdline/prop_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/prop_tests.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/prop_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/prop_tests.py Mon Jan 21 00:27:47 2013
@@ -92,11 +92,7 @@ def make_local_props(sbox):
# Read the real disk tree. Notice we are passing the (normally
# disabled) "load props" flag to this routine. This will run 'svn
# proplist' on every item in the working copy!
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
-
- # Compare actual vs. expected disk trees.
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Edit without actually changing the property
svntest.main.use_editor('identity')
@@ -1319,9 +1315,7 @@ def props_on_replaced_file(sbox):
# check that the replaced file has no properties
expected_disk = svntest.main.greek_state.copy()
expected_disk.tweak('iota', contents="some mod")
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# now add a new property to iota
sbox.simple_propset('red', 'mojo', 'iota')
@@ -1329,9 +1323,7 @@ def props_on_replaced_file(sbox):
# What we expect the disk tree to look like:
expected_disk.tweak('iota', props={'red' : 'mojo', 'groovy' : 'baby'})
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
#----------------------------------------------------------------------
@@ -1781,9 +1773,7 @@ def rm_of_replaced_file(sbox):
expected_disk.tweak('iota', props={'red': 'rojo', 'blue': 'lagoon'})
expected_disk.tweak('A/mu', props={'red': 'rojo', 'blue': 'lagoon'},
contents="This is the file 'iota'.\n")
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# Remove the copy. This should leave the original locally-deleted mu,
# which should have no properties.
@@ -2012,17 +2002,13 @@ def obstructed_subdirs(sbox):
expected_disk = svntest.main.greek_state.copy()
expected_disk.tweak('A/C', props={'red': 'blue'})
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, load_props=True)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# Remove the subdir from disk, and validate the status
svntest.main.safe_rmtree(C_path)
expected_disk.remove('A/C')
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, load_props=True)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
expected_status.tweak('A/C', status='!M', wc_rev='1')
@@ -2035,9 +2021,7 @@ def obstructed_subdirs(sbox):
expected_disk.add({'A/C': Item(contents='', props={'red': 'blue'})})
expected_status.tweak('A/C', status='~M', wc_rev='1')
- actual_disk_tree = svntest.tree.build_tree_from_wc(wc_dir, load_props=True)
- svntest.tree.compare_trees("disk", actual_disk_tree,
- expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
svntest.actions.run_and_verify_status(wc_dir, expected_status)
Modified: subversion/trunk/subversion/tests/cmdline/revert_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/revert_tests.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/revert_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/revert_tests.py Mon Jan 21 00:27:47 2013
@@ -79,8 +79,7 @@ def revert_replacement_with_props(sbox,
expected_disk.tweak('A/D/G/rho',
props={ 'svn:eol-style': 'LF' })
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk, True)
# Commit props
expected_output = svntest.wc.State(wc_dir, {
@@ -124,8 +123,7 @@ def revert_replacement_with_props(sbox,
expected_disk.tweak('A/D/G/rho',
contents="This is the file 'pi'.\n",
props=props)
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# Now revert
expected_status.tweak('A/D/G/rho', status='R ', copied='+', wc_rev='-')
@@ -144,8 +142,7 @@ def revert_replacement_with_props(sbox,
props={ 'phony-prop': '*' })
expected_disk.tweak('A/D/G/rho',
props={ 'svn:eol-style': 'LF' })
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
@@ -511,9 +508,8 @@ def revert_file_merge_replace_with_histo
expected_status.tweak('A/D/G/rho', copied=None, status=' ', wc_rev=3)
svntest.actions.run_and_verify_status(wc_dir, expected_status)
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
expected_disk.tweak('A/D/G/rho', contents="new rho\n")
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
# Make sure the revert removed the copy from information.
expected_infos = [
@@ -578,8 +574,7 @@ def revert_after_second_replace(sbox):
# Check disk status
expected_disk = svntest.main.greek_state.copy()
expected_status = svntest.actions.get_virginal_state(wc_dir, 1)
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
#----------------------------------------------------------------------
@@ -1594,8 +1589,7 @@ def revert_with_unversioned_targets(sbox
expected_disk.add({
'A/D/H/delta': Item(delta_contents),
})
- actual_disk = svntest.tree.build_tree_from_wc(wc_dir, 1)
- svntest.tree.compare_trees("disk", actual_disk, expected_disk.old_tree())
+ svntest.actions.verify_disk(wc_dir, expected_disk.old_tree(), True)
def revert_nonexistent(sbox):
'svn revert -R nonexistent'
Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Mon Jan 21 00:27:47 2013
@@ -230,14 +230,8 @@ def load_and_verify_dumpstream(sbox, exp
"update", "-r%s" % (rev+1),
sbox.wc_dir)
- wc_tree = svntest.tree.build_tree_from_wc(sbox.wc_dir, check_props)
- rev_tree = revs[rev].old_tree()
-
- try:
- svntest.tree.compare_trees("rev/disk", rev_tree, wc_tree)
- except svntest.tree.SVNTreeError:
- svntest.verify.display_trees(None, 'WC TREE', wc_tree, rev_tree)
- raise
+ rev_tree = revs[rev]
+ svntest.actions.verify_disk(sbox.wc_dir, rev_tree, check_props)
def load_dumpstream(sbox, dump, *varargs):
"Load dump text without verification."
Modified: subversion/trunk/subversion/tests/cmdline/svntest/actions.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svntest/actions.py?rev=1436012&r1=1436011&r2=1436012&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svntest/actions.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svntest/actions.py Mon Jan 21 00:27:47 2013
@@ -478,17 +478,10 @@ def run_and_verify_checkout2(do_remove,
_log_tree_state("ACTUAL OUTPUT TREE:", actual, wc_dir_name)
raise
- # Create a tree by scanning the working copy
- actual = tree.build_tree_from_wc(wc_dir_name)
-
- # Verify expected disk against actual disk.
- try:
- tree.compare_trees("disk", actual, disk_tree,
- singleton_handler_a, a_baton,
- singleton_handler_b, b_baton)
- except tree.SVNTreeUnequal:
- _log_tree_state("ACTUAL DISK TREE:", actual, wc_dir_name)
- raise
+ if disk_tree:
+ verify_disk(wc_dir_name, disk_tree, False,
+ singleton_handler_a, a_baton,
+ singleton_handler_b, b_baton)
def run_and_verify_checkout(URL, wc_dir_name, output_tree, disk_tree,
singleton_handler_a = None,
@@ -759,8 +752,6 @@ def verify_update(actual_output,
mergeinfo_output_tree = mergeinfo_output_tree.old_tree()
if isinstance(elision_output_tree, wc.State):
elision_output_tree = elision_output_tree.old_tree()
- if isinstance(disk_tree, wc.State):
- disk_tree = disk_tree.old_tree()
if isinstance(status_tree, wc.State):
status_tree = status_tree.old_tree()
@@ -794,27 +785,35 @@ def verify_update(actual_output,
# Create a tree by scanning the working copy, and verify it
if disk_tree:
- actual_disk = tree.build_tree_from_wc(wc_dir_name, check_props)
- try:
- tree.compare_trees("disk", actual_disk, disk_tree,
- singleton_handler_a, a_baton,
- singleton_handler_b, b_baton)
- except tree.SVNTreeUnequal:
- _log_tree_state("EXPECTED DISK TREE:", disk_tree)
- _log_tree_state("ACTUAL DISK TREE:", actual_disk)
- raise
+ verify_disk(wc_dir_name, disk_tree, check_props,
+ singleton_handler_a, a_baton,
+ singleton_handler_b, b_baton)
# Verify via 'status' command too, if possible.
if status_tree:
run_and_verify_status(wc_dir_name, status_tree)
-def verify_disk(wc_dir_name, disk_tree, check_props=False):
+def verify_disk(wc_dir_name, disk_tree, check_props=False,
+ singleton_handler_a = None, a_baton = None,
+ singleton_handler_b = None, b_baton = None):
"""Verify WC_DIR_NAME against DISK_TREE. If CHECK_PROPS is set,
the comparison will examin props. Returns if successful, raises on
failure."""
- verify_update(None, None, None, wc_dir_name, None, None, None, disk_tree,
- None, check_props=check_props)
+
+ if isinstance(disk_tree, wc.State):
+ disk_tree = disk_tree.old_tree()
+
+ actual_disk = tree.build_tree_from_wc(wc_dir_name, check_props)
+ try:
+ tree.compare_trees("disk", actual_disk, disk_tree,
+ singleton_handler_a, a_baton,
+ singleton_handler_b, b_baton)
+ except tree.SVNTreeUnequal:
+ _log_tree_state("EXPECTED DISK TREE:", disk_tree)
+ _log_tree_state("ACTUAL DISK TREE:", actual_disk)
+ raise
+