(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <'git add --all'>)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} {(setup)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\techo .gitignore\n'> <'\t\techo will-remove\n'> <'\t) >expect &&\n'> 
          <'\t(\n'> <'\t\techo actual\n'> <'\t\techo expect\n'> <'\t\techo ignored\n'> <'\t) >.gitignore &&\n'> 
          <'\tgit --literal-pathspecs add --all &&\n'> <'\t>will-remove &&\n'> <'\tgit add --all &&\n'> <'\ttest_tick &&\n'> <'\tgit commit -m initial &&\n'> 
          <'\tgit ls-files >actual &&\n'> <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'git add --all'>)} 
      {
        (SQ <'\n'> <'\t(\n'> <'\t\techo .gitignore\n'> <'\t\techo not-ignored\n'> 
          <'\t\techo "M\t.gitignore"\n'> <'\t\techo "A\tnot-ignored"\n'> <'\t\techo "D\twill-remove"\n'> <'\t) >expect &&\n'> <'\t>ignored &&\n'> 
          <'\t>not-ignored &&\n'> <'\techo modification >>.gitignore &&\n'> <'\trm -f will-remove &&\n'> <'\tgit add --all &&\n'> 
          <'\tgit update-index --refresh &&\n'> <'\tgit ls-files >actual &&\n'> <'\tgit diff-index --name-status --cached HEAD >>actual &&\n'> 
          <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_expect_success)} {(SQ <'Just "git add" is a no-op'>)} 
      {
        (SQ <'\n'> <'\tgit reset --hard &&\n'> <'\techo >will-remove &&\n'> 
          <'\t>will-not-be-added &&\n'> <'\tgit add &&\n'> <'\tgit diff-index --name-status --cached HEAD >actual &&\n'> <'\t>expect &&\n'> 
          <'\ttest_cmp expect actual\n'>
        )
      }
    )
    (C {(test_done)})
  ]
)