(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:'interaction with P4 case-folding' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./lib-git-p4.sh)})
    (command.If
      arms: [
        (if_arm
          cond: [(C {(test_have_prereq)} {(CASE_INSENSITIVE_FS)})]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:skip_all)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (SQ 
                        (Token
                          id: Id.Lit_Chars
                          val: 
'skipping P4 case-folding tests; case insensitive file system detected'
                          span_id: 26
                        )
                      )
                    }
                  spids: [24]
                )
              ]
            )
            (C {(test_done)})
          ]
          spids: [15 21]
        )
      ]
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'start p4d with case folding enabled' span_id:38))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:42) 
          (Token id:Id.Lit_Chars val:'\tstart_p4d -C1\n' span_id:43)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'Create a repo, name is lowercase' span_id:50))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:54) (Token id:Id.Lit_Chars val:'\t(\n' span_id:55) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tclient_view "//depot/... //client/..." &&\n'
            span_id: 56
          ) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:57) 
          (Token id:Id.Lit_Chars val:'\t\tmkdir -p lc UC &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\t\t>lc/file.txt && >UC/file.txt &&\n' span_id:59) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add lc/file.txt UC/file.txt &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "Add initial lc and UC repos"\n' span_id:61) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:62)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'Check p4 is in case-folding mode' span_id:69))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:73) (Token id:Id.Lit_Chars val:'\t(\n' span_id:74) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:75) (Token id:Id.Lit_Chars val:'\t\t>lc/FILE.TXT &&\n' span_id:76) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add lc/FILE.TXT &&\n' span_id:77) 
          (Token
            id: Id.Lit_Chars
            val: 
'\t\ttest_must_fail p4 submit -d "Cannot add file differing only in case" lc/FILE.TXT\n'
            span_id: 78
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:79)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'Clone lc repo using lc name' span_id:89))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:93) 
          (Token id:Id.Lit_Chars val:'\tgit p4 clone //depot/lc/... &&\n' span_id:94) (Token id:Id.Lit_Chars val:'\ttest_path_is_file lc/file.txt &&\n' span_id:95) 
          (Token id:Id.Lit_Chars val:'\tgit p4 clone //depot/UC/... &&\n' span_id:96) (Token id:Id.Lit_Chars val:'\ttest_path_is_file UC/file.txt\n' span_id:97)
        )
      }
    )
    (C {(test_expect_failure)} 
      {(SQ (Token id:Id.Lit_Chars val:'Clone lc repo using uc name' span_id:113))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:117) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git p4 clone //depot/LC/...\n'
            span_id: 118
          )
        )
      }
    )
    (C {(test_expect_failure)} 
      {(SQ (Token id:Id.Lit_Chars val:'Clone UC repo with lc name' span_id:125))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:129) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git p4 clone //depot/uc/...\n'
            span_id: 130
          )
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:137))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:141) 
          (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:142)
        )
      }
    )
    (C {(test_done)})
  ]
)