[pypy-commit] pypy py3.6: Check that the 'e' format works in the struct module.
amauryfa
pypy.commits at gmail.com
Mon Dec 11 17:19:03 EST 2017
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3.6
Changeset: r93377:abab5c6e2946
Date: 2017-12-11 20:29 +0100
http://bitbucket.org/pypy/pypy/changeset/abab5c6e2946/
Log: Check that the 'e' format works in the struct module.
diff --git a/pypy/module/struct/test/test_struct.py b/pypy/module/struct/test/test_struct.py
--- a/pypy/module/struct/test/test_struct.py
+++ b/pypy/module/struct/test/test_struct.py
@@ -49,6 +49,7 @@
assert calcsize('=Q') == 8
assert calcsize('<f') == 4
assert calcsize('>d') == 8
+ assert calcsize('<d') == 2
assert calcsize('!13s') == 13
assert calcsize('=500p') == 500
# test with some repetitions and multiple format characters
@@ -256,6 +257,14 @@
assert unpack("<f", b'\x00\x00H\xc1') == (-12.5,)
raises(OverflowError, pack, "<f", 10e100)
+ def test_half_floats(self):
+ pack = self.struct.pack
+ unpack = self.struct.unpack
+ assert pack("<e", 65504.0) == b'\xff\x7b'
+ assert pack(">e", 65504.0) == b'\x7b\xff'
+ assert unpack(">e", b'\x7b\xff') == (65504.0,)
+ raises(OverflowError, pack, "<e", 1e6)
+
def test_bool(self):
pack = self.struct.pack
assert pack("!?", True) == b'\x01'
More information about the pypy-commit
mailing list