Skip to content

Commit 0fcfe0f

Browse files
committed
Merge pull request #615 from pnasrat/pypy-fixes
Issue #597 pypy hashlib compat.
2 parents 27c0f5e + d1a7ea2 commit 0fcfe0f

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

pip/download.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -323,14 +323,14 @@ def is_file_url(link):
323323

324324

325325
def _check_hash(download_hash, link):
326-
if download_hash.name != link.hash_name:
327-
logger.fatal("Hash name of the package %s (%s) doesn't match the expected hash name %s!"
328-
% (download_hash.name, link, link.hash_name))
326+
if download_hash.digest_size != hashlib.new(link.hash_name).digest_size:
327+
logger.fatal("Hash digest size of the package %d (%s) doesn't match the expected hash name %s!"
328+
% (download_hash.digest_size, link, link.hash_name))
329329
raise InstallationError('Hash name mismatch for package %s' % link)
330330
if download_hash.hexdigest() != link.hash:
331-
logger.fatal("%s hash of the package %s (%s) doesn't match the expected hash %s!"
332-
% (download_hash.name, link, download_hash, link.hash))
333-
raise InstallationError('Bad %s hash for package %s' % (download_hash.name, link))
331+
logger.fatal("Hash of the package %s (%s) doesn't match the expected hash %s!"
332+
% (link, download_hash, link.hash))
333+
raise InstallationError('Bad %s hash for package %s' % (link.hash_name, link))
334334

335335

336336
def _get_hash_from_file(target_file, link):

tests/test_hashes.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_get_hash_from_file_md5():
1313

1414
download_hash = _get_hash_from_file(file_path, file_link)
1515

16-
assert download_hash.name == "md5"
16+
assert download_hash.digest_size == 16
1717
assert download_hash.hexdigest() == "d41d8cd98f00b204e9800998ecf8427e"
1818

1919

@@ -23,7 +23,7 @@ def test_get_hash_from_file_sha1():
2323

2424
download_hash = _get_hash_from_file(file_path, file_link)
2525

26-
assert download_hash.name == "sha1"
26+
assert download_hash.digest_size == 20
2727
assert download_hash.hexdigest() == "da39a3ee5e6b4b0d3255bfef95601890afd80709"
2828

2929

@@ -33,7 +33,7 @@ def test_get_hash_from_file_sha224():
3333

3434
download_hash = _get_hash_from_file(file_path, file_link)
3535

36-
assert download_hash.name == "sha224"
36+
assert download_hash.digest_size == 28
3737
assert download_hash.hexdigest() == "d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f"
3838

3939

@@ -43,7 +43,7 @@ def test_get_hash_from_file_sha384():
4343

4444
download_hash = _get_hash_from_file(file_path, file_link)
4545

46-
assert download_hash.name == "sha384"
46+
assert download_hash.digest_size == 48
4747
assert download_hash.hexdigest() == "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b"
4848

4949

@@ -53,7 +53,7 @@ def test_get_hash_from_file_sha256():
5353

5454
download_hash = _get_hash_from_file(file_path, file_link)
5555

56-
assert download_hash.name == "sha256"
56+
assert download_hash.digest_size == 32
5757
assert download_hash.hexdigest() == "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
5858

5959

@@ -63,7 +63,7 @@ def test_get_hash_from_file_sha512():
6363

6464
download_hash = _get_hash_from_file(file_path, file_link)
6565

66-
assert download_hash.name == "sha512"
66+
assert download_hash.digest_size == 64
6767
assert download_hash.hexdigest() == "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e"
6868

6969

0 commit comments

Comments
 (0)