summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2015-11-11 13:34:18 -0800
committerJoffrey F <joffrey@docker.com>2015-11-11 13:34:18 -0800
commit58aca47e0da0b1450eb1d0c3f6080bad08abe99e (patch)
treec9f3aee55fa8a0153fc17832dae326aa97fa9840
parentcefad9e23b4c8eb3e64b7ca35c0448b6bc2eb9a4 (diff)
downloaddocker-py-845-fix.tar.gz
Client.logs(tail=0) now shows no past logs (expected behavior)845-fix
Add test confirming the new behavior. Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/api/container.py2
-rw-r--r--tests/integration/container_test.py43
2 files changed, 29 insertions, 16 deletions
diff --git a/docker/api/container.py b/docker/api/container.py
index 142bd0f..f3f85e8 100644
--- a/docker/api/container.py
+++ b/docker/api/container.py
@@ -192,7 +192,7 @@ class ContainerApiMixin(object):
'follow': stream and 1 or 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'
params['tail'] = tail
url = self._url("/containers/{0}/logs", container)
diff --git a/tests/integration/container_test.py b/tests/integration/container_test.py
index 9606e14..58a12d9 100644
--- a/tests/integration/container_test.py
+++ b/tests/integration/container_test.py
@@ -632,24 +632,24 @@ Line2'''
exitcode = self.client.wait(id)
self.assertEqual(exitcode, 0)
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):
-# snippet = 'Flowering Nights (Sakuya Iyazoi)'
-# container = self.client.create_container(
-# BUSYBOX, 'echo {0}'.format(snippet)
-# )
-# id = container['Id']
-# self.client.start(id)
-# self.tmp_containers.append(id)
-# logs = bytes() if six.PY3 else str()
-# for chunk in self.client.logs(id, stream=True):
-# logs += chunk
+ def test_logs_streaming(self):
+ snippet = 'Flowering Nights (Sakuya Iyazoi)'
+ container = self.client.create_container(
+ BUSYBOX, 'echo {0}'.format(snippet)
+ )
+ id = container['Id']
+ self.client.start(id)
+ self.tmp_containers.append(id)
+ logs = bytes() if six.PY3 else str()
+ for chunk in self.client.logs(id, stream=True):
+ logs += chunk
-# exitcode = self.client.wait(id)
-# self.assertEqual(exitcode, 0)
+ exitcode = self.client.wait(id)
+ 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):
snippet = 'Flowering Nights (Sakuya Iyazoi)'
@@ -664,6 +664,19 @@ Line2'''
logs = self.client.logs(container)
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.client.start(id)
+ self.tmp_containers.append(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):
def test_diff(self):