diff options
author | Ben Firshman <ben@firshman.co.uk> | 2016-12-05 11:00:10 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-05 11:00:10 +0000 |
commit | dd8ad21c88021d1c19e4cec034e6ff9413cac481 (patch) | |
tree | 14725a4c2c82e0f1c9bedc128cee71ed0ebb0623 | |
parent | c02493cf18bbb0b28bce7934b45a042147671be2 (diff) | |
parent | 515db1f6fd8db15edda33b72cd6f0fd955f8d777 (diff) | |
download | docker-py-dd8ad21c88021d1c19e4cec034e6ff9413cac481.tar.gz |
Merge pull request #1272 from TomasTomecek/1271-fix-detach-in-exec-start
exec: fix running with detach=True
-rw-r--r-- | docker/api/exec_api.py | 3 | ||||
-rw-r--r-- | tests/integration/api_exec_test.py | 15 |
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) |