summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Tomecek <ttomecek@redhat.com>2016-10-26 16:58:27 +0200
committerTomas Tomecek <ttomecek@redhat.com>2016-11-29 16:04:52 +0100
commit515db1f6fd8db15edda33b72cd6f0fd955f8d777 (patch)
tree1424b3603d619116aa7152ecee1c569bd9a27fde
parent6a16edee3e7110e0439ef067e5c11db51bd4371a (diff)
downloaddocker-py-515db1f6fd8db15edda33b72cd6f0fd955f8d777.tar.gz
exec: fix running with detach=True
Fixes #1271 Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
-rw-r--r--docker/api/exec_api.py3
-rw-r--r--tests/integration/api_exec_test.py15
2 files changed, 17 insertions, 1 deletions
diff --git a/docker/api/exec_api.py b/docker/api/exec_api.py
index 694b30a..6c3e638 100644
--- a/docker/api/exec_api.py
+++ b/docker/api/exec_api.py
@@ -137,7 +137,8 @@ class ExecApiMixin(object):
data=data,
stream=True
)
-
+ if detach:
+ return self._result(res)
if socket:
return self._get_raw_response_socket(res)
return self._read_from_socket(res, stream)
diff --git a/tests/integration/api_exec_test.py b/tests/integration/api_exec_test.py
index 0ceeefa..55286e3 100644
--- a/tests/integration/api_exec_test.py
+++ b/tests/integration/api_exec_test.py
@@ -93,6 +93,21 @@ class ExecTest(BaseAPIIntegrationTest):
data = read_exactly(socket, next_size)
self.assertEqual(data.decode('utf-8'), line)
+ def test_exec_start_detached(self):
+ container = self.client.create_container(BUSYBOX, 'cat',
+ detach=True, stdin_open=True)
+ container_id = container['Id']
+ self.client.start(container_id)
+ self.tmp_containers.append(container_id)
+
+ exec_id = self.client.exec_create(
+ container_id, ['printf', "asdqwe"])
+ self.assertIn('Id', exec_id)
+
+ response = self.client.exec_start(exec_id, detach=True)
+
+ self.assertEqual(response, "")
+
def test_exec_inspect(self):
container = self.client.create_container(BUSYBOX, 'cat',
detach=True, stdin_open=True)