summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_compile.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_compile.py')
-rw-r--r--Lib/test/test_compile.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py
index 4d4ba4f..e2b1c95 100644
--- a/Lib/test/test_compile.py
+++ b/Lib/test/test_compile.py
@@ -119,15 +119,18 @@ if 1:
def test_unary_minus(self):
# Verify treatment of unary minus on negative numbers SF bug #660455
- warnings.filterwarnings("ignore", "hex/oct constants", FutureWarning)
- warnings.filterwarnings("ignore", "hex.* of negative int", FutureWarning)
- # XXX Of course the following test will have to be changed in Python 2.4
- # This test is in a <string> so the filterwarnings() can affect it
- all_one_bits = '0xffffffff'
- if sys.maxint != 2147483647:
+ if sys.maxint == 2147483647:
+ # 32-bit machine
+ all_one_bits = '0xffffffff'
+ self.assertEqual(eval(all_one_bits), 4294967295L)
+ self.assertEqual(eval("-" + all_one_bits), -4294967295L)
+ elif sys.maxint == 9223372036854775807:
+ # 64-bit machine
all_one_bits = '0xffffffffffffffff'
- self.assertEqual(eval(all_one_bits), -1)
- self.assertEqual(eval("-" + all_one_bits), 1)
+ self.assertEqual(eval(all_one_bits), 18446744073709551615L)
+ self.assertEqual(eval("-" + all_one_bits), -18446744073709551615L)
+ else:
+ self.fail("How many bits *does* this machine have???")
def test_sequence_unpacking_error(self):
# Verify sequence packing/unpacking with "or". SF bug #757818