Commit c2a0ac20 authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #1049151: adding bool support to xdrlib.py.

Also add xdrlib._test into the test suite.
parent bc2c21ea
test_xdrlib
pack test 0 succeeded
pack test 1 succeeded
pack test 2 succeeded
pack test 3 succeeded
pack test 4 succeeded
pack test 5 succeeded
pack test 6 succeeded
pack test 7 succeeded
pack test 8 succeeded
unpack test 0 succeeded : 9
unpack test 1 succeeded : True
unpack test 2 succeeded : False
unpack test 3 succeeded : 45
unpack test 4 succeeded : 1.89999997616
unpack test 5 succeeded : 1.9
unpack test 6 succeeded : hello world
unpack test 7 succeeded : [0, 1, 2, 3, 4]
unpack test 8 succeeded : ['what', 'is', 'hapnin', 'doctor']
...@@ -93,5 +93,4 @@ import urllib2 ...@@ -93,5 +93,4 @@ import urllib2
#import user #import user
import webbrowser import webbrowser
import whichdb import whichdb
import xdrlib
import xml import xml
import xdrlib
xdrlib._test()
...@@ -157,7 +157,9 @@ class Unpacker: ...@@ -157,7 +157,9 @@ class Unpacker:
return struct.unpack('>l', data)[0] return struct.unpack('>l', data)[0]
unpack_enum = unpack_int unpack_enum = unpack_int
unpack_bool = unpack_int
def unpack_bool(self):
return bool(self.unpack_int())
def unpack_uhyper(self): def unpack_uhyper(self):
hi = self.unpack_uint() hi = self.unpack_uint()
...@@ -232,8 +234,8 @@ def _test(): ...@@ -232,8 +234,8 @@ def _test():
p = Packer() p = Packer()
packtest = [ packtest = [
(p.pack_uint, (9,)), (p.pack_uint, (9,)),
(p.pack_bool, (None,)), (p.pack_bool, (True,)),
(p.pack_bool, ('hello',)), (p.pack_bool, (False,)),
(p.pack_uhyper, (45L,)), (p.pack_uhyper, (45L,)),
(p.pack_float, (1.9,)), (p.pack_float, (1.9,)),
(p.pack_double, (1.9,)), (p.pack_double, (1.9,)),
...@@ -257,8 +259,8 @@ def _test(): ...@@ -257,8 +259,8 @@ def _test():
up = Unpacker(data) up = Unpacker(data)
unpacktest = [ unpacktest = [
(up.unpack_uint, (), lambda x: x == 9), (up.unpack_uint, (), lambda x: x == 9),
(up.unpack_bool, (), lambda x: not x), (up.unpack_bool, (), lambda x: x is True),
(up.unpack_bool, (), lambda x: x), (up.unpack_bool, (), lambda x: x is False),
(up.unpack_uhyper, (), lambda x: x == 45L), (up.unpack_uhyper, (), lambda x: x == 45L),
(up.unpack_float, (), lambda x: 1.89 < x < 1.91), (up.unpack_float, (), lambda x: 1.89 < x < 1.91),
(up.unpack_double, (), lambda x: 1.89 < x < 1.91), (up.unpack_double, (), lambda x: 1.89 < x < 1.91),
......
...@@ -54,6 +54,8 @@ Extension Modules ...@@ -54,6 +54,8 @@ Extension Modules
Library Library
------- -------
- Patch #1049151: xdrlib now unpacks booleans as True or False.
- Fixed bug in a NameError bug in cookielib. Patch #1116583. - Fixed bug in a NameError bug in cookielib. Patch #1116583.
- Applied a security fix to SimpleXMLRPCserver (PSF-2005-001). This - Applied a security fix to SimpleXMLRPCserver (PSF-2005-001). This
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment