Как я могу получить код завершения команды, выполненный с помощью Testcontainers?
С помощью GenericContainer#execInContainer
Я могу получить только стандартный вывод или стандартный вывод.
Есть ли способ получить код завершения выполненной команды?
Я не могу полагаться на наличие текста в stderr. Приложение, которое я запускаю, печатает некоторую информацию в stderr, но завершает работу с кодом 0.
1 ответ
execInContainer
просто ярлык execCreateCmd/execStartCmd
из докер-ява. К сожалению, их API не позволяет получить код выхода.
Но вы можете использовать встроенную функциональность оболочки и просто вернуть код как часть stdout/stderr:
$ sh -c 'false; echo "ExitCode=$?"'
ExitCode=1
где false
ваша команда
Ты можешь использовать inspectExecCmd(execId)
чтобы получить информацию о выполненной команде, а также вы можете получить код выхода из ответа inspectExecCmd