(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:test_description spids:[12])
          op: Equal
          rhs: {(SQ <'git-status ignored files'>)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (C {(.)} {(./test-lib.sh)})
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 36
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n') ('?? untracked/\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 86
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('?? untracked/uncommitted\n')
            ('!! untracked/ignored\n')
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 111
          stdin_parts: [('?? untracked/uncommitted\n') ('!! untracked/ignored\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 137
          stdin_parts: [('?? untracked/uncommitted\n') ('!! untracked/ignored\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 165
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n') ('!! ignored/\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 196
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! ignored/uncommitted\n')
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 223
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 253
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 281
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! untracked-ignored/\n')
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 312
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! untracked-ignored/ignored\n')
            ('!! untracked-ignored/test/ignored\n')
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 339
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 372
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 399
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 427
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n')]
        )
      ]
    )
    (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'>)}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 455
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! tracked/uncommitted\n')
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 485
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! tracked/uncommitted\n')
          ]
        )
      ]
    )
    (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'>)}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 513
          stdin_parts: [('?? .gitignore\n') ('?? actual\n') ('?? expected\n') ('!! tracked/ignored/\n')]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 544
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! tracked/ignored/uncommitted\n')
          ]
        )
      ]
    )
    (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'>)}
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 572
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! tracked/ignored/uncommitted\n')
          ]
        )
      ]
    )
    (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'>
        )
      }
    )
    (command.SimpleCommand
      words: [{(cat)}]
      redirects: [
        (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(expected)})
        (redir.HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\E'>) (OF)}
          here_end_span_id: 603
          stdin_parts: [
            ('?? .gitignore\n')
            ('?? actual\n')
            ('?? expected\n')
            ('!! tracked/ignored/uncommitted\n')
          ]
        )
      ]
    )
    (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)})
  ]
)