MCPcopy Index your code
hub / github.com/python/cpython / test_large_update

Method test_large_update

Lib/test/test_hashlib.py:464–494  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

462 )
463
464 def test_large_update(self):
465 aas = b'a' * 128
466 bees = b'b' * 127
467 cees = b'c' * 126
468 dees = b'd' * 2048 # HASHLIB_GIL_MINSIZE
469
470 for cons in self.hash_constructors:
471 m1 = cons(usedforsecurity=False)
472 m1.update(aas)
473 m1.update(bees)
474 m1.update(cees)
475 m1.update(dees)
476 if m1.name in self.shakes:
477 args = (16,)
478 else:
479 args = ()
480
481 m2 = cons(usedforsecurity=False)
482 m2.update(aas + bees + cees + dees)
483 self.assertEqual(m1.digest(*args), m2.digest(*args))
484
485 m3 = cons(aas + bees + cees + dees, usedforsecurity=False)
486 self.assertEqual(m1.digest(*args), m3.digest(*args))
487
488 # verify copy() doesn't touch original
489 m4 = cons(aas + bees + cees, usedforsecurity=False)
490 m4_digest = m4.digest(*args)
491 m4_copy = m4.copy()
492 m4_copy.update(dees)
493 self.assertEqual(m1.digest(*args), m4_copy.digest(*args))
494 self.assertEqual(m4.digest(*args), m4_digest)
495
496 @requires_resource('cpu')
497 def test_sha256_update_over_4gb(self):

Callers

nothing calls this directly

Calls 4

updateMethod · 0.45
assertEqualMethod · 0.45
digestMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected