Kaydet (Commit) 8a48808f authored tarafından Benjamin Peterson's avatar Benjamin Peterson

Merged revisions 79866-79867 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r79866 | benjamin.peterson | 2010-04-06 16:37:06 -0500 (Tue, 06 Apr 2010) | 1 line

  use skip decorator
........
  r79867 | benjamin.peterson | 2010-04-06 16:50:00 -0500 (Tue, 06 Apr 2010) | 1 line

  remove a optimization that resulted in unexpected behavior #8929
........
üst 02c36efe
...@@ -4,6 +4,8 @@ import select ...@@ -4,6 +4,8 @@ import select
import os import os
import sys import sys
@unittest.skipIf(sys.platform[:3] in ('win', 'mac', 'os2', 'riscos'),
"can't easily test on this system")
class SelectTestCase(unittest.TestCase): class SelectTestCase(unittest.TestCase):
class Nope: class Nope:
...@@ -19,11 +21,14 @@ class SelectTestCase(unittest.TestCase): ...@@ -19,11 +21,14 @@ class SelectTestCase(unittest.TestCase):
self.assertRaises(TypeError, select.select, [self.Almost()], [], []) self.assertRaises(TypeError, select.select, [self.Almost()], [], [])
self.assertRaises(TypeError, select.select, [], [], [], "not a number") self.assertRaises(TypeError, select.select, [], [], [], "not a number")
def test_returned_list_identity(self):
# See issue #8329
r, w, x = select.select([], [], [], 1)
self.assertIsNot(r, w)
self.assertIsNot(r, x)
self.assertIsNot(w, x)
def test_select(self): def test_select(self):
if sys.platform[:3] in ('win', 'mac', 'os2', 'riscos'):
if test_support.verbose:
print "Can't test select easily on", sys.platform
return
cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done' cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
p = os.popen(cmd, 'r') p = os.popen(cmd, 'r')
for tout in (0, 1, 2, 4, 8, 16) + (None,)*10: for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
......
...@@ -12,6 +12,9 @@ What's New in Python 2.6.6 alpha 1? ...@@ -12,6 +12,9 @@ What's New in Python 2.6.6 alpha 1?
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #8329: Don't return the same lists from select.select when no fds are
changed.
- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member. - Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
- Issue #1583863: An unicode subclass can now override the __unicode__ method - Issue #1583863: An unicode subclass can now override the __unicode__ method
......
...@@ -287,14 +287,6 @@ select_select(PyObject *self, PyObject *args) ...@@ -287,14 +287,6 @@ select_select(PyObject *self, PyObject *args)
PyErr_SetFromErrno(SelectError); PyErr_SetFromErrno(SelectError);
} }
#endif #endif
else if (n == 0) {
/* optimization */
ifdlist = PyList_New(0);
if (ifdlist) {
ret = PyTuple_Pack(3, ifdlist, ifdlist, ifdlist);
Py_DECREF(ifdlist);
}
}
else { else {
/* any of these three calls can raise an exception. it's more /* any of these three calls can raise an exception. it's more
convenient to test for this after all three calls... but convenient to test for this after all three calls... but
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment