summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-02-06 02:40:07 (GMT)
committerBenjamin Peterson <benjamin@python.org>2009-02-06 02:40:07 (GMT)
commit5c6d7877c58cfe348b2a302d3bd924cd096a7ba2 (patch)
tree3b7da358e8e54b759838afd43ddcf4c1a80bc2d7 /Lib
parent407c75735fb71cc15272c1cad559f336d3518501 (diff)
downloadcpython-5c6d7877c58cfe348b2a302d3bd924cd096a7ba2.zip
cpython-5c6d7877c58cfe348b2a302d3bd924cd096a7ba2.tar.gz
cpython-5c6d7877c58cfe348b2a302d3bd924cd096a7ba2.tar.bz2
Merged revisions 69129-69131,69139-69140,69143,69154-69159,69169,69288-69289,69293,69297-69301,69348 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r69129 | benjamin.peterson | 2009-01-30 19:42:55 -0600 (Fri, 30 Jan 2009) | 1 line check the errno in bad fd cases ........ r69130 | andrew.kuchling | 2009-01-30 20:50:09 -0600 (Fri, 30 Jan 2009) | 1 line Add a section ........ r69131 | andrew.kuchling | 2009-01-30 21:26:02 -0600 (Fri, 30 Jan 2009) | 1 line Text edits and markup fixes ........ r69139 | mark.dickinson | 2009-01-31 10:44:04 -0600 (Sat, 31 Jan 2009) | 2 lines Add an extra test for long <-> float hash equivalence. ........ r69140 | benjamin.peterson | 2009-01-31 10:52:03 -0600 (Sat, 31 Jan 2009) | 1 line PyErr_BadInternalCall() raises a SystemError, not TypeError #5112 ........ r69143 | benjamin.peterson | 2009-01-31 15:00:10 -0600 (Sat, 31 Jan 2009) | 1 line I believe the intention here was to avoid a global lookup ........ r69154 | benjamin.peterson | 2009-01-31 16:33:02 -0600 (Sat, 31 Jan 2009) | 1 line fix indentation in comment ........ r69155 | david.goodger | 2009-01-31 16:53:46 -0600 (Sat, 31 Jan 2009) | 1 line markup fix ........ r69156 | gregory.p.smith | 2009-01-31 16:57:30 -0600 (Sat, 31 Jan 2009) | 4 lines - Issue #5104: The socket module now raises OverflowError when 16-bit port and protocol numbers are supplied outside the allowed 0-65536 range on bind() and getservbyport(). ........ r69157 | benjamin.peterson | 2009-01-31 17:43:25 -0600 (Sat, 31 Jan 2009) | 1 line add explanatory comment ........ r69158 | benjamin.peterson | 2009-01-31 17:54:38 -0600 (Sat, 31 Jan 2009) | 1 line more flags which only work for function blocks ........ r69159 | gregory.p.smith | 2009-01-31 18:16:01 -0600 (Sat, 31 Jan 2009) | 2 lines Update doc wording as suggested in issue4903. ........ r69169 | guilherme.polo | 2009-01-31 20:56:16 -0600 (Sat, 31 Jan 2009) | 3 lines Restore Tkinter.Tk._loadtk so this test doesn't fail for problems related to ttk. ........ r69288 | georg.brandl | 2009-02-05 04:30:57 -0600 (Thu, 05 Feb 2009) | 1 line #5153: fix typo in example. ........ r69289 | georg.brandl | 2009-02-05 04:37:07 -0600 (Thu, 05 Feb 2009) | 1 line #5144: document that PySys_SetArgv prepends the script directory (or the empty string) to sys.path. ........ r69293 | georg.brandl | 2009-02-05 04:59:28 -0600 (Thu, 05 Feb 2009) | 1 line #5059: fix example. ........ r69297 | georg.brandl | 2009-02-05 05:32:18 -0600 (Thu, 05 Feb 2009) | 1 line #5015: document PythonHome API functions. ........ r69298 | georg.brandl | 2009-02-05 05:33:21 -0600 (Thu, 05 Feb 2009) | 1 line #4827: fix callback example. ........ r69299 | georg.brandl | 2009-02-05 05:35:28 -0600 (Thu, 05 Feb 2009) | 1 line #4820: use correct module for ctypes.util. ........ r69300 | georg.brandl | 2009-02-05 05:38:23 -0600 (Thu, 05 Feb 2009) | 1 line #4563: disable alpha and roman lists, fixes wrong formatting of contributor list. ........ r69301 | georg.brandl | 2009-02-05 05:40:35 -0600 (Thu, 05 Feb 2009) | 1 line #5031: fix Thread.daemon property docs. ........ r69348 | benjamin.peterson | 2009-02-05 19:47:31 -0600 (Thu, 05 Feb 2009) | 1 line fix download link ........
Diffstat (limited to 'Lib')
-rw-r--r--Lib/heapq.py2
-rw-r--r--Lib/test/test_hash.py1
-rw-r--r--Lib/test/test_os.py10
-rw-r--r--Lib/test/test_socket.py36
-rw-r--r--Lib/test/test_tcl.py8
5 files changed, 47 insertions, 10 deletions
diff --git a/Lib/heapq.py b/Lib/heapq.py
index ff4fc03..529fc2b 100644
--- a/Lib/heapq.py
+++ b/Lib/heapq.py
@@ -195,7 +195,7 @@ def nlargest(n, iterable):
heapify(result)
_heappushpop = heappushpop
for elem in it:
- heappushpop(result, elem)
+ _heappushpop(result, elem)
result.sort(reverse=True)
return result
diff --git a/Lib/test/test_hash.py b/Lib/test/test_hash.py
index 5881d03..4cbbe78 100644
--- a/Lib/test/test_hash.py
+++ b/Lib/test/test_hash.py
@@ -33,6 +33,7 @@ class HashEqualityTestCase(unittest.TestCase):
# for 64-bit platforms
self.same_hash(int(2**31), float(2**31))
self.same_hash(int(-2**63), float(-2**63))
+ self.same_hash(long(2**63), float(2**63))
def test_coerced_floats(self):
self.same_hash(int(1.23e300), float(1.23e300))
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index baaf33a..51663e1 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -3,6 +3,7 @@
# portable than they had been thought to be.
import os
+import errno
import unittest
import warnings
import sys
@@ -277,7 +278,6 @@ class StatAttributeTests(unittest.TestCase):
result = os.statvfs(self.fname)
except OSError as e:
# On AtheOS, glibc always returns ENOSYS
- import errno
if e.errno == errno.ENOSYS:
return
@@ -601,7 +601,13 @@ class TestInvalidFD(unittest.TestCase):
locals()["test_"+f] = get_single(f)
def check(self, f, *args):
- self.assertRaises(OSError, f, support.make_bad_fd(), *args)
+ try:
+ f(support.make_bad_fd(), *args)
+ except OSError as e:
+ self.assertEqual(e.errno, errno.EBADF)
+ else:
+ self.fail("%r didn't raise a OSError with a bad file descriptor"
+ % f)
def test_isatty(self):
if hasattr(os, "isatty"):
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 731827c..429ec6f 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -366,6 +366,9 @@ class GeneralModuleTests(unittest.TestCase):
eq(socket.getservbyport(port, 'tcp'), service)
if udpport is not None:
eq(socket.getservbyport(udpport, 'udp'), service)
+ # Make sure getservbyport does not accept out of range ports.
+ self.assertRaises(OverflowError, socket.getservbyport, -1)
+ self.assertRaises(OverflowError, socket.getservbyport, 65536)
def testDefaultTimeout(self):
# Testing default timeout
@@ -466,15 +469,23 @@ class GeneralModuleTests(unittest.TestCase):
# XXX The following don't test module-level functionality...
- def testSockName(self):
- # Testing getsockname(). Use a temporary socket to elicit an unused
- # ephemeral port that we can use later in the test.
+ def _get_unused_port(self, bind_address='0.0.0.0'):
+ """Use a temporary socket to elicit an unused ephemeral port.
+
+ Args:
+ bind_address: Hostname or IP address to search for a port on.
+
+ Returns: A most likely to be unused port.
+ """
tempsock = socket.socket()
- tempsock.bind(("0.0.0.0", 0))
- (host, port) = tempsock.getsockname()
+ tempsock.bind((bind_address, 0))
+ host, port = tempsock.getsockname()
tempsock.close()
- del tempsock
+ return port
+ def testSockName(self):
+ # Testing getsockname()
+ port = self._get_unused_port()
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("0.0.0.0", port))
name = sock.getsockname()
@@ -514,6 +525,19 @@ class GeneralModuleTests(unittest.TestCase):
self.assertEqual(sock.proto, 0)
sock.close()
+ def test_getsockaddrarg(self):
+ host = '0.0.0.0'
+ port = self._get_unused_port(bind_address=host)
+ big_port = port + 65536
+ neg_port = port - 65536
+ sock = socket.socket()
+ try:
+ self.assertRaises(OverflowError, sock.bind, (host, big_port))
+ self.assertRaises(OverflowError, sock.bind, (host, neg_port))
+ sock.bind((host, port))
+ finally:
+ sock.close()
+
def test_sock_ioctl(self):
if os.name != "nt":
return
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py
index fa1727c..4d92b26 100644
--- a/Lib/test/test_tcl.py
+++ b/Lib/test/test_tcl.py
@@ -4,9 +4,15 @@ import unittest
import os
import _tkinter
from test import support
-from tkinter import Tcl
+from tkinter import Tk, Tcl
from _tkinter import TclError
+# Restore Tkinter.Tk._loadtk that may have been overridden by ttk.
+# If this is not done then this test may fail for reasons related
+# to ttk only (like failing to load the tile package).
+from ttk import __loadtk__
+Tk._loadtk = __loadtk__
+
class TkinterTest(unittest.TestCase):