(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)})
  ]
)