diff -r 17334c1d9245 Lib/test/test_sched.py --- a/Lib/test/test_sched.py Tue Oct 25 10:38:07 2016 +0300 +++ b/Lib/test/test_sched.py Tue Oct 25 12:10:02 2016 +0300 @@ -172,17 +172,23 @@ class TestCase(unittest.TestCase): self.assertEqual(scheduler.queue, [e1, e2, e3, e4, e5]) def test_args_kwargs(self): - flag = [] + l = [] + def fun(*a, **b): + l.append((a, b)) - def fun(*a, **b): - flag.append(None) - self.assertEqual(a, (1,2,3)) - self.assertEqual(b, {"foo":1}) - + now = time.time() scheduler = sched.scheduler(time.time, time.sleep) - z = scheduler.enterabs(0.01, 1, fun, argument=(1,2,3), kwargs={"foo":1}) + scheduler.enterabs(now, 1, fun) + scheduler.enterabs(now, 1, fun, argument=(1, 2)) + scheduler.enterabs(now, 1, fun, argument=('a', 'b')) + scheduler.enterabs(now, 1, fun, argument=(1, 2), kwargs={"foo": 3}) scheduler.run() - self.assertEqual(flag, [None]) + self.assertCountEqual(l, [ + ((), {}), + ((1, 2), {}), + (('a', 'b'), {}), + ((1, 2), {'foo': 3}) + ]) def test_run_non_blocking(self): l = [] diff -r 17334c1d9245 Modules/_cursesmodule.c --- a/Modules/_cursesmodule.c Tue Oct 25 10:38:07 2016 +0300 +++ b/Modules/_cursesmodule.c Tue Oct 25 12:10:02 2016 +0300 @@ -230,7 +230,7 @@ PyCurses_ConvertToChtype(PyCursesWindowO encoding = win->encoding; else encoding = screen_encoding; - bytes = PyUnicode_AsEncodedObject(obj, encoding, NULL); + bytes = PyUnicode_AsEncodedString(obj, encoding, NULL); if (bytes == NULL) return 0; if (PyBytes_GET_SIZE(bytes) == 1) @@ -352,7 +352,7 @@ PyCurses_ConvertToString(PyCursesWindowO return 2; #else assert (wstr == NULL); - *bytes = PyUnicode_AsEncodedObject(obj, win->encoding, NULL); + *bytes = PyUnicode_AsEncodedString(obj, win->encoding, NULL); if (*bytes == NULL) return 0; return 1;