Author: philip
Date: Fri Nov 21 14:26:20 2014
New Revision: 1640920

URL: http://svn.apache.org/r1640920
Log:
Regression test for txdelta fix r1640832.

* subversion/tests/cmdline/svnadmin_tests.py
  (load_txdelta): New test.
  (test_list): Add new test.

* subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz: New.

Added:
    
subversion/trunk/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
   (with props)
Modified:
    subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py

Modified: subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py?rev=1640920&r1=1640919&r2=1640920&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/svnadmin_tests.py Fri Nov 21 
14:26:20 2014
@@ -32,6 +32,7 @@ import shutil
 import sys
 import threading
 import time
+import gzip
 
 logger = logging.getLogger()
 
@@ -2938,6 +2939,35 @@ def upgrade(sbox):
                                      '-m', svntest.main.make_log_msg(),
                                      sbox.repo_url + '/dir')
 
+def load_txdelta(sbox):
+  "exercising svn_txdelta_target on BDB"
+
+  test_create(sbox)
+
+  # This dumpfile produced a BDB repository that generated cheksum
+  # mismatches on read caused by the improper handling of
+  # svn_txdelta_target ops.  The bug was fixed by r1640832.
+
+  dumpfile_location = os.path.join(os.path.dirname(sys.argv[0]),
+                                   'svnadmin_tests_data',
+                                   'load_txdelta.dump.gz')
+  dumpfile = gzip.open(dumpfile_location).read()
+
+  load_dumpstream(sbox, dumpfile)
+
+  # Verify would fail with a checksum mismatch:
+  # * Error verifying revision 14.
+  # svnadmin: E200014: MD5 checksum mismatch on representation 'r':
+  #    expected:  5182e8876ed894dc7fe28f6ff5b2fee6
+  #      actual:  5121f82875508863ad70daa8244e6947
+
+  exit_code, output, errput = svntest.main.run_svnadmin("verify", 
sbox.repo_dir)
+  if errput:
+    raise SVNUnexpectedStderr(errput)
+  if svntest.verify.verify_outputs(
+    "Output of 'svnadmin verify' is unexpected.", None, output, None,
+    ".*Verified revision *"):
+    raise svntest.Failure
 
 ########################################################################
 # Run the tests
@@ -2992,6 +3022,7 @@ test_list = [ None,
               fsfs_hotcopy_progress_old,
               freeze_same_uuid,
               upgrade,
+              load_txdelta,
              ]
 
 if __name__ == '__main__':

Added: 
subversion/trunk/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz?rev=1640920&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
subversion/trunk/subversion/tests/cmdline/svnadmin_tests_data/load_txdelta.dump.gz
------------------------------------------------------------------------------
    svn:mime-type = application/x-gzip


Reply via email to