summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_format.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/Lib/test/test_format.py b/Lib/test/test_format.py
index be120fb..b40e820 100644
--- a/Lib/test/test_format.py
+++ b/Lib/test/test_format.py
@@ -183,12 +183,12 @@ testboth("%#X", 0, "0X0")
testboth("%#X", 0L, "0X0")
testboth("%x", 0x42, "42")
-# testboth("%x", -0x42, "ffffffbe") # Alas, that's specific to 32-bit machines
+# testboth("%x", -0x42, "ffffffbe") # specific to 32-bit boxes; see below
testboth("%x", 0x42L, "42")
testboth("%x", -0x42L, "-42")
testboth("%o", 042, "42")
-# testboth("%o", -042, "37777777736") # Alas, that's specific to 32-bit machines
+# testboth("%o", -042, "37777777736") # specific to 32-bit boxes; see below
testboth("%o", 042L, "42")
testboth("%o", -042L, "-42")
@@ -221,3 +221,15 @@ if have_unicode:
test_exc('%d', '1', TypeError, "int argument required")
test_exc('%g', '1', TypeError, "float argument required")
+
+if sys.maxint == 2**32-1:
+ # crashes 2.2.1 and earlier:
+ try:
+ "%*d"%(sys.maxint, -127)
+ except MemoryError:
+ pass
+ else:
+ raise TestFailed, '"%*d"%(sys.maxint, -127) should fail'
+ # (different things go wrong on a 64 bit box...)
+ testboth("%x", -0x42, "ffffffbe")
+ testboth("%o", -042, "37777777736")