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

Method check_file_digest

Lib/test/test_hashlib.py:551–576  ·  view source on GitHub ↗
(self, name, data, hexdigest)

Source from the content-addressed store, hash-verified

549 self.check_file_digest(name, data, hexdigest)
550
551 def check_file_digest(self, name, data, hexdigest):
552 hexdigest = hexdigest.lower()
553 digests = []
554 for digest in [name, *self.constructors_to_test[name]]:
555 try:
556 if callable(digest):
557 digest(b"")
558 else:
559 hashlib.new(digest)
560 except ValueError:
561 # skip, algorithm is blocked by security policy.
562 continue
563 digests.append(digest)
564
565 with tempfile.TemporaryFile() as f:
566 f.write(data)
567
568 for digest in digests:
569 buf = io.BytesIO(data)
570 buf.seek(0)
571 self.assertEqual(
572 hashlib.file_digest(buf, digest).hexdigest(), hexdigest
573 )
574 f.seek(0)
575 digestobj = hashlib.file_digest(f, digest)
576 self.assertEqual(digestobj.hexdigest(), hexdigest)
577
578 def check_no_unicode(self, algorithm_name):
579 # Unicode objects are not allowed as input.

Callers 1

checkMethod · 0.95

Calls 9

seekMethod · 0.95
digestFunction · 0.85
hexdigestMethod · 0.80
lowerMethod · 0.45
newMethod · 0.45
appendMethod · 0.45
writeMethod · 0.45
assertEqualMethod · 0.45
seekMethod · 0.45

Tested by

no test coverage detected