summaryrefslogtreecommitdiff
path: root/Mac/Tools
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2014-02-06 11:19:18 +0100
committerRonald Oussoren <ronaldoussoren@mac.com>2014-02-06 11:19:18 +0100
commit5d66311c5c15b2da29e14712b41fc046e34d9c6f (patch)
treeab06b5cc870bcf0673782e40d2207775590b357f /Mac/Tools
parent62d88436c498c6a78aaff87058c109c47035d397 (diff)
downloadcpython-5d66311c5c15b2da29e14712b41fc046e34d9c6f.tar.gz
Issue #14455: fix handling of unsigned long long values for binary plist files
Values in the range of an unsigned long long, but outside of the range of a signed long long were serialized as a negative value. Due to a bug in PyObjC my test scripts indicated that the previous behavior matched Apple's plist code, instead the handle large unsigned values correctly. The change to plistlib.py is from a patch by Serhiy.
Diffstat (limited to 'Mac/Tools')
-rwxr-xr-xMac/Tools/plistlib_generate_testdata.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/Mac/Tools/plistlib_generate_testdata.py b/Mac/Tools/plistlib_generate_testdata.py
index 68d4d740a9..057b61765b 100755
--- a/Mac/Tools/plistlib_generate_testdata.py
+++ b/Mac/Tools/plistlib_generate_testdata.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
-from Cocoa import NSMutableDictionary, NSMutableArray, NSString, NSDate
+from Cocoa import NSMutableDictionary, NSMutableArray, NSString, NSDate, NSNumber
from Cocoa import NSPropertyListSerialization, NSPropertyListOpenStepFormat
from Cocoa import NSPropertyListXMLFormat_v1_0, NSPropertyListBinaryFormat_v1_0
from Cocoa import CFUUIDCreateFromString, NSNull, NSUUID, CFPropertyListCreateData
@@ -30,6 +30,7 @@ def main():
seconds = datetime.datetime(2004, 10, 26, 10, 33, 33, tzinfo=datetime.timezone(datetime.timedelta(0))).timestamp()
pl[nsstr('aBigInt')] = 2 ** 63 - 44
+ pl[nsstr('aBigInt2')] = NSNumber.numberWithUnsignedLongLong_(2 ** 63 + 44)
pl[nsstr('aDate')] = NSDate.dateWithTimeIntervalSince1970_(seconds)
pl[nsstr('aDict')] = d = OrderedDict()