Browse Source

test_chunkpoints_unchanged: do not use blake2b_256

we want to get rid of legacy stuff(*) one day and sha256 is as
good for this purpose (and might be even hw accelerated).

(*) considered legacy due to the way it gives the key to the
blake2b function (just padding and prepending it to the data,
instead of using the key parameter, see #8867 ).
Thomas Waldmann 3 months ago
parent
commit
ce9ee2eef3
1 changed files with 9 additions and 5 deletions
  1. 9 5
      src/borg/testsuite/chunker_slow.py

+ 9 - 5
src/borg/testsuite/chunker_slow.py

@@ -1,13 +1,17 @@
+from hashlib import sha256
 from io import BytesIO
 from io import BytesIO
 from binascii import unhexlify
 from binascii import unhexlify
 
 
 from .chunker import cf
 from .chunker import cf
 from ..chunker import Chunker
 from ..chunker import Chunker
-from ..crypto.low_level import blake2b_256
 from ..constants import *  # NOQA
 from ..constants import *  # NOQA
 from . import BaseTestCase
 from . import BaseTestCase
 
 
 
 
+def H(data):
+    return sha256(data).digest()
+
+
 class ChunkerRegressionTestCase(BaseTestCase):
 class ChunkerRegressionTestCase(BaseTestCase):
 
 
     def test_chunkpoints_unchanged(self):
     def test_chunkpoints_unchanged(self):
@@ -31,10 +35,10 @@ class ChunkerRegressionTestCase(BaseTestCase):
                         for seed in (1849058162, 1234567653):
                         for seed in (1849058162, 1234567653):
                             fh = BytesIO(data)
                             fh = BytesIO(data)
                             chunker = Chunker(seed, minexp, maxexp, maskbits, winsize)
                             chunker = Chunker(seed, minexp, maxexp, maskbits, winsize)
-                            chunks = [blake2b_256(b'', c) for c in cf(chunker.chunkify(fh, -1))]
-                            runs.append(blake2b_256(b'', b''.join(chunks)))
+                            chunks = [H(c) for c in cf(chunker.chunkify(fh, -1))]
+                            runs.append(H(b''.join(chunks)))
 
 
         # The "correct" hash below matches the existing chunker behavior.
         # The "correct" hash below matches the existing chunker behavior.
         # Future chunker optimisations must not change this, or existing repos will bloat.
         # Future chunker optimisations must not change this, or existing repos will bloat.
-        overall_hash = blake2b_256(b'', b''.join(runs))
-        self.assert_equal(overall_hash, unhexlify("b559b0ac8df8daaa221201d018815114241ea5c6609d98913cd2246a702af4e3"))
+        overall_hash = H(b''.join(runs))
+        self.assert_equal(overall_hash, unhexlify("a43d0ecb3ae24f38852fcc433a83dacd28fe0748d09cc73fc11b69cf3f1a7299"))