(self, name, data, hexdigest, shake=False, **kwargs)
| 455 | self.assertEqual(h.hexdigest(), "8a268e83dd30528bc0907fa2008c91de8f090a0b6e0e60a5ff0d999d8485526f") |
| 456 | |
| 457 | def check(self, name, data, hexdigest, shake=False, **kwargs): |
| 458 | length = len(hexdigest)//2 |
| 459 | hexdigest = hexdigest.lower() |
| 460 | constructors = self.constructors_to_test[name] |
| 461 | # 2 is for hashlib.name(...) and hashlib.new(name, ...) |
| 462 | self.assertGreaterEqual(len(constructors), 2) |
| 463 | for hash_object_constructor in constructors: |
| 464 | m = hash_object_constructor(data, **kwargs) |
| 465 | computed = m.hexdigest() if not shake else m.hexdigest(length) |
| 466 | self.assertEqual( |
| 467 | computed, hexdigest, |
| 468 | "Hash algorithm %s constructed using %s returned hexdigest" |
| 469 | " %r for %d byte input data that should have hashed to %r." |
| 470 | % (name, hash_object_constructor, |
| 471 | computed, len(data), hexdigest)) |
| 472 | computed = m.digest() if not shake else m.digest(length) |
| 473 | digest = bytes.fromhex(hexdigest) |
| 474 | self.assertEqual(computed, digest) |
| 475 | if not shake: |
| 476 | self.assertEqual(len(digest), m.digest_size) |
| 477 | |
| 478 | if not shake and kwargs.get("key") is None: |
| 479 | # skip shake and blake2 extended parameter tests |
| 480 | self.check_file_digest(name, data, hexdigest) |
| 481 | |
| 482 | def check_file_digest(self, name, data, hexdigest): |
| 483 | hexdigest = hexdigest.lower() |
no test coverage detected