diff options
-rw-r--r-- | Lib/http/client.py | 4 | ||||
-rw-r--r-- | Lib/test/test_posix.py | 17 | ||||
-rw-r--r-- | Lib/test/test_support.py | 2 | ||||
-rw-r--r-- | Modules/posixmodule.c | 2 |
4 files changed, 18 insertions, 7 deletions
diff --git a/Lib/http/client.py b/Lib/http/client.py index 82213c3..5775573 100644 --- a/Lib/http/client.py +++ b/Lib/http/client.py @@ -777,8 +777,8 @@ class HTTPConnection: for d in data: self.sock.sendall(d) else: - raise TypeError("data should be a bytes-like object\ - or an iterable, got %r " % type(data)) + raise TypeError("data should be a bytes-like object " + "or an iterable, got %r" % type(data)) def _output(self, s): """Add a line of output to the current request buffer. diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py index 3fe791b..af64a6f 100644 --- a/Lib/test/test_posix.py +++ b/Lib/test/test_posix.py @@ -832,7 +832,7 @@ class PosixTester(unittest.TestCase): requires_sched_h = unittest.skipUnless(hasattr(posix, 'sched_yield'), "don't have scheduling support") requires_sched_affinity = unittest.skipUnless(hasattr(posix, 'cpu_set'), - "dont' have sched affinity support") + "don't have sched affinity support") @requires_sched_h def test_sched_yield(self): @@ -848,8 +848,10 @@ class PosixTester(unittest.TestCase): self.assertIsInstance(lo, int) self.assertIsInstance(hi, int) self.assertGreaterEqual(hi, lo) - self.assertRaises(OSError, posix.sched_get_priority_min, -23) - self.assertRaises(OSError, posix.sched_get_priority_max, -23) + # OSX evidently just returns 15 without checking the argument. + if sys.platform != "darwin": + self.assertRaises(OSError, posix.sched_get_priority_min, -23) + self.assertRaises(OSError, posix.sched_get_priority_max, -23) @unittest.skipUnless(hasattr(posix, 'sched_setscheduler'), "can't change scheduler") def test_get_and_set_scheduler_and_param(self): @@ -888,7 +890,14 @@ class PosixTester(unittest.TestCase): @unittest.skipUnless(hasattr(posix, "sched_rr_get_interval"), "no function") def test_sched_rr_get_interval(self): - interval = posix.sched_rr_get_interval(0) + try: + interval = posix.sched_rr_get_interval(0) + except OSError as e: + # This likely means that sched_rr_get_interval is only valid for + # processes with the SCHED_RR scheduler in effect. + if e.errno != errno.EINVAL: + raise + self.skipTest("only works on SCHED_RR processes") self.assertIsInstance(interval, float) # Reasonable constraints, I think. self.assertGreaterEqual(interval, 0.) diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py index 589f482..394e210 100644 --- a/Lib/test/test_support.py +++ b/Lib/test/test_support.py @@ -58,6 +58,7 @@ class TestSupport(unittest.TestCase): mod_filename = TESTFN + '.py' with open(mod_filename, 'w') as f: print('foo = 1', file=f) + sys.path.insert(0, os.curdir) try: mod = __import__(TESTFN) self.assertIn(TESTFN, sys.modules) @@ -65,6 +66,7 @@ class TestSupport(unittest.TestCase): support.forget(TESTFN) self.assertNotIn(TESTFN, sys.modules) finally: + del sys.path[0] support.unlink(mod_filename) def test_HOST(self): diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index f4461c0..572b5d1 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4616,7 +4616,7 @@ static PyObject * sched_param_new(PyTypeObject *type, PyObject *args, PyObject *kwargs) { PyObject *res, *priority; - static char *kwlist[] = {"sched_priority"}; + static char *kwlist[] = {"sched_priority", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:sched_param", kwlist, &priority)) return NULL; |