Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-8740

groovy.util.CliBuilder doesn't handle parse errors correctly

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.5.1
    • 3.0.0-alpha-4, 2.5.2
    • groovy-jdk
    • None

    Description

      In Groovy 2.5, groovy.util.CliBuilder is a wrapper that delegates to groovy.cli.commons.CliBuilder. However, this wrapper doesn't correctly handle the case when the arguments fail to be parsed.

      Here's how it works with the real CliBuilder:

      groovy:000> options = new groovy.cli.commons.CliBuilder(stopAtNonOption: false).parse(['-x'])
      error: Unrecognized option: -x
      usage: groovy
      
      ===> null

      And here's what happens with the wrapper:

      groovy:000> options = new groovy.util.CliBuilder(stopAtNonOption: false).parse(['-x'])
      error: Unrecognized option: -x
      usage: groovy
      
      ===> groovy.util.OptionAccessor@6fc3e1a4
      groovy:000> options.arguments()
      ERROR java.lang.NullPointerException:
      Cannot invoke method arguments() on null object

      I get an object that pretends to be null, but isn't. So I can't determine whether the parsing was successful or not.

      Attachments

        Issue Links

          Activity

            People

              paulk Paul King
              dpb Роман Донченко
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: