Merged revisions 61834,61841-61842,61851-61853,61863-61864,61869-61870,61874,61889 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r61834 | raymond.hettinger | 2008-03-24 07:07:49 +0100 (Mon, 24 Mar 2008) | 1 line
Tighten documentation for Random.triangular.
........
r61841 | raymond.hettinger | 2008-03-24 09:17:39 +0100 (Mon, 24 Mar 2008) | 1 line
Issue 2460: Make Ellipsis objects copyable.
........
r61842 | georg.brandl | 2008-03-24 10:34:34 +0100 (Mon, 24 Mar 2008) | 2 lines
#1700821: add a note to audioop docs about signedness of sample formats.
........
r61851 | christian.heimes | 2008-03-24 20:57:42 +0100 (Mon, 24 Mar 2008) | 1 line
Added quick hack for bzr
........
r61852 | christian.heimes | 2008-03-24 20:58:17 +0100 (Mon, 24 Mar 2008) | 1 line
Added quick hack for bzr
........
r61853 | amaury.forgeotdarc | 2008-03-24 22:04:10 +0100 (Mon, 24 Mar 2008) | 4 lines
Issue2469: Correct a typo I introduced at r61793: compilation error with UCS4 builds.
All buildbots compile with UCS2...
........
r61863 | neal.norwitz | 2008-03-25 05:17:38 +0100 (Tue, 25 Mar 2008) | 2 lines
Fix a bunch of UnboundLocalErrors when the tests fail.
........
r61864 | neal.norwitz | 2008-03-25 05:18:18 +0100 (Tue, 25 Mar 2008) | 2 lines
Try to fix a bunch of compiler warnings on Win64.
........
r61869 | neal.norwitz | 2008-03-25 07:35:10 +0100 (Tue, 25 Mar 2008) | 3 lines
Don't try to close a non-open file.
Don't let file removal cause the test to fail.
........
r61870 | neal.norwitz | 2008-03-25 08:00:39 +0100 (Tue, 25 Mar 2008) | 7 lines
Try to get this test to be more stable:
* disable gc during the test run because we are spawning objects and there
was an exception when calling Popen.__del__
* Always set an alarm handler so the process doesn't exit if the test fails
(should probably add assertions on the value of hndl_called in more places)
* Using a negative time causes Linux to treat it as zero, so disable that test.
........
r61874 | gregory.p.smith | 2008-03-25 08:31:28 +0100 (Tue, 25 Mar 2008) | 2 lines
Use a 32-bit unsigned int here, a long is not needed.
........
r61889 | georg.brandl | 2008-03-25 12:59:51 +0100 (Tue, 25 Mar 2008) | 2 lines
Move declarations to block start.
........
diff --git a/Lib/copy.py b/Lib/copy.py
index 1a14f0e..ec108b7 100644
--- a/Lib/copy.py
+++ b/Lib/copy.py
@@ -101,7 +101,7 @@
return x
for t in (type(None), int, float, bool, str, tuple,
frozenset, type, range,
- types.BuiltinFunctionType,
+ types.BuiltinFunctionType, type(Ellipsis),
types.FunctionType):
d[t] = _copy_immutable
t = getattr(types, "CodeType", None)
@@ -180,6 +180,7 @@
def _deepcopy_atomic(x, memo):
return x
d[type(None)] = _deepcopy_atomic
+d[type(Ellipsis)] = _deepcopy_atomic
d[int] = _deepcopy_atomic
d[float] = _deepcopy_atomic
d[bool] = _deepcopy_atomic
diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py
index 12f77a9..c8d0c7e 100644
--- a/Lib/test/test_deque.py
+++ b/Lib/test/test_deque.py
@@ -64,8 +64,27 @@
self.assertEqual(list(d), [7, 8, 9])
d = deque(range(200), maxlen=10)
d.append(d)
+ fo = open(test_support.TESTFN, "w")
+ try:
+ fo.write(str(d))
+ fo.close()
+ fo = open(test_support.TESTFN, "r")
+ self.assertEqual(fo.read(), repr(d))
+ finally:
+ fo.close()
+ test_support.unlink(test_support.TESTFN)
+
d = deque(range(10), maxlen=None)
self.assertEqual(repr(d), 'deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
+ fo = open(test_support.TESTFN, "w")
+ try:
+ fo.write(str(d))
+ fo.close()
+ fo = open(test_support.TESTFN, "r")
+ self.assertEqual(fo.read(), repr(d))
+ finally:
+ fo.close()
+ test_support.unlink(test_support.TESTFN)
def test_comparisons(self):
d = deque('xabc'); d.popleft()
@@ -265,13 +284,13 @@
d.append(d)
try:
fo = open(test_support.TESTFN, "w")
- fo.write(str(d))
+ print(d, file=fo, end='')
fo.close()
fo = open(test_support.TESTFN, "r")
self.assertEqual(fo.read(), repr(d))
finally:
fo.close()
- os.remove(test_support.TESTFN)
+ test_support.unlink(test_support.TESTFN)
def test_init(self):
self.assertRaises(TypeError, deque, 'abc', 2, 3);
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index ca3c02e..44a45af 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -295,7 +295,7 @@
self.assertEqual(fo.read(), repr(s))
finally:
fo.close()
- os.remove(test_support.TESTFN)
+ test_support.unlink(test_support.TESTFN)
def test_do_not_rehash_dict_keys(self):
n = 10
@@ -679,7 +679,7 @@
self.assertEqual(fo.read(), repr(self.set))
finally:
fo.close()
- os.remove(test_support.TESTFN)
+ test_support.unlink(test_support.TESTFN)
def test_length(self):
self.assertEqual(len(self.set), self.length)
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 2cee626..3c039a1 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -1,6 +1,7 @@
import unittest
from test import test_support
from contextlib import closing, nested
+import gc
import pickle
import select
import signal
@@ -30,6 +31,14 @@
class InterProcessSignalTests(unittest.TestCase):
MAX_DURATION = 20 # Entire test should last at most 20 sec.
+ def setUp(self):
+ self.using_gc = gc.isenabled()
+ gc.disable()
+
+ def tearDown(self):
+ if self.using_gc:
+ gc.enable()
+
def handlerA(self, *args):
self.a_called = True
if test_support.verbose:
@@ -263,8 +272,10 @@
self.hndl_called = False
self.hndl_count = 0
self.itimer = None
+ self.old_alarm = signal.signal(signal.SIGALRM, self.sig_alrm)
def tearDown(self):
+ signal.signal(signal.SIGALRM, self.old_alarm)
if self.itimer is not None: # test_itimer_exc doesn't change this attr
# just ensure that itimer is stopped
signal.setitimer(self.itimer, 0)
@@ -303,13 +314,13 @@
# XXX I'm assuming -1 is an invalid itimer, but maybe some platform
# defines it ?
self.assertRaises(signal.ItimerError, signal.setitimer, -1, 0)
- # negative time
- self.assertRaises(signal.ItimerError, signal.setitimer,
- signal.ITIMER_REAL, -1)
+ # Negative times are treated as zero on some platforms.
+ if 0:
+ self.assertRaises(signal.ItimerError,
+ signal.setitimer, signal.ITIMER_REAL, -1)
def test_itimer_real(self):
self.itimer = signal.ITIMER_REAL
- signal.signal(signal.SIGALRM, self.sig_alrm)
signal.setitimer(self.itimer, 1.0)
if test_support.verbose:
print("\ncall pause()...")