(self)
| 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): |
nothing calls this directly
no test coverage detected