Commit 59fb3cdd authored by Victor Stinner's avatar Victor Stinner

asyncio: Truncate to 80 columns

parent c65fe263
...@@ -201,8 +201,8 @@ class BaseEventLoop(events.AbstractEventLoop): ...@@ -201,8 +201,8 @@ class BaseEventLoop(events.AbstractEventLoop):
"""Create socket transport.""" """Create socket transport."""
raise NotImplementedError raise NotImplementedError
def _make_ssl_transport(self, rawsock, protocol, sslcontext, waiter=None, *, def _make_ssl_transport(self, rawsock, protocol, sslcontext, waiter=None,
server_side=False, server_hostname=None, *, server_side=False, server_hostname=None,
extra=None, server=None): extra=None, server=None):
"""Create SSL transport.""" """Create SSL transport."""
raise NotImplementedError raise NotImplementedError
......
...@@ -182,14 +182,18 @@ def _format_coroutine(coro): ...@@ -182,14 +182,18 @@ def _format_coroutine(coro):
and not inspect.isgeneratorfunction(coro.func)): and not inspect.isgeneratorfunction(coro.func)):
filename, lineno = events._get_function_source(coro.func) filename, lineno = events._get_function_source(coro.func)
if coro.gi_frame is None: if coro.gi_frame is None:
coro_repr = '%s() done, defined at %s:%s' % (coro_name, filename, lineno) coro_repr = ('%s() done, defined at %s:%s'
% (coro_name, filename, lineno))
else: else:
coro_repr = '%s() running, defined at %s:%s' % (coro_name, filename, lineno) coro_repr = ('%s() running, defined at %s:%s'
% (coro_name, filename, lineno))
elif coro.gi_frame is not None: elif coro.gi_frame is not None:
lineno = coro.gi_frame.f_lineno lineno = coro.gi_frame.f_lineno
coro_repr = '%s() running at %s:%s' % (coro_name, filename, lineno) coro_repr = ('%s() running at %s:%s'
% (coro_name, filename, lineno))
else: else:
lineno = coro.gi_code.co_firstlineno lineno = coro.gi_code.co_firstlineno
coro_repr = '%s() done, defined at %s:%s' % (coro_name, filename, lineno) coro_repr = ('%s() done, defined at %s:%s'
% (coro_name, filename, lineno))
return coro_repr return coro_repr
...@@ -55,8 +55,8 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop): ...@@ -55,8 +55,8 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop):
return _SelectorSocketTransport(self, sock, protocol, waiter, return _SelectorSocketTransport(self, sock, protocol, waiter,
extra, server) extra, server)
def _make_ssl_transport(self, rawsock, protocol, sslcontext, waiter=None, *, def _make_ssl_transport(self, rawsock, protocol, sslcontext, waiter=None,
server_side=False, server_hostname=None, *, server_side=False, server_hostname=None,
extra=None, server=None): extra=None, server=None):
return _SelectorSslTransport( return _SelectorSslTransport(
self, rawsock, protocol, sslcontext, waiter, self, rawsock, protocol, sslcontext, waiter,
...@@ -484,7 +484,8 @@ class _SelectorTransport(transports._FlowControlMixin, ...@@ -484,7 +484,8 @@ class _SelectorTransport(transports._FlowControlMixin,
info.append('read=idle') info.append('read=idle')
polling = _test_selector_event(self._loop._selector, polling = _test_selector_event(self._loop._selector,
self._sock_fd, selectors.EVENT_WRITE) self._sock_fd,
selectors.EVENT_WRITE)
if polling: if polling:
state = 'polling' state = 'polling'
else: else:
......
...@@ -68,7 +68,7 @@ class Task(futures.Future): ...@@ -68,7 +68,7 @@ class Task(futures.Future):
return {t for t in cls._all_tasks if t._loop is loop} return {t for t in cls._all_tasks if t._loop is loop}
def __init__(self, coro, *, loop=None): def __init__(self, coro, *, loop=None):
assert coroutines.iscoroutine(coro), repr(coro) # Not a coroutine function! assert coroutines.iscoroutine(coro), repr(coro)
super().__init__(loop=loop) super().__init__(loop=loop)
if self._source_traceback: if self._source_traceback:
del self._source_traceback[-1] del self._source_traceback[-1]
......
...@@ -69,7 +69,8 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): ...@@ -69,7 +69,8 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
""" """
if (coroutines.iscoroutine(callback) if (coroutines.iscoroutine(callback)
or coroutines.iscoroutinefunction(callback)): or coroutines.iscoroutinefunction(callback)):
raise TypeError("coroutines cannot be used with add_signal_handler()") raise TypeError("coroutines cannot be used "
"with add_signal_handler()")
self._check_signal(sig) self._check_signal(sig)
self._check_closed() self._check_closed()
try: try:
......
...@@ -424,7 +424,8 @@ class IocpProactor: ...@@ -424,7 +424,8 @@ class IocpProactor:
else: else:
return windows_utils.PipeHandle(handle) return windows_utils.PipeHandle(handle)
return self._register(ov, None, finish_connect_pipe, wait_for_post=True) return self._register(ov, None, finish_connect_pipe,
wait_for_post=True)
def wait_for_handle(self, handle, timeout=None): def wait_for_handle(self, handle, timeout=None):
"""Wait for a handle. """Wait for a handle.
......
...@@ -36,15 +36,16 @@ else: ...@@ -36,15 +36,16 @@ else:
def socketpair(family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0): def socketpair(family=socket.AF_INET, type=socket.SOCK_STREAM, proto=0):
"""A socket pair usable as a self-pipe, for Windows. """A socket pair usable as a self-pipe, for Windows.
Origin: https://gist.github.com/4325783, by Geert Jansen. Public domain. Origin: https://gist.github.com/4325783, by Geert Jansen.
Public domain.
""" """
if family == socket.AF_INET: if family == socket.AF_INET:
host = '127.0.0.1' host = '127.0.0.1'
elif family == socket.AF_INET6: elif family == socket.AF_INET6:
host = '::1' host = '::1'
else: else:
raise ValueError("Only AF_INET and AF_INET6 socket address families " raise ValueError("Only AF_INET and AF_INET6 socket address "
"are supported") "families are supported")
if type != socket.SOCK_STREAM: if type != socket.SOCK_STREAM:
raise ValueError("Only SOCK_STREAM socket type is supported") raise ValueError("Only SOCK_STREAM socket type is supported")
if proto != 0: if proto != 0:
......
...@@ -285,7 +285,8 @@ class BaseEventLoopTests(test_utils.TestCase): ...@@ -285,7 +285,8 @@ class BaseEventLoopTests(test_utils.TestCase):
@mock.patch('asyncio.base_events.logger') @mock.patch('asyncio.base_events.logger')
def test__run_once_logging(self, m_logger): def test__run_once_logging(self, m_logger):
def slow_select(timeout): def slow_select(timeout):
# Sleep a bit longer than a second to avoid timer resolution issues. # Sleep a bit longer than a second to avoid timer resolution
# issues.
time.sleep(1.1) time.sleep(1.1)
return [] return []
...@@ -1217,14 +1218,16 @@ class BaseEventLoopWithSelectorTests(test_utils.TestCase): ...@@ -1217,14 +1218,16 @@ class BaseEventLoopWithSelectorTests(test_utils.TestCase):
self.loop.run_forever() self.loop.run_forever()
fmt, *args = m_logger.warning.call_args[0] fmt, *args = m_logger.warning.call_args[0]
self.assertRegex(fmt % tuple(args), self.assertRegex(fmt % tuple(args),
"^Executing <Handle.*stop_loop_cb.*> took .* seconds$") "^Executing <Handle.*stop_loop_cb.*> "
"took .* seconds$")
# slow task # slow task
asyncio.async(stop_loop_coro(self.loop), loop=self.loop) asyncio.async(stop_loop_coro(self.loop), loop=self.loop)
self.loop.run_forever() self.loop.run_forever()
fmt, *args = m_logger.warning.call_args[0] fmt, *args = m_logger.warning.call_args[0]
self.assertRegex(fmt % tuple(args), self.assertRegex(fmt % tuple(args),
"^Executing <Task.*stop_loop_coro.*> took .* seconds$") "^Executing <Task.*stop_loop_coro.*> "
"took .* seconds$")
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -133,7 +133,8 @@ class FutureTests(test_utils.TestCase): ...@@ -133,7 +133,8 @@ class FutureTests(test_utils.TestCase):
exc = RuntimeError() exc = RuntimeError()
f_exception = asyncio.Future(loop=self.loop) f_exception = asyncio.Future(loop=self.loop)
f_exception.set_exception(exc) f_exception.set_exception(exc)
self.assertEqual(repr(f_exception), '<Future finished exception=RuntimeError()>') self.assertEqual(repr(f_exception),
'<Future finished exception=RuntimeError()>')
self.assertIs(f_exception.exception(), exc) self.assertIs(f_exception.exception(), exc)
def func_repr(func): def func_repr(func):
...@@ -332,16 +333,21 @@ class FutureTests(test_utils.TestCase): ...@@ -332,16 +333,21 @@ class FutureTests(test_utils.TestCase):
if debug: if debug:
frame = source_traceback[-1] frame = source_traceback[-1]
regex = (r'^Future exception was never retrieved\n' regex = (r'^Future exception was never retrieved\n'
r'future: <Future finished exception=MemoryError\(\) created at {filename}:{lineno}>\n' r'future: <Future finished exception=MemoryError\(\) '
r'source_traceback: Object created at \(most recent call last\):\n' r'created at {filename}:{lineno}>\n'
r'source_traceback: Object '
r'created at \(most recent call last\):\n'
r' File' r' File'
r'.*\n' r'.*\n'
r' File "{filename}", line {lineno}, in check_future_exception_never_retrieved\n' r' File "{filename}", line {lineno}, '
r'in check_future_exception_never_retrieved\n'
r' future = asyncio\.Future\(loop=self\.loop\)$' r' future = asyncio\.Future\(loop=self\.loop\)$'
).format(filename=re.escape(frame[0]), lineno=frame[1]) ).format(filename=re.escape(frame[0]),
lineno=frame[1])
else: else:
regex = (r'^Future exception was never retrieved\n' regex = (r'^Future exception was never retrieved\n'
r'future: <Future finished exception=MemoryError\(\)>$' r'future: '
r'<Future finished exception=MemoryError\(\)>$'
) )
exc_info = (type(exc), exc, exc.__traceback__) exc_info = (type(exc), exc, exc.__traceback__)
m_log.error.assert_called_once_with(mock.ANY, exc_info=exc_info) m_log.error.assert_called_once_with(mock.ANY, exc_info=exc_info)
...@@ -352,12 +358,14 @@ class FutureTests(test_utils.TestCase): ...@@ -352,12 +358,14 @@ class FutureTests(test_utils.TestCase):
r'Future/Task created at \(most recent call last\):\n' r'Future/Task created at \(most recent call last\):\n'
r' File' r' File'
r'.*\n' r'.*\n'
r' File "{filename}", line {lineno}, in check_future_exception_never_retrieved\n' r' File "{filename}", line {lineno}, '
r'in check_future_exception_never_retrieved\n'
r' future = asyncio\.Future\(loop=self\.loop\)\n' r' future = asyncio\.Future\(loop=self\.loop\)\n'
r'Traceback \(most recent call last\):\n' r'Traceback \(most recent call last\):\n'
r'.*\n' r'.*\n'
r'MemoryError$' r'MemoryError$'
).format(filename=re.escape(frame[0]), lineno=frame[1]) ).format(filename=re.escape(frame[0]),
lineno=frame[1])
else: else:
regex = (r'^Future/Task exception was never retrieved\n' regex = (r'^Future/Task exception was never retrieved\n'
r'Traceback \(most recent call last\):\n' r'Traceback \(most recent call last\):\n'
......
...@@ -613,8 +613,10 @@ os.close(fd) ...@@ -613,8 +613,10 @@ os.close(fd)
watcher.attach_loop(self.loop) watcher.attach_loop(self.loop)
try: try:
asyncio.set_child_watcher(watcher) asyncio.set_child_watcher(watcher)
proc = self.loop.run_until_complete( create = asyncio.create_subprocess_exec(*args,
asyncio.create_subprocess_exec(*args, pass_fds={wfd}, loop=self.loop)) pass_fds={wfd},
loop=self.loop)
proc = self.loop.run_until_complete(create)
self.loop.run_until_complete(proc.wait()) self.loop.run_until_complete(proc.wait())
finally: finally:
asyncio.set_child_watcher(None) asyncio.set_child_watcher(None)
......
...@@ -115,7 +115,9 @@ class SubprocessMixin: ...@@ -115,7 +115,9 @@ class SubprocessMixin:
def test_send_signal(self): def test_send_signal(self):
code = 'import time; print("sleeping", flush=True); time.sleep(3600)' code = 'import time; print("sleeping", flush=True); time.sleep(3600)'
args = [sys.executable, '-c', code] args = [sys.executable, '-c', code]
create = asyncio.create_subprocess_exec(*args, loop=self.loop, stdout=subprocess.PIPE) create = asyncio.create_subprocess_exec(*args,
stdout=subprocess.PIPE,
loop=self.loop)
proc = self.loop.run_until_complete(create) proc = self.loop.run_until_complete(create)
@asyncio.coroutine @asyncio.coroutine
......
...@@ -208,7 +208,8 @@ class TaskTests(test_utils.TestCase): ...@@ -208,7 +208,8 @@ class TaskTests(test_utils.TestCase):
self.assertEqual(notmuch.__name__, 'notmuch') self.assertEqual(notmuch.__name__, 'notmuch')
if PY35: if PY35:
self.assertEqual(notmuch.__qualname__, self.assertEqual(notmuch.__qualname__,
'TaskTests.test_task_repr_coro_decorator.<locals>.notmuch') 'TaskTests.test_task_repr_coro_decorator'
'.<locals>.notmuch')
self.assertEqual(notmuch.__module__, __name__) self.assertEqual(notmuch.__module__, __name__)
# test coroutine object # test coroutine object
...@@ -218,7 +219,8 @@ class TaskTests(test_utils.TestCase): ...@@ -218,7 +219,8 @@ class TaskTests(test_utils.TestCase):
# function, as expected, and have a qualified name (__qualname__ # function, as expected, and have a qualified name (__qualname__
# attribute). # attribute).
coro_name = 'notmuch' coro_name = 'notmuch'
coro_qualname = 'TaskTests.test_task_repr_coro_decorator.<locals>.notmuch' coro_qualname = ('TaskTests.test_task_repr_coro_decorator'
'.<locals>.notmuch')
else: else:
# On Python < 3.5, generators inherit the name of the code, not of # On Python < 3.5, generators inherit the name of the code, not of
# the function. See: http://bugs.python.org/issue21205 # the function. See: http://bugs.python.org/issue21205
...@@ -239,7 +241,8 @@ class TaskTests(test_utils.TestCase): ...@@ -239,7 +241,8 @@ class TaskTests(test_utils.TestCase):
else: else:
code = gen.gi_code code = gen.gi_code
coro = ('%s() running at %s:%s' coro = ('%s() running at %s:%s'
% (coro_qualname, code.co_filename, code.co_firstlineno)) % (coro_qualname, code.co_filename,
code.co_firstlineno))
self.assertEqual(repr(gen), '<CoroWrapper %s>' % coro) self.assertEqual(repr(gen), '<CoroWrapper %s>' % coro)
...@@ -1678,7 +1681,8 @@ class TaskTests(test_utils.TestCase): ...@@ -1678,7 +1681,8 @@ class TaskTests(test_utils.TestCase):
self.assertTrue(m_log.error.called) self.assertTrue(m_log.error.called)
message = m_log.error.call_args[0][0] message = m_log.error.call_args[0][0]
func_filename, func_lineno = test_utils.get_function_source(coro_noop) func_filename, func_lineno = test_utils.get_function_source(coro_noop)
regex = (r'^<CoroWrapper %s\(\) .* at %s:%s, .*> was never yielded from\n' regex = (r'^<CoroWrapper %s\(\) .* at %s:%s, .*> '
r'was never yielded from\n'
r'Coroutine object created at \(most recent call last\):\n' r'Coroutine object created at \(most recent call last\):\n'
r'.*\n' r'.*\n'
r' File "%s", line %s, in test_coroutine_never_yielded\n' r' File "%s", line %s, in test_coroutine_never_yielded\n'
......
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