(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git-status ignored files">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./test-lib.sh)})
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[17])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("?? untracked/\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [20]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status untracked directory with --ignored">)} 
      {
        (SQ <"\n"> <"\techo \"ignored\" >.gitignore &&\n"> <"\tmkdir untracked &&\n"> 
          <"\t: >untracked/ignored &&\n"> <"\t: >untracked/uncommitted &&\n"> <"\tgit status --porcelain --ignored >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"same with gitignore starting with BOM">)} 
      {
        (SQ <"\n"> <"\tprintf \"\\357\\273\\277ignored\\n\" >.gitignore &&\n"> 
          <"\tmkdir -p untracked &&\n"> <"\t: >untracked/ignored &&\n"> <"\t: >untracked/uncommitted &&\n"> 
          <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[61])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("?? untracked/uncommitted\n") 
              ("!! untracked/ignored\n")
            }
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [64]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status untracked directory with --ignored -u">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[83])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? untracked/uncommitted\n") ("!! untracked/ignored\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [86]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status prefixed untracked directory with --ignored">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored untracked/ >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[106])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? untracked/uncommitted\n") ("!! untracked/ignored\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [109]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status prefixed untracked sub-directory with --ignored -u">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored -u untracked/ >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[129])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! ignored/\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [132]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status ignored directory with --ignore">)} 
      {
        (SQ <"\n"> <"\trm -rf untracked &&\n"> <"\tmkdir ignored &&\n"> 
          <"\t: >ignored/uncommitted &&\n"> <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[155])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! ignored/uncommitted\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [158]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status ignored directory with --ignore -u">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[178])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [181]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status empty untracked directory with --ignore">)} 
      {
        (SQ <"\n"> <"\trm -rf ignored &&\n"> <"\tmkdir untracked-ignored &&\n"> 
          <"\tmkdir untracked-ignored/test &&\n"> <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[204])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [207]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status empty untracked directory with --ignore -u">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[227])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! untracked-ignored/\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [230]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status untracked directory with ignored files with --ignore">)} 
      {
        (SQ <"\n"> <"\t: >untracked-ignored/ignored &&\n"> <"\t: >untracked-ignored/test/ignored &&\n"> 
          <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[252])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! untracked-ignored/ignored\n") 
              ("!! untracked-ignored/test/ignored\n")
            }
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [255]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status untracked directory with ignored files with --ignore -u">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[275])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [278]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status ignored tracked directory with --ignore">)} 
      {
        (SQ <"\n"> <"\trm -rf untracked-ignored &&\n"> <"\tmkdir tracked &&\n"> 
          <"\t: >tracked/committed &&\n"> <"\tgit add tracked/committed &&\n"> <"\tgit commit -m. &&\n"> <"\techo \"tracked\" >.gitignore &&\n"> 
          <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[304])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [307]
        )
      ]
    )
    (C {(test_expect_success)} {(SQ <"status ignored tracked directory with --ignore -u">)} 
      {
        (SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[327])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [330]
        )
      ]
    )
    (C {(test_expect_success)} 
      {(SQ <"status ignored tracked directory and ignored file with --ignore">)} 
      {
        (SQ <"\n"> <"\techo \"committed\" >>.gitignore &&\n"> 
          <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[351])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [354]
        )
      ]
    )
    (C {(test_expect_success)} 
      {(SQ <"status ignored tracked directory and ignored file with --ignore -u">)} {(SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> <"\ttest_cmp expected actual\n">)}
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[374])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! tracked/uncommitted\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [377]
        )
      ]
    )
    (C {(test_expect_success)} 
      {(SQ <"status ignored tracked directory and uncommitted file with --ignore">)} 
      {
        (SQ <"\n"> <"\techo \"tracked\" >.gitignore &&\n"> <"\t: >tracked/uncommitted &&\n"> 
          <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[399])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! tracked/uncommitted\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [402]
        )
      ]
    )
    (C {(test_expect_success)} 
      {(SQ <"status ignored tracked directory and uncommitted file with --ignore -u">)} {(SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> <"\ttest_cmp expected actual\n">)}
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[422])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") ("!! tracked/ignored/\n")}
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [425]
        )
      ]
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          <
"status ignored tracked directory with uncommitted file in untracked subdir with --ignore"
          >
        )
      } 
      {
        (SQ <"\n"> <"\trm -rf tracked/uncommitted &&\n"> <"\tmkdir tracked/ignored &&\n"> 
          <"\t: >tracked/ignored/uncommitted &&\n"> <"\tgit status --porcelain --ignored >actual &&\n"> <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[448])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") 
              ("!! tracked/ignored/uncommitted\n")
            }
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [451]
        )
      ]
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          <
"status ignored tracked directory with uncommitted file in untracked subdir with --ignore -u"
          >
        )
      } {(SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> <"\ttest_cmp expected actual\n">)}
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[471])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") 
              ("!! tracked/ignored/uncommitted\n")
            }
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [474]
        )
      ]
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          <
"status ignored tracked directory with uncommitted file in tracked subdir with --ignore"
          >
        )
      } 
      {
        (SQ <"\n"> <"\t: >tracked/ignored/committed &&\n"> 
          <"\tgit add -f tracked/ignored/committed &&\n"> <"\tgit commit -m. &&\n"> <"\tgit status --porcelain --ignored >actual &&\n"> 
          <"\ttest_cmp expected actual\n">
        )
      }
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(expected)} spids:[497])
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {("?? .gitignore\n") ("?? actual\n") ("?? expected\n") 
              ("!! tracked/ignored/uncommitted\n")
            }
          do_expansion: False
          here_end: EOF
          was_filled: True
          spids: [500]
        )
      ]
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          <
"status ignored tracked directory with uncommitted file in tracked subdir with --ignore -u"
          >
        )
      } {(SQ <"\n"> <"\tgit status --porcelain --ignored -u >actual &&\n"> <"\ttest_cmp expected actual\n">)}
    )
    (C {(test_done)})
  ]
)