[
https://issues.apache.org/jira/browse/EXEC-56?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nickolay Martinov updated EXEC-56:
----------------------------------
Attachment: EXEC-XXX.toString-troubleshooting.patch
Added patch that implements suggestion.
> CommandLine toString() might be confusing for troubleshooting purposes
> ----------------------------------------------------------------------
>
> Key: EXEC-56
> URL: https://issues.apache.org/jira/browse/EXEC-56
> Project: Commons Exec
> Issue Type: Improvement
> Affects Versions: 1.1
> Reporter: Nickolay Martinov
> Priority: Minor
> Labels: patch
> Attachments: EXEC-XXX.toString-troubleshooting.patch
>
>
> CommandLine.toString() produces same output for different command lines. This
> may be very confusing during troubleshooting and may lead to incorrect
> assumptions. For example, if actual command to invoke was sh -c "echo 1" it
> might be displayed (in debug output for example) as sh -c echo 1 (that will
> work incorrectly) and incorrect assumption might be made.
> Proposal is to make it clear what every parameter actually is. For example,
> following code
> CommandLine cmd1 = new
> CommandLine("sh").addArgument("-c").addArgument("echo 1", false);
> CommandLine cmd2 = new
> CommandLine("sh").addArgument("-c").addArgument("echo").addArgument("1");
> System.out.println("cmd1: " + cmd1.toString());
> System.out.println("cmd2: " + cmd2.toString());
> will produce confusing output
> cmd1: sh -c echo 1
> cmd2: sh -c echo 1
> Same time, following output might be more helpful to figure out cause of some
> problem or to prove that there are no problems with how parameters are set:
> cmd1: [sh, -c, echo 1]
> cmd2: [sh, -c, echo, 1]
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira