[pypy-commit] pypy py3.3: Merged in numerodix/pypy/py3.3-fixes3 (pull request #270)
pjenvey
noreply at buildbot.pypy.org
Mon Aug 18 01:05:49 CEST 2014
Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3.3
Changeset: r72864:0c8f0c10188c
Date: 2014-08-17 16:05 -0700
http://bitbucket.org/pypy/pypy/changeset/0c8f0c10188c/
Log: Merged in numerodix/pypy/py3.3-fixes3 (pull request #270)
py3.3: fixes for failing hashlib tests
diff --git a/lib-python/3/test/test_hashlib.py b/lib-python/3/test/test_hashlib.py
--- a/lib-python/3/test/test_hashlib.py
+++ b/lib-python/3/test/test_hashlib.py
@@ -142,7 +142,7 @@
def test_hexdigest(self):
for cons in self.hash_constructors:
h = cons()
- assert isinstance(h.digest(), bytes), name
+ assert isinstance(h.digest(), bytes), cons.__name__
self.assertEqual(hexstr(h.digest()), h.hexdigest())
def test_large_update(self):
diff --git a/lib_pypy/_sha1.py b/lib_pypy/_sha1.py
--- a/lib_pypy/_sha1.py
+++ b/lib_pypy/_sha1.py
@@ -123,6 +123,8 @@
def __init__(self):
"Initialisation."
+ self.name = 'sha'
+
# Initial message length in bits(!).
self.length = 0
self.count = [0, 0]
@@ -349,6 +351,7 @@
"""
crypto = sha()
+ crypto.name = 'sha1'
if arg:
crypto.update(arg)
diff --git a/lib_pypy/_sha256.py b/lib_pypy/_sha256.py
--- a/lib_pypy/_sha256.py
+++ b/lib_pypy/_sha256.py
@@ -201,13 +201,14 @@
dig = []
for i in sha_info['digest']:
dig.extend([ ((i>>24) & 0xff), ((i>>16) & 0xff), ((i>>8) & 0xff), (i & 0xff) ])
- return ''.join([chr(i) for i in dig])
+ return bytes(dig)
class sha256(object):
digest_size = digestsize = SHA_DIGESTSIZE
block_size = SHA_BLOCKSIZE
def __init__(self, s=None):
+ self.name = 'sha256'
self._sha = sha_init()
if s:
sha_update(self._sha, s)
@@ -219,7 +220,7 @@
return sha_final(self._sha.copy())[:self._sha['digestsize']]
def hexdigest(self):
- return ''.join(['%.2x' % ord(i) for i in self.digest()])
+ return ''.join(['%.2x' % i for i in self.digest()])
def copy(self):
new = sha256.__new__(sha256)
@@ -230,6 +231,7 @@
digest_size = digestsize = 28
def __init__(self, s=None):
+ self.name = 'sha224'
self._sha = sha224_init()
if s:
sha_update(self._sha, s)
@@ -240,7 +242,7 @@
return new
def test():
- a_str = "just a test string"
+ a_str = b"just a test string"
assert 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' == sha256().hexdigest()
assert 'd7b553c6f09ac85d142415f857c5310f3bbbe7cdd787cce4b985acedd585266f' == sha256(a_str).hexdigest()
diff --git a/lib_pypy/_sha512.py b/lib_pypy/_sha512.py
--- a/lib_pypy/_sha512.py
+++ b/lib_pypy/_sha512.py
@@ -236,6 +236,7 @@
block_size = SHA_BLOCKSIZE
def __init__(self, s=None):
+ self.name = 'sha512'
self._sha = sha_init()
if s:
sha_update(self._sha, s)
@@ -258,6 +259,7 @@
digest_size = digestsize = 48
def __init__(self, s=None):
+ self.name = 'sha384'
self._sha = sha384_init()
if s:
sha_update(self._sha, s)
@@ -270,7 +272,7 @@
def test():
import _sha512
- a_str = "just a test string"
+ a_str = b"just a test string"
assert _sha512.sha512().hexdigest() == sha512().hexdigest()
assert _sha512.sha512(a_str).hexdigest() == sha512(a_str).hexdigest()
diff --git a/pypy/module/_md5/interp_md5.py b/pypy/module/_md5/interp_md5.py
--- a/pypy/module/_md5/interp_md5.py
+++ b/pypy/module/_md5/interp_md5.py
@@ -52,6 +52,7 @@
copy = interp2app(W_MD5.copy_w),
digest_size = 16,
block_size = 64,
+ name = 'md5',
__doc__ = """md5(arg) -> return new md5 object.
If arg is present, the method call update(arg) is made.""")
diff --git a/pypy/module/_md5/test/test_md5.py b/pypy/module/_md5/test/test_md5.py
--- a/pypy/module/_md5/test/test_md5.py
+++ b/pypy/module/_md5/test/test_md5.py
@@ -19,6 +19,12 @@
""")
+ def test_name(self):
+ """
+ md5.name should be 'md5'.
+ """
+ assert self.md5.md5().name == 'md5'
+
def test_digest_size(self):
"""
md5.digest_size should be 16.
diff --git a/pypy/module/test_lib_pypy/test_sha_extra.py b/pypy/module/test_lib_pypy/test_sha_extra.py
--- a/pypy/module/test_lib_pypy/test_sha_extra.py
+++ b/pypy/module/test_lib_pypy/test_sha_extra.py
@@ -37,3 +37,30 @@
assert _sha.sha1().digest_size == 20
assert _sha.sha1().digestsize == 20
assert _sha.sha1().block_size == 64
+
+ assert _sha.sha().name == 'sha'
+ assert _sha.sha1().name == 'sha1'
+
+
+class AppTestSHA256:
+ spaceconfig = dict(usemodules=('struct',))
+
+ def setup_class(cls):
+ cls.w__sha256 = import_lib_pypy(cls.space, '_sha256')
+
+ def test_attributes(self):
+ _sha256 = self._sha256
+ assert _sha256.sha224().name == 'sha224'
+ assert _sha256.sha256().name == 'sha256'
+
+
+class AppTestSHA512:
+ spaceconfig = dict(usemodules=('struct',))
+
+ def setup_class(cls):
+ cls.w__sha512 = import_lib_pypy(cls.space, '_sha512')
+
+ def test_attributes(self):
+ _sha512 = self._sha512
+ assert _sha512.sha384().name == 'sha384'
+ assert _sha512.sha512().name == 'sha512'
More information about the pypy-commit
mailing list