# HG changeset patch # User Gregory Szorc # Date 1539699886 -7200 # Node ID 2c0aa02ecd5a05ae76b6345962ee3a0ef773bd8a # Parent ddeb510d6815371ca868bf820d390a02a8a6d480 testing: switch to inserting deltas As the comment in the test specifies, this was relying on storage backend implementation details. We switch to inserting a raw delta, skipping the regular insert path to ensure we have the desired outcome. This required implementing support for handling deltas in the revlog testing code. Differential Revision: https://phab.mercurial-scm.org/D5116 diff -r ddeb510d6815 -r 2c0aa02ecd5a mercurial/testing/storage.py --- a/mercurial/testing/storage.py Tue Oct 16 15:24:06 2018 +0200 +++ b/mercurial/testing/storage.py Tue Oct 16 16:24:46 2018 +0200 @@ -952,13 +952,12 @@ with self.assertRaises(error.StorageError): f.read(node1) - diff = mdiff.textdiff(fulltext1, fulltext2) node2 = storageutil.hashrevisionsha1(fulltext2, node1, nullid) - deltas = [(node2, node1, nullid, b'\x01' * 20, node1, diff, 0)] - # This /might/ fail on some backends. with self._maketransactionfn() as tr: - f.addgroup(deltas, lambda x: 0, tr) + delta = mdiff.textdiff(fulltext1, fulltext2) + self._addrawrevisionfn(f, tr, node2, node1, nullid, + 2, delta=(1, delta)) self.assertEqual(len(f), 3) diff -r ddeb510d6815 -r 2c0aa02ecd5a tests/test-storage.py --- a/tests/test-storage.py Tue Oct 16 15:24:06 2018 +0200 +++ b/tests/test-storage.py Tue Oct 16 16:24:46 2018 +0200 @@ -49,7 +49,8 @@ if rawtext is not None: fl._revlog.addrawrevision(rawtext, tr, linkrev, p1, p2, node, flags) elif delta is not None: - raise error.Abort('support for storing raw deltas not yet supported') + fl._revlog.addrawrevision(rawtext, tr, linkrev, p1, p2, node, flags, + cachedelta=delta) else: raise error.Abort('must supply rawtext or delta arguments')