mirror of https://github.com/docker/docker-py.git
Merge pull request #848 from docker/845-fix
Client.logs(tail=0) now shows no past logs (expected behavior)
This commit is contained in:
commit
c89d366827
|
@ -192,7 +192,7 @@ class ContainerApiMixin(object):
|
||||||
'follow': stream and 1 or 0,
|
'follow': stream and 1 or 0,
|
||||||
}
|
}
|
||||||
if utils.compare_version('1.13', self._version) >= 0:
|
if utils.compare_version('1.13', self._version) >= 0:
|
||||||
if tail != 'all' and (not isinstance(tail, int) or tail <= 0):
|
if tail != 'all' and (not isinstance(tail, int) or tail < 0):
|
||||||
tail = 'all'
|
tail = 'all'
|
||||||
params['tail'] = tail
|
params['tail'] = tail
|
||||||
url = self._url("/containers/{0}/logs", container)
|
url = self._url("/containers/{0}/logs", container)
|
||||||
|
|
|
@ -613,8 +613,8 @@ class LogsTest(api_test.BaseTestCase):
|
||||||
BUSYBOX, 'echo {0}'.format(snippet)
|
BUSYBOX, 'echo {0}'.format(snippet)
|
||||||
)
|
)
|
||||||
id = container['Id']
|
id = container['Id']
|
||||||
self.client.start(id)
|
|
||||||
self.tmp_containers.append(id)
|
self.tmp_containers.append(id)
|
||||||
|
self.client.start(id)
|
||||||
exitcode = self.client.wait(id)
|
exitcode = self.client.wait(id)
|
||||||
self.assertEqual(exitcode, 0)
|
self.assertEqual(exitcode, 0)
|
||||||
logs = self.client.logs(id)
|
logs = self.client.logs(id)
|
||||||
|
@ -627,29 +627,29 @@ Line2'''
|
||||||
BUSYBOX, 'echo "{0}"'.format(snippet)
|
BUSYBOX, 'echo "{0}"'.format(snippet)
|
||||||
)
|
)
|
||||||
id = container['Id']
|
id = container['Id']
|
||||||
self.client.start(id)
|
|
||||||
self.tmp_containers.append(id)
|
self.tmp_containers.append(id)
|
||||||
|
self.client.start(id)
|
||||||
exitcode = self.client.wait(id)
|
exitcode = self.client.wait(id)
|
||||||
self.assertEqual(exitcode, 0)
|
self.assertEqual(exitcode, 0)
|
||||||
logs = self.client.logs(id, tail=1)
|
logs = self.client.logs(id, tail=1)
|
||||||
self.assertEqual(logs, ('Line2\n').encode(encoding='ascii'))
|
self.assertEqual(logs, 'Line2\n'.encode(encoding='ascii'))
|
||||||
|
|
||||||
# def test_logs_streaming(self):
|
def test_logs_streaming(self):
|
||||||
# snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||||
# container = self.client.create_container(
|
container = self.client.create_container(
|
||||||
# BUSYBOX, 'echo {0}'.format(snippet)
|
BUSYBOX, 'echo {0}'.format(snippet)
|
||||||
# )
|
)
|
||||||
# id = container['Id']
|
id = container['Id']
|
||||||
# self.client.start(id)
|
self.tmp_containers.append(id)
|
||||||
# self.tmp_containers.append(id)
|
self.client.start(id)
|
||||||
# logs = bytes() if six.PY3 else str()
|
logs = six.binary_type()
|
||||||
# for chunk in self.client.logs(id, stream=True):
|
for chunk in self.client.logs(id, stream=True):
|
||||||
# logs += chunk
|
logs += chunk
|
||||||
|
|
||||||
# exitcode = self.client.wait(id)
|
exitcode = self.client.wait(id)
|
||||||
# self.assertEqual(exitcode, 0)
|
self.assertEqual(exitcode, 0)
|
||||||
|
|
||||||
# self.assertEqual(logs, (snippet + '\n').encode(encoding='ascii'))
|
self.assertEqual(logs, (snippet + '\n').encode(encoding='ascii'))
|
||||||
|
|
||||||
def test_logs_with_dict_instead_of_id(self):
|
def test_logs_with_dict_instead_of_id(self):
|
||||||
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||||
|
@ -657,13 +657,26 @@ Line2'''
|
||||||
BUSYBOX, 'echo {0}'.format(snippet)
|
BUSYBOX, 'echo {0}'.format(snippet)
|
||||||
)
|
)
|
||||||
id = container['Id']
|
id = container['Id']
|
||||||
self.client.start(id)
|
|
||||||
self.tmp_containers.append(id)
|
self.tmp_containers.append(id)
|
||||||
|
self.client.start(id)
|
||||||
exitcode = self.client.wait(id)
|
exitcode = self.client.wait(id)
|
||||||
self.assertEqual(exitcode, 0)
|
self.assertEqual(exitcode, 0)
|
||||||
logs = self.client.logs(container)
|
logs = self.client.logs(container)
|
||||||
self.assertEqual(logs, (snippet + '\n').encode(encoding='ascii'))
|
self.assertEqual(logs, (snippet + '\n').encode(encoding='ascii'))
|
||||||
|
|
||||||
|
def test_logs_with_tail_0(self):
|
||||||
|
snippet = 'Flowering Nights (Sakuya Iyazoi)'
|
||||||
|
container = self.client.create_container(
|
||||||
|
BUSYBOX, 'echo "{0}"'.format(snippet)
|
||||||
|
)
|
||||||
|
id = container['Id']
|
||||||
|
self.tmp_containers.append(id)
|
||||||
|
self.client.start(id)
|
||||||
|
exitcode = self.client.wait(id)
|
||||||
|
self.assertEqual(exitcode, 0)
|
||||||
|
logs = self.client.logs(id, tail=0)
|
||||||
|
self.assertEqual(logs, ''.encode(encoding='ascii'))
|
||||||
|
|
||||||
|
|
||||||
class DiffTest(api_test.BaseTestCase):
|
class DiffTest(api_test.BaseTestCase):
|
||||||
def test_diff(self):
|
def test_diff(self):
|
||||||
|
|
Loading…
Reference in New Issue