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()
|
signals.set_signal_handler_to_shutdown()
|
||||||
try:
|
try:
|
||||||
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()
|
sockets = pty.sockets()
|
||||||
service.start_container(container)
|
service.start_container(container)
|
||||||
pty.start(sockets)
|
pty.start(sockets)
|
||||||
|
|
|
@ -71,6 +71,37 @@ class CLITestCase(unittest.TestCase):
|
||||||
with self.assertRaises(NoSuchCommand):
|
with self.assertRaises(NoSuchCommand):
|
||||||
TopLevelCommand().dispatch(['help', 'nonexistent'], None)
|
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")
|
@pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason="requires dockerpty")
|
||||||
@mock.patch('compose.cli.main.PseudoTerminal', autospec=True)
|
@mock.patch('compose.cli.main.PseudoTerminal', autospec=True)
|
||||||
def test_run_with_environment_merged_with_options_list(self, mock_pseudo_terminal):
|
def test_run_with_environment_merged_with_options_list(self, mock_pseudo_terminal):
|
||||||
|
|
Loading…
Reference in New Issue