(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'test_description='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'test_description='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'test_description='> name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'test git rev-parse --parseopt'>)}
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [{<.>} {<'./test-lib.sh'>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup optionspec'>)}
        {
          (SQ <'\n'> <'\tsed -e "s/^|//" >optionspec <<\\EOF\n'> 
            <'|some-command [options] <args>...\n'> <'|\n'> <'|some-command does foo and bar!\n'> <'|--\n'> <'|h,help    show the help\n'> <'|\n'> 
            <'|foo       some nifty option --foo\n'> <'|bar=      some cool option --bar with an argument\n'> <'|b,baz     a short and long option\n'> 
            <'|\n'> <'| An option group Header\n'> <'|C?        option C with an optional argument\n'> 
            <'|d,data?   short and long option with an optional argument\n'> <'|\n'> <'| Argument hints\n'> <'|B=arg     short option required argument\n'> 
            <'|bar2=arg  long option required argument\n'> <'|e,fuz=with-space  short and long option required argument\n'> 
            <'|s?some    short option optional argument\n'> <'|long?data long option optional argument\n'> 
            <'|g,fluf?path     short and long option optional argument\n'> <'|longest=very-long-argument-hint  a very long argument hint\n'> 
            <'|pair=key=value  with an equals sign in the hint\n'> <'|short-hint=a    with a one symbol hint\n'> <'|\n'> <'|Extras\n'> 
            <'|extra1    line above used to cause a segfault but no longer does\n'> <'EOF\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt help output'>)}
        {
          (SQ <'\n'> <'\tsed -e "s/^|//" >expect <<\\END_EXPECT &&\n'> <'|cat <<\\EOF\n'> 
            <'|usage: some-command [options] <args>...\n'> <'|\n'> <'|    some-command does foo and bar!\n'> <'|\n'> <'|    -h, --help            show the help\n'> 
            <'|    --foo                 some nifty option --foo\n'> <'|    --bar ...             some cool option --bar with an argument\n'> 
            <'|    -b, --baz             a short and long option\n'> <'|\n'> <'|An option group Header\n'> 
            <'|    -C[...]               option C with an optional argument\n'> <'|    -d, --data[=...]      short and long option with an optional argument\n'> <'|\n'> 
            <'|Argument hints\n'> <'|    -B <arg>              short option required argument\n'> 
            <'|    --bar2 <arg>          long option required argument\n'> <'|    -e, --fuz <with-space>\n'> 
            <'|                          short and long option required argument\n'> <'|    -s[<some>]            short option optional argument\n'> 
            <'|    --long[=<data>]       long option optional argument\n'> <'|    -g, --fluf[=<path>]   short and long option optional argument\n'> 
            <'|    --longest <very-long-argument-hint>\n'> <'|                          a very long argument hint\n'> 
            <'|    --pair <key=value>    with an equals sign in the hint\n'> <'|    --short-hint <a>      with a one symbol hint\n'> <'|\n'> <'|Extras\n'> 
            <'|    --extra1              line above used to cause a segfault but no longer does\n'> <'|\n'> <'|EOF\n'> <'END_EXPECT\n'> 
            <'\ttest_expect_code 129 git rev-parse --parseopt -- -h > output < optionspec &&\n'> <'\ttest_i18ncmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.1'>)}
        {
          (DQ <'\n'> <'\tcat > expect <<EOF\n'> <'set -- --foo --bar \'ham\' -b -- \'arg\'\n'> <'EOF\n'>)
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt'>)}
        {
          (SQ <'\n'> 
            <'\tgit rev-parse --parseopt -- --foo --bar=ham --baz arg < optionspec > output &&\n'> <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt with mixed options and arguments'>)}
        {
          (SQ <'\n'> 
            <'\tgit rev-parse --parseopt -- --foo arg --bar=ham --baz < optionspec > output &&\n'> <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.2'>)}
        {(DQ <'\n'> <'\tcat > expect <<EOF\n'> <'set -- --foo -- \'arg\' \'--bar=ham\'\n'> <'EOF\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt with --'>)}
        {
          (SQ <'\n'> 
            <'\tgit rev-parse --parseopt -- --foo -- arg --bar=ham < optionspec > output &&\n'> <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --stop-at-non-option'>)}
        {
          (SQ <'\n'> 
            <
'\tgit rev-parse --parseopt --stop-at-non-option -- --foo arg --bar=ham < optionspec > output &&\n'
            > <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.3'>)}
        {
          (DQ <'\n'> <'\tcat > expect <<EOF\n'> <'set -- --foo -- \'--\' \'arg\' \'--bar=ham\'\n'> 
            <'EOF\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --keep-dashdash'>)}
        {
          (SQ <'\n'> 
            <
'\tgit rev-parse --parseopt --keep-dashdash -- --foo -- arg --bar=ham < optionspec > output &&\n'
            > <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.4'>)}
        {
          (DQ <'\n'> <'\tcat >expect <<EOF\n'> <'set -- --foo -- \'--\' \'arg\' \'--spam=ham\'\n'> 
            <'EOF\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --keep-dashdash --stop-at-non-option with --'>)}
        {
          (SQ <'\n'> 
            <
'\tgit rev-parse --parseopt --keep-dashdash --stop-at-non-option -- --foo -- arg --spam=ham <optionspec >output &&\n'
            > <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.5'>)}
        {
          (DQ <'\n'> <'\tcat > expect <<EOF\n'> <'set -- --foo -- \'arg\' \'--spam=ham\'\n'> <'EOF\n'>)
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --keep-dashdash --stop-at-non-option without --'>)}
        {
          (SQ <'\n'> 
            <
'\tgit rev-parse --parseopt --keep-dashdash --stop-at-non-option -- --foo arg --spam=ham <optionspec >output &&\n'
            > <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.6'>)}
        {
          (DQ <'\n'> <'\tcat > expect <<EOF\n'> 
            <'set -- --foo --bar=\'z\' --baz -C\'Z\' --data=\'A\' -- \'arg\'\n'> <'EOF\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --stuck-long'>)}
        {
          (SQ <'\n'> 
            <
'\tgit rev-parse --parseopt --stuck-long -- --foo --bar=z -b arg -CZ -dA <optionspec >output &&\n'
            > <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.7'>)}
        {
          (DQ <'\n'> <'\tcat > expect <<EOF\n'> <'set -- --data=\'\' -C --baz -- \'arg\'\n'> <'EOF\n'>)
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --stuck-long and empty optional argument'>)}
        {
          (SQ <'\n'> 
            <
'\tgit rev-parse --parseopt --stuck-long -- --data= arg -C -b <optionspec >output &&\n'
            > <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'setup expect.8'>)}
        {(DQ <'\n'> <'\tcat > expect <<EOF\n'> <'set -- --data --baz -- \'arg\'\n'> <'EOF\n'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --stuck-long and long option with unset optional argument'>)}
        {
          (SQ <'\n'> 
            <'\tgit rev-parse --parseopt --stuck-long -- --data arg -b <optionspec >output &&\n'> <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_expect_success>
      more_env: []
      words: [
        {<test_expect_success>}
        {(SQ <'test --parseopt --stuck-long and short option with unset optional argument'>)}
        {
          (SQ <'\n'> <'\tgit rev-parse --parseopt --stuck-long -- -d arg -b <optionspec >output &&\n'> 
            <'\ttest_cmp expect output\n'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <test_done>
      more_env: []
      words: [{<test_done>}]
      redirects: []
      do_fork: T
    )
  ]
)