(self)
| 394 | ) |
| 395 | |
| 396 | def test_large_update(self): |
| 397 | aas = b'a' * 128 |
| 398 | bees = b'b' * 127 |
| 399 | cees = b'c' * 126 |
| 400 | dees = b'd' * 2048 # HASHLIB_GIL_MINSIZE |
| 401 | |
| 402 | for cons in self.hash_constructors: |
| 403 | m1 = cons(usedforsecurity=False) |
| 404 | m1.update(aas) |
| 405 | m1.update(bees) |
| 406 | m1.update(cees) |
| 407 | m1.update(dees) |
| 408 | if m1.name in self.shakes: |
| 409 | args = (16,) |
| 410 | else: |
| 411 | args = () |
| 412 | |
| 413 | m2 = cons(usedforsecurity=False) |
| 414 | m2.update(aas + bees + cees + dees) |
| 415 | self.assertEqual(m1.digest(*args), m2.digest(*args)) |
| 416 | |
| 417 | m3 = cons(aas + bees + cees + dees, usedforsecurity=False) |
| 418 | self.assertEqual(m1.digest(*args), m3.digest(*args)) |
| 419 | |
| 420 | # verify copy() doesn't touch original |
| 421 | m4 = cons(aas + bees + cees, usedforsecurity=False) |
| 422 | m4_digest = m4.digest(*args) |
| 423 | m4_copy = m4.copy() |
| 424 | m4_copy.update(dees) |
| 425 | self.assertEqual(m1.digest(*args), m4_copy.digest(*args)) |
| 426 | self.assertEqual(m4.digest(*args), m4_digest) |
| 427 | |
| 428 | @requires_resource('cpu') |
| 429 | def test_sha256_update_over_4gb(self): |
nothing calls this directly
no test coverage detected