[ 
https://issues.apache.org/jira/browse/MESOS-8857?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Radhika Jandhyala reassigned MESOS-8857:
----------------------------------------

    Assignee: Radhika Jandhyala

> Fix subprocess(flags) logic on Windows to handle arguments with quotes
> ----------------------------------------------------------------------
>
>                 Key: MESOS-8857
>                 URL: https://issues.apache.org/jira/browse/MESOS-8857
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Andrew Schwartzmeyer
>            Assignee: Radhika Jandhyala
>            Priority: Major
>              Labels: flags, libprocess, windows
>
> In the {{SubprocessTest.Flags}} unit test, a bug was discovered where the 
> flags argument {{flags.s3 = "\"geek\"";}} does not make it round-trip back to 
> the test. It is because the {{stringify_args}} logic in {{shell.hpp}} 
> purposefully (correctly?) surrounds an argument that contains a double quote 
> with a pair of double quotes. Thus the final command-line flag looks like 
> {{"\"--s3=\\\"geek\\\"\""}}, which {{flags.load()}} then fails to reparse. 
> The same problem occurs for the (more complicated) JSON flag.
> I believe this is because the original logic was expecting the shell to drop 
> the quotes ({{echo "--s3=\"geek\""}} in Bash returns {{--s3="geek"}}, but 
> {{cmd.exe}} echos {{"--s3=\"geek\""}}, exactly what was passed. Maybe the 
> test just needs to be fixed; maybe the stringifier shouldn't add more quotes; 
> maybe {{flags.load()}} needs to parse the quotes and escapes.
> For now, we're enabling the rest of the test by turning off those two checks.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to