mirror of https://github.com/docker/compose.git
Merge pull request #2726 from aanand/no-logs-on-interactive-run
Pass logs=False to dockerpty
This commit is contained in:
commit
49c83b16c2
|
@ -709,7 +709,12 @@ def run_one_off_container(container_options, project, service, options):
|
|||
signals.set_signal_handler_to_shutdown()
|
||||
try:
|
||||
try:
|
||||
pty = PseudoTerminal(project.client, container.id, interactive=not options['-T'])
|
||||
pty = PseudoTerminal(
|
||||
project.client,
|
||||
container.id,
|
||||
interactive=not options['-T'],
|
||||
logs=False,
|
||||
)
|
||||
sockets = pty.sockets()
|
||||
service.start_container(container)
|
||||
pty.start(sockets)
|
||||
|
|
|
@ -71,6 +71,37 @@ class CLITestCase(unittest.TestCase):
|
|||
with self.assertRaises(NoSuchCommand):
|
||||
TopLevelCommand().dispatch(['help', 'nonexistent'], None)
|
||||
|
||||
@pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason="requires dockerpty")
|
||||
@mock.patch('compose.cli.main.PseudoTerminal', autospec=True)
|
||||
def test_run_interactive_passes_logs_false(self, mock_pseudo_terminal):
|
||||
command = TopLevelCommand()
|
||||
mock_client = mock.create_autospec(docker.Client)
|
||||
mock_project = mock.Mock(client=mock_client)
|
||||
mock_project.get_service.return_value = Service(
|
||||
'service',
|
||||
client=mock_client,
|
||||
environment=['FOO=ONE', 'BAR=TWO'],
|
||||
image='someimage')
|
||||
|
||||
with pytest.raises(SystemExit):
|
||||
command.run(mock_project, {
|
||||
'SERVICE': 'service',
|
||||
'COMMAND': None,
|
||||
'-e': ['BAR=NEW', 'OTHER=bär'.encode('utf-8')],
|
||||
'--user': None,
|
||||
'--no-deps': None,
|
||||
'-d': False,
|
||||
'-T': None,
|
||||
'--entrypoint': None,
|
||||
'--service-ports': None,
|
||||
'--publish': [],
|
||||
'--rm': None,
|
||||
'--name': None,
|
||||
})
|
||||
|
||||
_, _, call_kwargs = mock_pseudo_terminal.mock_calls[0]
|
||||
assert call_kwargs['logs'] is False
|
||||
|
||||
@pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason="requires dockerpty")
|
||||
@mock.patch('compose.cli.main.PseudoTerminal', autospec=True)
|
||||
def test_run_with_environment_merged_with_options_list(self, mock_pseudo_terminal):
|
||||
|
|
Loading…
Reference in New Issue