You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, GenericContainer.setCommand(String) do a command.split(" ").
This doesn't allow escaping the space. It can be an issue for command lines like postgres -c max_connections=100 -c default_transaction_isolation=repeatable read
The alternative method setCommand(String... commandParts) is not always available, for example, when using testcontainers through quarkus dev-service which doesn't expose a way to set command through array/list of parameters.
As command.split() take a regexp, changing the implementation to command.split("[^\\]? ") should allow user to write postgres -c max_connections=100 -c default_transaction_isolation=repeatable\ read and get correct interpretation.
The text was updated successfully, but these errors were encountered:
Well, it is a breaking change. The goal is to change the behavior on the presence of an escape sequence, so any command containing the choosen escape sequence will not behave like before. We can only minimize the risk by choosing an escape sequence that have low chance of existing in current usage of the method.
Module
Core
Proposal
Currently,
GenericContainer.setCommand(String)
do acommand.split(" ")
.This doesn't allow escaping the space. It can be an issue for command lines like
postgres -c max_connections=100 -c default_transaction_isolation=repeatable read
The alternative method
setCommand(String... commandParts)
is not always available, for example, when using testcontainers through quarkus dev-service which doesn't expose a way to set command through array/list of parameters.As
command.split()
take a regexp, changing the implementation tocommand.split("[^\\]? ")
should allow user to writepostgres -c max_connections=100 -c default_transaction_isolation=repeatable\ read
and get correct interpretation.The text was updated successfully, but these errors were encountered: