(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ <'git reset should work on unborn branch'>)}
          spids: [4]
        )
      ]
    )
    (C {<.>} {<./test-lib.sh>})
    (C {<test_expect_success>} {(SQ <setup>)} {(SQ <'\n'> <'\techo a >a &&\n'> <'\techo b >b\n'>)})
    (C {<test_expect_success>} {(SQ <reset>)} 
      {
        (SQ <'\n'> <'\tgit add a b &&\n'> <'\tgit reset &&\n'> <'\n'> <'\t>expect &&\n'> 
          <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'reset HEAD'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a b &&\n'> <'\ttest_must_fail git reset HEAD\n'>)
      }
    )
    (C {<test_expect_success>} {(SQ <'reset $file'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a b &&\n'> <'\tgit reset a &&\n'> <'\n'> 
          <'\techo b >expect &&\n'> <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {<test_expect_success>} {<PERL>} {(SQ <'reset -p'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a &&\n'> <'\techo y >yes &&\n'> 
          <'\tgit reset -p <yes >output &&\n'> <'\n'> <'\t>expect &&\n'> <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual &&\n'> 
          <'\ttest_i18ngrep "Unstage" output\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'reset --soft is a no-op'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a &&\n'> <'\tgit reset --soft &&\n'> <'\n'> 
          <'\techo a >expect &&\n'> <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {<test_expect_success>} {(SQ <'reset --hard'>)} 
      {
        (SQ <'\n'> <'\trm .git/index &&\n'> <'\tgit add a &&\n'> 
          <'\ttest_when_finished "echo a >a" &&\n'> <'\tgit reset --hard &&\n'> <'\n'> <'\t>expect &&\n'> <'\tgit ls-files >actual &&\n'> 
          <'\ttest_cmp expect actual &&\n'> <'\ttest_path_is_missing a\n'>
        )
      }
    )
    (C {<test_done>})
  ]
)