(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'test git rev-parse --parseopt'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(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'>
        )
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.1'>)} 
      {(DQ ('\n') ('\tcat > expect <<EOF\n') ("set -- --foo --bar 'ham' -b -- 'arg'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.2'>)} 
      {(DQ ('\n') ('\tcat > expect <<EOF\n') ("set -- --foo -- 'arg' '--bar=ham'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.3'>)} 
      {(DQ ('\n') ('\tcat > expect <<EOF\n') ("set -- --foo -- '--' 'arg' '--bar=ham'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.4'>)} 
      {(DQ ('\n') ('\tcat >expect <<EOF\n') ("set -- --foo -- '--' 'arg' '--spam=ham'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.5'>)} 
      {(DQ ('\n') ('\tcat > expect <<EOF\n') ("set -- --foo -- 'arg' '--spam=ham'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(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')
        )
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.7'>)} 
      {(DQ ('\n') ('\tcat > expect <<EOF\n') ("set -- --data='' -C --baz -- 'arg'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'setup expect.8'>)} 
      {(DQ ('\n') ('\tcat > expect <<EOF\n') ("set -- --data --baz -- 'arg'\n") ('EOF\n'))}
    )
    (C {(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'>
        )
      }
    )
    (C {(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'>
        )
      }
    )
    (C {(test_done)})
  ]
)