Commit 7f53a502 authored by Victor Stinner's avatar Victor Stinner

Issue #12459: time.sleep() now raises a ValueError if the sleep length is

negative, instead of an infinite sleep on Windows or raising an IOError on
Linux for example, to have the same behaviour on all platforms.
parent 5351a1f9
......@@ -27,6 +27,8 @@ class TimeTestCase(unittest.TestCase):
int(self.t))
def test_sleep(self):
self.assertRaises(ValueError, time.sleep, -2)
self.assertRaises(ValueError, time.sleep, -1)
time.sleep(1.2)
def test_strftime(self):
......
......@@ -219,6 +219,10 @@ Core and Builtins
Library
-------
- Issue #12459: time.sleep() now raises a ValueError if the sleep length is
negative, instead of an infinite sleep on Windows or raising an IOError on
Linux for example, to have the same behaviour on all platforms.
- Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support
Python scripts using a encoding different than UTF-8 (read the coding cookie
of the script).
......
......@@ -141,6 +141,11 @@ time_sleep(PyObject *self, PyObject *args)
double secs;
if (!PyArg_ParseTuple(args, "d:sleep", &secs))
return NULL;
if (secs < 0) {
PyErr_SetString(PyExc_ValueError,
"sleep length must be non-negative");
return NULL;
}
if (floatsleep(secs) != 0)
return NULL;
Py_INCREF(Py_None);
......
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