Python 2.6 does not support auto-numbering in str.format()
This commit is contained in:
@@ -339,7 +339,7 @@ class BaseEventLoop(events.AbstractEventLoop):
|
|||||||
exc = OSError(
|
exc = OSError(
|
||||||
exc.errno, 'error while '
|
exc.errno, 'error while '
|
||||||
'attempting to bind on address '
|
'attempting to bind on address '
|
||||||
'{!r}: {}'.format(
|
'{0!r}: {1}'.format(
|
||||||
laddr, exc.strerror.lower()))
|
laddr, exc.strerror.lower()))
|
||||||
exceptions.append(exc)
|
exceptions.append(exc)
|
||||||
else:
|
else:
|
||||||
@@ -363,7 +363,7 @@ class BaseEventLoop(events.AbstractEventLoop):
|
|||||||
raise exceptions[0]
|
raise exceptions[0]
|
||||||
# Raise a combined exception so the user can see all
|
# Raise a combined exception so the user can see all
|
||||||
# the various error messages.
|
# the various error messages.
|
||||||
raise OSError('Multiple exceptions: {}'.format(
|
raise OSError('Multiple exceptions: {0}'.format(
|
||||||
', '.join(str(exc) for exc in exceptions)))
|
', '.join(str(exc) for exc in exceptions)))
|
||||||
|
|
||||||
elif sock is None:
|
elif sock is None:
|
||||||
@@ -615,7 +615,7 @@ class BaseEventLoop(events.AbstractEventLoop):
|
|||||||
t0 = self.time()
|
t0 = self.time()
|
||||||
event_list = self._selector.select(timeout)
|
event_list = self._selector.select(timeout)
|
||||||
t1 = self.time()
|
t1 = self.time()
|
||||||
argstr = '' if timeout is None else ' {:.3f}'.format(timeout)
|
argstr = '' if timeout is None else ' {0:.3f}'.format(timeout)
|
||||||
if t1-t0 >= 1:
|
if t1-t0 >= 1:
|
||||||
level = logging.INFO
|
level = logging.INFO
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class Handle(object):
|
|||||||
self._cancelled = False
|
self._cancelled = False
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
res = 'Handle({}, {})'.format(self._callback, self._args)
|
res = 'Handle({0}, {1})'.format(self._callback, self._args)
|
||||||
if self._cancelled:
|
if self._cancelled:
|
||||||
res += '<cancelled>'
|
res += '<cancelled>'
|
||||||
return res
|
return res
|
||||||
@@ -58,9 +58,9 @@ class TimerHandle(Handle):
|
|||||||
self._when = when
|
self._when = when
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
res = 'TimerHandle({}, {}, {})'.format(self._when,
|
res = 'TimerHandle({0}, {1}, {2})'.format(self._when,
|
||||||
self._callback,
|
self._callback,
|
||||||
self._args)
|
self._args)
|
||||||
if self._cancelled:
|
if self._cancelled:
|
||||||
res += '<cancelled>'
|
res += '<cancelled>'
|
||||||
|
|
||||||
|
|||||||
@@ -152,19 +152,19 @@ class Future(object):
|
|||||||
res = self.__class__.__name__
|
res = self.__class__.__name__
|
||||||
if self._state == _FINISHED:
|
if self._state == _FINISHED:
|
||||||
if self._exception is not None:
|
if self._exception is not None:
|
||||||
res += '<exception={!r}>'.format(self._exception)
|
res += '<exception={0!r}>'.format(self._exception)
|
||||||
else:
|
else:
|
||||||
res += '<result={!r}>'.format(self._result)
|
res += '<result={0!r}>'.format(self._result)
|
||||||
elif self._callbacks:
|
elif self._callbacks:
|
||||||
size = len(self._callbacks)
|
size = len(self._callbacks)
|
||||||
if size > 2:
|
if size > 2:
|
||||||
res += '<{}, [{}, <{} more>, {}]>'.format(
|
res += '<{0}, [{1}, <{2} more>, {3}]>'.format(
|
||||||
self._state, self._callbacks[0],
|
self._state, self._callbacks[0],
|
||||||
size-2, self._callbacks[-1])
|
size-2, self._callbacks[-1])
|
||||||
else:
|
else:
|
||||||
res += '<{}, {}>'.format(self._state, self._callbacks)
|
res += '<{0}, {1}>'.format(self._state, self._callbacks)
|
||||||
else:
|
else:
|
||||||
res += '<{}>'.format(self._state)
|
res += '<{0}>'.format(self._state)
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def cancel(self):
|
def cancel(self):
|
||||||
@@ -277,7 +277,7 @@ class Future(object):
|
|||||||
InvalidStateError.
|
InvalidStateError.
|
||||||
"""
|
"""
|
||||||
if self._state != _PENDING:
|
if self._state != _PENDING:
|
||||||
raise InvalidStateError('{}: {!r}'.format(self._state, self))
|
raise InvalidStateError('{0}: {1!r}'.format(self._state, self))
|
||||||
self._result = result
|
self._result = result
|
||||||
self._state = _FINISHED
|
self._state = _FINISHED
|
||||||
self._schedule_callbacks()
|
self._schedule_callbacks()
|
||||||
@@ -289,7 +289,7 @@ class Future(object):
|
|||||||
InvalidStateError.
|
InvalidStateError.
|
||||||
"""
|
"""
|
||||||
if self._state != _PENDING:
|
if self._state != _PENDING:
|
||||||
raise InvalidStateError('{}: {!r}'.format(self._state, self))
|
raise InvalidStateError('{0}: {1!r}'.format(self._state, self))
|
||||||
self._exception = exception
|
self._exception = exception
|
||||||
|
|
||||||
# FIXME: delay when the traceback is formatted
|
# FIXME: delay when the traceback is formatted
|
||||||
@@ -339,7 +339,7 @@ def wrap_future(fut, loop=None):
|
|||||||
if isinstance(fut, Future):
|
if isinstance(fut, Future):
|
||||||
return fut
|
return fut
|
||||||
assert isinstance(fut, executor.Future), \
|
assert isinstance(fut, executor.Future), \
|
||||||
'concurrent.futures.Future is expected, got {!r}'.format(fut)
|
'concurrent.futures.Future is expected, got {0!r}'.format(fut)
|
||||||
if loop is None:
|
if loop is None:
|
||||||
loop = events.get_event_loop()
|
loop = events.get_event_loop()
|
||||||
new_future = Future(loop=loop)
|
new_future = Future(loop=loop)
|
||||||
|
|||||||
@@ -75,8 +75,8 @@ class Lock(object):
|
|||||||
res = super(Lock, self).__repr__()
|
res = super(Lock, self).__repr__()
|
||||||
extra = 'locked' if self._locked else 'unlocked'
|
extra = 'locked' if self._locked else 'unlocked'
|
||||||
if self._waiters:
|
if self._waiters:
|
||||||
extra = '{},waiters:{}'.format(extra, len(self._waiters))
|
extra = '{0},waiters:{1}'.format(extra, len(self._waiters))
|
||||||
return '<{} [{}]>'.format(res[1:-1], extra)
|
return '<{0} [{1}]>'.format(res[1:-1], extra)
|
||||||
|
|
||||||
def locked(self):
|
def locked(self):
|
||||||
"""Return True if lock is acquired."""
|
"""Return True if lock is acquired."""
|
||||||
@@ -159,8 +159,8 @@ class Event(object):
|
|||||||
res = super(Event, self).__repr__()
|
res = super(Event, self).__repr__()
|
||||||
extra = 'set' if self._value else 'unset'
|
extra = 'set' if self._value else 'unset'
|
||||||
if self._waiters:
|
if self._waiters:
|
||||||
extra = '{},waiters:{}'.format(extra, len(self._waiters))
|
extra = '{0},waiters:{1}'.format(extra, len(self._waiters))
|
||||||
return '<{} [{}]>'.format(res[1:-1], extra)
|
return '<{0} [{1}]>'.format(res[1:-1], extra)
|
||||||
|
|
||||||
def is_set(self):
|
def is_set(self):
|
||||||
"""Return True if and only if the internal flag is true."""
|
"""Return True if and only if the internal flag is true."""
|
||||||
@@ -234,8 +234,8 @@ class Condition(object):
|
|||||||
res = super(Condition, self).__repr__()
|
res = super(Condition, self).__repr__()
|
||||||
extra = 'locked' if self.locked() else 'unlocked'
|
extra = 'locked' if self.locked() else 'unlocked'
|
||||||
if self._waiters:
|
if self._waiters:
|
||||||
extra = '{},waiters:{}'.format(extra, len(self._waiters))
|
extra = '{0},waiters:{1}'.format(extra, len(self._waiters))
|
||||||
return '<{} [{}]>'.format(res[1:-1], extra)
|
return '<{0} [{1}]>'.format(res[1:-1], extra)
|
||||||
|
|
||||||
@tasks.coroutine
|
@tasks.coroutine
|
||||||
def wait(self):
|
def wait(self):
|
||||||
@@ -356,11 +356,11 @@ class Semaphore(object):
|
|||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
res = super(Semaphore, self).__repr__()
|
res = super(Semaphore, self).__repr__()
|
||||||
extra = 'locked' if self._locked else 'unlocked,value:{}'.format(
|
extra = 'locked' if self._locked else 'unlocked,value:{0}'.format(
|
||||||
self._value)
|
self._value)
|
||||||
if self._waiters:
|
if self._waiters:
|
||||||
extra = '{},waiters:{}'.format(extra, len(self._waiters))
|
extra = '{0},waiters:{1}'.format(extra, len(self._waiters))
|
||||||
return '<{} [{}]>'.format(res[1:-1], extra)
|
return '<{0} [{1}]>'.format(res[1:-1], extra)
|
||||||
|
|
||||||
def locked(self):
|
def locked(self):
|
||||||
"""Returns True if semaphore can not be acquired immediately."""
|
"""Returns True if semaphore can not be acquired immediately."""
|
||||||
|
|||||||
@@ -53,20 +53,20 @@ class Queue(object):
|
|||||||
self._queue.append(item)
|
self._queue.append(item)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return '<{} at {:#x} {}>'.format(
|
return '<{0} at {1:#x} {2}>'.format(
|
||||||
type(self).__name__, id(self), self._format())
|
type(self).__name__, id(self), self._format())
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '<{} {}>'.format(type(self).__name__, self._format())
|
return '<{0} {1}>'.format(type(self).__name__, self._format())
|
||||||
|
|
||||||
def _format(self):
|
def _format(self):
|
||||||
result = 'maxsize={!r}'.format(self._maxsize)
|
result = 'maxsize={0!r}'.format(self._maxsize)
|
||||||
if getattr(self, '_queue', None):
|
if getattr(self, '_queue', None):
|
||||||
result += ' _queue={!r}'.format(list(self._queue))
|
result += ' _queue={0!r}'.format(list(self._queue))
|
||||||
if self._getters:
|
if self._getters:
|
||||||
result += ' _getters[{}]'.format(len(self._getters))
|
result += ' _getters[{0}]'.format(len(self._getters))
|
||||||
if self._putters:
|
if self._putters:
|
||||||
result += ' _putters[{}]'.format(len(self._putters))
|
result += ' _putters[{0}]'.format(len(self._putters))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _consume_done_getters(self):
|
def _consume_done_getters(self):
|
||||||
@@ -244,7 +244,7 @@ class JoinableQueue(Queue):
|
|||||||
def _format(self):
|
def _format(self):
|
||||||
result = Queue._format(self)
|
result = Queue._format(self)
|
||||||
if self._unfinished_tasks:
|
if self._unfinished_tasks:
|
||||||
result += ' tasks={}'.format(self._unfinished_tasks)
|
result += ' tasks={0}'.format(self._unfinished_tasks)
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def _put(self, item):
|
def _put(self, item):
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ def _fileobj_to_fd(fileobj):
|
|||||||
fd = int(fileobj.fileno())
|
fd = int(fileobj.fileno())
|
||||||
except (AttributeError, TypeError, ValueError):
|
except (AttributeError, TypeError, ValueError):
|
||||||
raise ValueError("Invalid file object: "
|
raise ValueError("Invalid file object: "
|
||||||
"{!r}".format(fileobj))
|
"{0!r}".format(fileobj))
|
||||||
if fd < 0:
|
if fd < 0:
|
||||||
raise ValueError("Invalid file descriptor: {}".format(fd))
|
raise ValueError("Invalid file descriptor: {0}".format(fd))
|
||||||
return fd
|
return fd
|
||||||
|
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ class _SelectorMapping(Mapping):
|
|||||||
fd = self._selector._fileobj_lookup(fileobj)
|
fd = self._selector._fileobj_lookup(fileobj)
|
||||||
return self._selector._fd_to_key[fd]
|
return self._selector._fd_to_key[fd]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise KeyError("{!r} is not registered".format(fileobj))
|
raise KeyError("{0!r} is not registered".format(fileobj))
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self):
|
||||||
return iter(self._selector._fd_to_key)
|
return iter(self._selector._fd_to_key)
|
||||||
@@ -179,7 +179,7 @@ class BaseSelector(object):
|
|||||||
try:
|
try:
|
||||||
return mapping[fileobj]
|
return mapping[fileobj]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise KeyError("{!r} is not registered".format(fileobj))
|
raise KeyError("{0!r} is not registered".format(fileobj))
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def get_map(self):
|
def get_map(self):
|
||||||
@@ -223,12 +223,12 @@ class _BaseSelectorImpl(BaseSelector):
|
|||||||
|
|
||||||
def register(self, fileobj, events, data=None):
|
def register(self, fileobj, events, data=None):
|
||||||
if (not events) or (events & ~(EVENT_READ | EVENT_WRITE)):
|
if (not events) or (events & ~(EVENT_READ | EVENT_WRITE)):
|
||||||
raise ValueError("Invalid events: {!r}".format(events))
|
raise ValueError("Invalid events: {0!r}".format(events))
|
||||||
|
|
||||||
key = SelectorKey(fileobj, self._fileobj_lookup(fileobj), events, data)
|
key = SelectorKey(fileobj, self._fileobj_lookup(fileobj), events, data)
|
||||||
|
|
||||||
if key.fd in self._fd_to_key:
|
if key.fd in self._fd_to_key:
|
||||||
raise KeyError("{!r} (FD {}) is already registered"
|
raise KeyError("{0!r} (FD {1}) is already registered"
|
||||||
.format(fileobj, key.fd))
|
.format(fileobj, key.fd))
|
||||||
|
|
||||||
self._fd_to_key[key.fd] = key
|
self._fd_to_key[key.fd] = key
|
||||||
@@ -238,7 +238,7 @@ class _BaseSelectorImpl(BaseSelector):
|
|||||||
try:
|
try:
|
||||||
key = self._fd_to_key.pop(self._fileobj_lookup(fileobj))
|
key = self._fd_to_key.pop(self._fileobj_lookup(fileobj))
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise KeyError("{!r} is not registered".format(fileobj))
|
raise KeyError("{0!r} is not registered".format(fileobj))
|
||||||
return key
|
return key
|
||||||
|
|
||||||
def modify(self, fileobj, events, data=None):
|
def modify(self, fileobj, events, data=None):
|
||||||
@@ -246,7 +246,7 @@ class _BaseSelectorImpl(BaseSelector):
|
|||||||
try:
|
try:
|
||||||
key = self._fd_to_key[self._fileobj_lookup(fileobj)]
|
key = self._fd_to_key[self._fileobj_lookup(fileobj)]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise KeyError("{!r} is not registered".format(fileobj))
|
raise KeyError("{0!r} is not registered".format(fileobj))
|
||||||
if events != key.events:
|
if events != key.events:
|
||||||
self.unregister(fileobj)
|
self.unregister(fileobj)
|
||||||
key = self.register(fileobj, events, data)
|
key = self.register(fileobj, events, data)
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ class Task(futures.Future):
|
|||||||
i = res.find('<')
|
i = res.find('<')
|
||||||
if i < 0:
|
if i < 0:
|
||||||
i = len(res)
|
i = len(res)
|
||||||
res = res[:i] + '(<{}>)'.format(self._coro.__name__) + res[i:]
|
res = res[:i] + '(<{0}>)'.format(self._coro.__name__) + res[i:]
|
||||||
return res
|
return res
|
||||||
|
|
||||||
def get_stack(self, limit=None):
|
def get_stack(self, limit=None):
|
||||||
@@ -188,7 +188,7 @@ class Task(futures.Future):
|
|||||||
|
|
||||||
def _step(self, value=None, exc=None):
|
def _step(self, value=None, exc=None):
|
||||||
assert not self.done(), \
|
assert not self.done(), \
|
||||||
'_step(): already done: {!r}, {!r}, {!r}'.format(self, value, exc)
|
'_step(): already done: {0!r}, {1!r}, {2!r}'.format(self, value, exc)
|
||||||
if self._must_cancel:
|
if self._must_cancel:
|
||||||
if not isinstance(exc, futures.CancelledError):
|
if not isinstance(exc, futures.CancelledError):
|
||||||
exc = futures.CancelledError()
|
exc = futures.CancelledError()
|
||||||
@@ -235,7 +235,7 @@ class Task(futures.Future):
|
|||||||
self._loop.call_soon(
|
self._loop.call_soon(
|
||||||
self._step, None,
|
self._step, None,
|
||||||
RuntimeError(
|
RuntimeError(
|
||||||
'Task got bad yield: {!r}'.format(result)))
|
'Task got bad yield: {0!r}'.format(result)))
|
||||||
finally:
|
finally:
|
||||||
self.__class__._current_tasks.pop(self._loop)
|
self.__class__._current_tasks.pop(self._loop)
|
||||||
self = None
|
self = None
|
||||||
@@ -283,7 +283,7 @@ def wait(fs, loop=None, timeout=None, return_when=ALL_COMPLETED):
|
|||||||
fs = set(async(f, loop=loop) for f in fs)
|
fs = set(async(f, loop=loop) for f in fs)
|
||||||
|
|
||||||
if return_when not in (FIRST_COMPLETED, FIRST_EXCEPTION, ALL_COMPLETED):
|
if return_when not in (FIRST_COMPLETED, FIRST_EXCEPTION, ALL_COMPLETED):
|
||||||
raise ValueError('Invalid return_when value: {}'.format(return_when))
|
raise ValueError('Invalid return_when value: {0}'.format(return_when))
|
||||||
result = yield _wait(fs, timeout, return_when, loop)
|
result = yield _wait(fs, timeout, return_when, loop)
|
||||||
raise Return(result)
|
raise Return(result)
|
||||||
|
|
||||||
|
|||||||
@@ -228,11 +228,11 @@ class TestLoop(base_events.BaseEventLoop):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def assert_reader(self, fd, callback, *args):
|
def assert_reader(self, fd, callback, *args):
|
||||||
assert fd in self.readers, 'fd {} is not registered'.format(fd)
|
assert fd in self.readers, 'fd {0} is not registered'.format(fd)
|
||||||
handle = self.readers[fd]
|
handle = self.readers[fd]
|
||||||
assert handle._callback == callback, '{!r} != {!r}'.format(
|
assert handle._callback == callback, '{0!r} != {1!r}'.format(
|
||||||
handle._callback, callback)
|
handle._callback, callback)
|
||||||
assert handle._args == args, '{!r} != {!r}'.format(
|
assert handle._args == args, '{0!r} != {1!r}'.format(
|
||||||
handle._args, args)
|
handle._args, args)
|
||||||
|
|
||||||
def add_writer(self, fd, callback, *args):
|
def add_writer(self, fd, callback, *args):
|
||||||
@@ -247,11 +247,11 @@ class TestLoop(base_events.BaseEventLoop):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def assert_writer(self, fd, callback, *args):
|
def assert_writer(self, fd, callback, *args):
|
||||||
assert fd in self.writers, 'fd {} is not registered'.format(fd)
|
assert fd in self.writers, 'fd {0} is not registered'.format(fd)
|
||||||
handle = self.writers[fd]
|
handle = self.writers[fd]
|
||||||
assert handle._callback == callback, '{!r} != {!r}'.format(
|
assert handle._callback == callback, '{0!r} != {1!r}'.format(
|
||||||
handle._callback, callback)
|
handle._callback, callback)
|
||||||
assert handle._args == args, '{!r} != {!r}'.format(
|
assert handle._args == args, '{0!r} != {1!r}'.format(
|
||||||
handle._args, args)
|
handle._args, args)
|
||||||
|
|
||||||
def reset_counters(self):
|
def reset_counters(self):
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
|
|||||||
logger.info('set_wakeup_fd(-1) failed: %s', nexc)
|
logger.info('set_wakeup_fd(-1) failed: %s', nexc)
|
||||||
|
|
||||||
if isinstance(exc, RuntimeError) or exc.errno == errno.EINVAL:
|
if isinstance(exc, RuntimeError) or exc.errno == errno.EINVAL:
|
||||||
raise RuntimeError('sig {} cannot be caught'.format(sig))
|
raise RuntimeError('sig {0} cannot be caught'.format(sig))
|
||||||
else:
|
else:
|
||||||
raise exc_type, exc_value, tb
|
raise exc_type, exc_value, tb
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
|
|||||||
signal.signal(sig, handler)
|
signal.signal(sig, handler)
|
||||||
except OSError as exc:
|
except OSError as exc:
|
||||||
if exc.errno == errno.EINVAL:
|
if exc.errno == errno.EINVAL:
|
||||||
raise RuntimeError('sig {} cannot be caught'.format(sig))
|
raise RuntimeError('sig {0} cannot be caught'.format(sig))
|
||||||
else:
|
else:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@@ -144,11 +144,11 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
|
|||||||
Raise RuntimeError if there is a problem setting up the handler.
|
Raise RuntimeError if there is a problem setting up the handler.
|
||||||
"""
|
"""
|
||||||
if not isinstance(sig, int):
|
if not isinstance(sig, int):
|
||||||
raise TypeError('sig must be an int, not {!r}'.format(sig))
|
raise TypeError('sig must be an int, not {0!r}'.format(sig))
|
||||||
|
|
||||||
if not (1 <= sig < signal.NSIG):
|
if not (1 <= sig < signal.NSIG):
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
'sig {} out of range(1, {})'.format(sig, signal.NSIG))
|
'sig {0} out of range(1, {1})'.format(sig, signal.NSIG))
|
||||||
|
|
||||||
def _make_read_pipe_transport(self, pipe, protocol, waiter=None,
|
def _make_read_pipe_transport(self, pipe, protocol, waiter=None,
|
||||||
extra=None):
|
extra=None):
|
||||||
|
|||||||
2
check.py
2
check.py
@@ -37,7 +37,7 @@ def process(fn):
|
|||||||
line = line.rstrip('\n')
|
line = line.rstrip('\n')
|
||||||
sline = line.rstrip()
|
sline = line.rstrip()
|
||||||
if len(line) >= 80 or line != sline or not isascii(line):
|
if len(line) >= 80 or line != sline or not isascii(line):
|
||||||
print('{}:{:d}:{}{}'.format(
|
print('{0}:{1:d}:{2}{3}'.format(
|
||||||
fn, i+1, sline, '_' * (len(line) - len(sline))))
|
fn, i+1, sline, '_' * (len(line) - len(sline))))
|
||||||
finally:
|
finally:
|
||||||
f.close()
|
f.close()
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ class Cache:
|
|||||||
break
|
break
|
||||||
response_b = json.dumps(response).encode('utf8') + b'\r\n'
|
response_b = json.dumps(response).encode('utf8') + b'\r\n'
|
||||||
byte_count = len(response_b)
|
byte_count = len(response_b)
|
||||||
framing_s = 'response {} {}\r\n'.format(request_id, byte_count)
|
framing_s = 'response {0} {1}\r\n'.format(request_id, byte_count)
|
||||||
writer.write(framing_s.encode('ascii'))
|
writer.write(framing_s.encode('ascii'))
|
||||||
yield from asyncio.sleep(args.resp_sleep*random.random(),
|
yield from asyncio.sleep(args.resp_sleep*random.random(),
|
||||||
loop=self.loop)
|
loop=self.loop)
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class MyServer:
|
|||||||
msg = args[1]
|
msg = args[1]
|
||||||
client_writer.write("begin\n".encode("utf-8"))
|
client_writer.write("begin\n".encode("utf-8"))
|
||||||
for idx in range(times):
|
for idx in range(times):
|
||||||
client_writer.write("{}. {}\n".format(idx+1, msg)
|
client_writer.write("{0}. {1}\n".format(idx+1, msg)
|
||||||
.encode("utf-8"))
|
.encode("utf-8"))
|
||||||
client_writer.write("end\n".encode("utf-8"))
|
client_writer.write("end\n".encode("utf-8"))
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ class MyServer:
|
|||||||
msg = args[1]
|
msg = args[1]
|
||||||
client_writer.write("begin\n".encode("utf-8"))
|
client_writer.write("begin\n".encode("utf-8"))
|
||||||
for idx in range(times):
|
for idx in range(times):
|
||||||
client_writer.write("{}. {}\n".format(
|
client_writer.write("{0}. {1}\n".format(
|
||||||
idx+1, msg + 'x'*random.randint(10, 50))
|
idx+1, msg + 'x'*random.randint(10, 50))
|
||||||
.encode("utf-8"))
|
.encode("utf-8"))
|
||||||
client_writer.write("end\n".encode("utf-8"))
|
client_writer.write("end\n".encode("utf-8"))
|
||||||
@@ -143,7 +143,7 @@ def main():
|
|||||||
|
|
||||||
for N in Ns:
|
for N in Ns:
|
||||||
t0 = time.time()
|
t0 = time.time()
|
||||||
send("repeat {} hello world ".format(N))
|
send("repeat {0} hello world ".format(N))
|
||||||
msg = yield recv()
|
msg = yield recv()
|
||||||
assert msg == 'begin'
|
assert msg == 'begin'
|
||||||
while True:
|
while True:
|
||||||
@@ -152,7 +152,7 @@ def main():
|
|||||||
break
|
break
|
||||||
t1 = time.time()
|
t1 = time.time()
|
||||||
dt = t1 - t0
|
dt = t1 - t0
|
||||||
print("Time taken: {:.3f} seconds ({:.6f} per repetition)"
|
print("Time taken: {0:.3f} seconds ({1:.6f} per repetition)"
|
||||||
.format(dt, dt/N))
|
.format(dt, dt/N))
|
||||||
times.append(dt)
|
times.append(dt)
|
||||||
|
|
||||||
|
|||||||
@@ -32,12 +32,12 @@ class MyClientUdpEchoProtocol:
|
|||||||
|
|
||||||
def connection_made(self, transport):
|
def connection_made(self, transport):
|
||||||
self.transport = transport
|
self.transport = transport
|
||||||
print('sending "{}"'.format(self.message))
|
print('sending "{0}"'.format(self.message))
|
||||||
self.transport.sendto(self.message.encode())
|
self.transport.sendto(self.message.encode())
|
||||||
print('waiting to receive')
|
print('waiting to receive')
|
||||||
|
|
||||||
def datagram_received(self, data, addr):
|
def datagram_received(self, data, addr):
|
||||||
print('received "{}"'.format(data.decode()))
|
print('received "{0}"'.format(data.decode()))
|
||||||
self.transport.close()
|
self.transport.close()
|
||||||
|
|
||||||
def error_received(self, exc):
|
def error_received(self, exc):
|
||||||
|
|||||||
16
runtests.py
16
runtests.py
@@ -81,20 +81,20 @@ def load_modules(basedir, suffix='.py'):
|
|||||||
modpath = os.path.join(dir, '__init__.py')
|
modpath = os.path.join(dir, '__init__.py')
|
||||||
if os.path.isfile(modpath):
|
if os.path.isfile(modpath):
|
||||||
mod = os.path.split(dir)[-1]
|
mod = os.path.split(dir)[-1]
|
||||||
files.append(('{}{}'.format(prefix, mod), modpath))
|
files.append(('{0}{1}'.format(prefix, mod), modpath))
|
||||||
|
|
||||||
prefix = '{}{}.'.format(prefix, mod)
|
prefix = '{0}{1}.'.format(prefix, mod)
|
||||||
|
|
||||||
for name in os.listdir(dir):
|
for name in os.listdir(dir):
|
||||||
path = os.path.join(dir, name)
|
path = os.path.join(dir, name)
|
||||||
|
|
||||||
if os.path.isdir(path):
|
if os.path.isdir(path):
|
||||||
files.extend(list_dir('{}{}.'.format(prefix, name), path))
|
files.extend(list_dir('{0}{1}.'.format(prefix, name), path))
|
||||||
else:
|
else:
|
||||||
if (name != '__init__.py' and
|
if (name != '__init__.py' and
|
||||||
name.endswith(suffix) and
|
name.endswith(suffix) and
|
||||||
not name.startswith(('.', '_'))):
|
not name.startswith(('.', '_'))):
|
||||||
files.append(('{}{}'.format(prefix, name[:-3]), path))
|
files.append(('{0}{1}'.format(prefix, name[:-3]), path))
|
||||||
|
|
||||||
return files
|
return files
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ def load_modules(basedir, suffix='.py'):
|
|||||||
except SyntaxError:
|
except SyntaxError:
|
||||||
raise
|
raise
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
print("Skipping '{}': {}".format(modname, err), file=sys.stderr)
|
print("Skipping '{0}': {1}".format(modname, err), file=sys.stderr)
|
||||||
|
|
||||||
return mods
|
return mods
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ class TestRunner(unittest.TextTestRunner):
|
|||||||
def run(self, test):
|
def run(self, test):
|
||||||
result = super().run(test)
|
result = super().run(test)
|
||||||
if result.leaks:
|
if result.leaks:
|
||||||
self.stream.writeln("{} tests leaks:".format(len(result.leaks)))
|
self.stream.writeln("{0} tests leaks:".format(len(result.leaks)))
|
||||||
for name, leaks in result.leaks:
|
for name, leaks in result.leaks:
|
||||||
self.stream.writeln(' '*4 + name + ':')
|
self.stream.writeln(' '*4 + name + ':')
|
||||||
for leak in leaks:
|
for leak in leaks:
|
||||||
@@ -214,7 +214,7 @@ def runtests():
|
|||||||
|
|
||||||
testsdir = os.path.abspath(args.testsdir)
|
testsdir = os.path.abspath(args.testsdir)
|
||||||
if not os.path.isdir(testsdir):
|
if not os.path.isdir(testsdir):
|
||||||
print("Tests directory is not found: {}\n".format(testsdir))
|
print("Tests directory is not found: {0}\n".format(testsdir))
|
||||||
ARGS.print_help()
|
ARGS.print_help()
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -272,7 +272,7 @@ def runtests():
|
|||||||
cov.report(show_missing=False)
|
cov.report(show_missing=False)
|
||||||
here = os.path.dirname(os.path.abspath(__file__))
|
here = os.path.dirname(os.path.abspath(__file__))
|
||||||
print("\nFor html report:")
|
print("\nFor html report:")
|
||||||
print("open file://{}/htmlcov/index.html".format(here))
|
print("open file://{0}/htmlcov/index.html".format(here))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
@@ -84,11 +84,11 @@ class ProactorTests(unittest.TestCase):
|
|||||||
clients.append((stream_reader, trans))
|
clients.append((stream_reader, trans))
|
||||||
|
|
||||||
for i, (r, w) in enumerate(clients):
|
for i, (r, w) in enumerate(clients):
|
||||||
w.write('lower-{}\n'.format(i).encode())
|
w.write('lower-{0}\n'.format(i).encode())
|
||||||
|
|
||||||
for i, (r, w) in enumerate(clients):
|
for i, (r, w) in enumerate(clients):
|
||||||
response = yield r.readline()
|
response = yield r.readline()
|
||||||
self.assertEqual(response, 'LOWER-{}\n'.format(i).encode())
|
self.assertEqual(response, 'LOWER-{0}\n'.format(i).encode())
|
||||||
w.close()
|
w.close()
|
||||||
|
|
||||||
server.close()
|
server.close()
|
||||||
|
|||||||
Reference in New Issue
Block a user