Skip to content

Commit 045913b

Browse files
TomasTomecekshin-
authored andcommitted
exec: fix running with detach=True
Fixes #1271 Signed-off-by: Tomas Tomecek <[email protected]>
1 parent 27ec5f3 commit 045913b

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

docker/api/exec_api.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ def exec_start(self, exec_id, detach=False, tty=False, stream=False,
137137
data=data,
138138
stream=True
139139
)
140-
140+
if detach:
141+
return self._result(res)
141142
if socket:
142143
return self._get_raw_response_socket(res)
143144
return self._read_from_socket(res, stream)

tests/integration/api_exec_test.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,21 @@ def test_exec_start_socket(self):
9393
data = read_exactly(socket, next_size)
9494
self.assertEqual(data.decode('utf-8'), line)
9595

96+
def test_exec_start_detached(self):
97+
container = self.client.create_container(BUSYBOX, 'cat',
98+
detach=True, stdin_open=True)
99+
container_id = container['Id']
100+
self.client.start(container_id)
101+
self.tmp_containers.append(container_id)
102+
103+
exec_id = self.client.exec_create(
104+
container_id, ['printf', "asdqwe"])
105+
self.assertIn('Id', exec_id)
106+
107+
response = self.client.exec_start(exec_id, detach=True)
108+
109+
self.assertEqual(response, "")
110+
96111
def test_exec_inspect(self):
97112
container = self.client.create_container(BUSYBOX, 'cat',
98113
detach=True, stdin_open=True)

0 commit comments

Comments
 (0)