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
+