(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:test_description)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:'git-status with core.ignorecase=true' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./test-lib.sh)})
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'status with hash collisions' span_id:18))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) 
          (Token
            id: Id.Lit_Chars
            val: '\t# note: "V/", "V/XQANY/" and "WURZAUP/" produce the same hash code\n'
            span_id: 23
          ) (Token id:Id.Lit_Chars val:'\t# in name-hash.c::hash_name\n' span_id:24) 
          (Token id:Id.Lit_Chars val:'\tmkdir V &&\n' span_id:25) (Token id:Id.Lit_Chars val:'\tmkdir V/XQANY &&\n' span_id:26) 
          (Token id:Id.Lit_Chars val:'\tmkdir WURZAUP &&\n' span_id:27) (Token id:Id.Lit_Chars val:'\ttouch V/XQANY/test &&\n' span_id:28) 
          (Token id:Id.Lit_Chars val:'\tgit config core.ignorecase true &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\tgit add . &&\n' span_id:30) 
          (Token
            id: Id.Lit_Chars
            val: '\t# test is successful if git status completes (no endless loop)\n'
            span_id: 31
          ) (Token id:Id.Lit_Chars val:'\tgit status\n' span_id:32)
        )
      }
    )
    (C {(test_done)})
  ]
)