You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Kathryn Newbould (JIRA)" <ji...@apache.org> on 2018/07/27 08:32:00 UTC

[jira] [Created] (MSHARED-749) Commandline does not thrown CommandLineException when uneven number of quotation marks used

Kathryn Newbould created MSHARED-749:
----------------------------------------

             Summary: Commandline does not thrown CommandLineException when uneven number of quotation marks used
                 Key: MSHARED-749
                 URL: https://issues.apache.org/jira/browse/MSHARED-749
             Project: Maven Shared Components
          Issue Type: Bug
            Reporter: Kathryn Newbould


The merged fix for MSHARED-416 did not fully fix the issue as the process does not return non-0 on failure (which is what the tests were based on).

As an example:

 
{code:java}
@Test
public void MSHARED_416 () throws Exception {
    Process p = new Commandline("\"Hi\" Friends\"").execute();
    Thread.sleep(1000);
    assertNotEquals(0, p.exitValue());
}

{code}
will fail without exception (e.g. return 0):
{code:java}
java.lang.AssertionError: Values should be different. Actual: 0
{code}
Even though the logs state (implying the Exception is being thrown)
{code:java}
Error translating Commandline.
{code}

Suggested fix:

 

As the Exception is thrown in the constructor, it can be difficult to catch it, so I suggest throwing it up to the process runner (executeCommandLineAsCallable) can handle it appropriately.
However, I'm unsure of the implications.



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