Skip to content

Issue #597 pypy hashlib compat. #615

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 29, 2012
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions pip/download.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,14 +323,14 @@ def is_file_url(link):


def _check_hash(download_hash, link):
if download_hash.name != link.hash_name:
logger.fatal("Hash name of the package %s (%s) doesn't match the expected hash name %s!"
% (download_hash.name, link, link.hash_name))
if download_hash.digest_size != hashlib.new(link.hash_name).digest_size:
logger.fatal("Hash digest size of the package %d (%s) doesn't match the expected hash name %s!"
% (download_hash.digest_size, link, link.hash_name))
raise InstallationError('Hash name mismatch for package %s' % link)
if download_hash.hexdigest() != link.hash:
logger.fatal("%s hash of the package %s (%s) doesn't match the expected hash %s!"
% (download_hash.name, link, download_hash, link.hash))
raise InstallationError('Bad %s hash for package %s' % (download_hash.name, link))
logger.fatal("Hash of the package %s (%s) doesn't match the expected hash %s!"
% (link, download_hash, link.hash))
raise InstallationError('Bad %s hash for package %s' % (link.hash_name, link))


def _get_hash_from_file(target_file, link):
Expand Down
12 changes: 6 additions & 6 deletions tests/test_hashes.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def test_get_hash_from_file_md5():

download_hash = _get_hash_from_file(file_path, file_link)

assert download_hash.name == "md5"
assert download_hash.digest_size == 16
assert download_hash.hexdigest() == "d41d8cd98f00b204e9800998ecf8427e"


Expand All @@ -23,7 +23,7 @@ def test_get_hash_from_file_sha1():

download_hash = _get_hash_from_file(file_path, file_link)

assert download_hash.name == "sha1"
assert download_hash.digest_size == 20
assert download_hash.hexdigest() == "da39a3ee5e6b4b0d3255bfef95601890afd80709"


Expand All @@ -33,7 +33,7 @@ def test_get_hash_from_file_sha224():

download_hash = _get_hash_from_file(file_path, file_link)

assert download_hash.name == "sha224"
assert download_hash.digest_size == 28
assert download_hash.hexdigest() == "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f"


Expand All @@ -43,7 +43,7 @@ def test_get_hash_from_file_sha384():

download_hash = _get_hash_from_file(file_path, file_link)

assert download_hash.name == "sha384"
assert download_hash.digest_size == 48
assert download_hash.hexdigest() == "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"


Expand All @@ -53,7 +53,7 @@ def test_get_hash_from_file_sha256():

download_hash = _get_hash_from_file(file_path, file_link)

assert download_hash.name == "sha256"
assert download_hash.digest_size == 32
assert download_hash.hexdigest() == "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"


Expand All @@ -63,7 +63,7 @@ def test_get_hash_from_file_sha512():

download_hash = _get_hash_from_file(file_path, file_link)

assert download_hash.name == "sha512"
assert download_hash.digest_size == 64
assert download_hash.hexdigest() == "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"


Expand Down