You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2014/04/11 16:56:10 UTC

svn commit: r1586668 - /subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py

Author: julianfoad
Date: Fri Apr 11 14:56:10 2014
New Revision: 1586668

URL: http://svn.apache.org/r1586668
Log:
Add a regression test for issue #4490 'svnrdump load crashes on a prop
change in a non-deltas dump'.

* subversion/tests/cmdline/svnrdump_tests.py
  (load_prop_change_in_non_deltas_dump): New test.
  (test_list): Run it.

Modified:
    subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py?rev=1586668&r1=1586667&r2=1586668&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnrdump_tests.py Fri Apr 11 14:56:10 2014
@@ -769,6 +769,34 @@ def only_trunk_A_range_dump(sbox):
 
 #----------------------------------------------------------------------
 
+@Issue(4490)
+def load_prop_change_in_non_deltas_dump(sbox):
+  "load: prop change in non-deltas dump"
+  # 'svnrdump load' crashed when processing a node record with a non-delta
+  # properties block if the node previously had any svn:* properties.
+
+  sbox.build()
+  sbox.simple_propset('svn:eol-style', 'native', 'iota', 'A/mu', 'A/B/lambda')
+  sbox.simple_commit()
+
+  # Any prop change on a node that had an svn:* prop triggered the crash,
+  # so test an svn:* prop deletion and also some other prop changes.
+  sbox.simple_propdel('svn:eol-style', 'iota')
+  sbox.simple_propset('svn:eol-style', 'LF', 'A/mu')
+  sbox.simple_propset('p1', 'v1', 'A/B/lambda')
+  sbox.simple_commit()
+
+  # Create a non-deltas dump. Use 'svnadmin', as svnrdump doesn't have that
+  # option.
+  dump = svntest.actions.run_and_verify_dump(sbox.repo_dir, deltas=False)
+
+  # Try to load that dump.
+  build_repos(sbox)
+  svntest.actions.enable_revprop_changes(sbox.repo_dir)
+  svntest.actions.run_and_verify_svnrdump(dump,
+                                          [], [], 0,
+                                          '-q', 'load', sbox.repo_url)
+
 
 ########################################################################
 # Run the tests
@@ -824,6 +852,7 @@ test_list = [ None,
               range_dump,
               only_trunk_range_dump,
               only_trunk_A_range_dump,
+              load_prop_change_in_non_deltas_dump,
              ]
 
 if __name__ == '__main__':