Как я могу получить код завершения команды, выполненный с помощью Testcontainers?

С помощью GenericContainer#execInContainer Я могу получить только стандартный вывод или стандартный вывод.

Есть ли способ получить код завершения выполненной команды?

Я не могу полагаться на наличие текста в stderr. Приложение, которое я запускаю, печатает некоторую информацию в stderr, но завершает работу с кодом 0.

1 ответ

execInContainer просто ярлык execCreateCmd/execStartCmd из докер-ява. К сожалению, их API не позволяет получить код выхода.

Но вы можете использовать встроенную функциональность оболочки и просто вернуть код как часть stdout/stderr:

$ sh -c 'false; echo "ExitCode=$?"'
ExitCode=1

где false ваша команда

Ты можешь использовать inspectExecCmd(execId) чтобы получить информацию о выполненной команде, а также вы можете получить код выхода из ответа inspectExecCmd

Другие вопросы по тегам