(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_description)
          op: Equal
          rhs: {(SQ <"git p4 handling of UTF-16 files without BOM">)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (C {(.)} {(./lib-git-p4.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:UTF16)
          op: Equal
          rhs: 
            {
              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\2">) (27) 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\0">) (00) (EscapedLiteralPart token:<Lit_EscapedChar "\\2">) (27) 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\0">) (00)
              )
            }
          spids: [15]
        )
      ]
      spids: [15]
    )
    (C {(test_expect_success)} {(SQ <"start p4d">)} {(SQ <"\n"> <"\tstart_p4d\n">)})
    (C {(test_expect_success)} 
      {(SQ <"init depot with UTF-16 encoded file and artificially remove BOM">)} 
      {
        (SQ <"\n"> <"\t(\n"> <"\t\tcd \"$cli\" &&\n"> <"\t\tprintf \"$UTF16\" >file1 &&\n"> 
          <"\t\tp4 add -t utf16 file1 &&\n"> <"\t\tp4 submit -d \"file1\"\n"> <"\t) &&\n"> <"\n"> <"\t(\n"> <"\t\tcd db &&\n"> <"\t\tp4d -jc &&\n"> 
          <"\t\t# P4D automatically adds a BOM. Remove it here to make the file invalid.\n"> <"\t\tsed -e \"\\$d\" depot/file1,v >depot/file1,v.new &&\n"> 
          <"\t\tmv depot/file1,v.new depot/file1,v &&\n"> <"\t\tprintf \"@$UTF16@\" >>depot/file1,v &&\n"> <"\t\tp4d -jrF checkpoint.1\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_success)} {(SQ <"clone depot with invalid UTF-16 file in verbose mode">)} 
      {
        (SQ <"\n"> <"\tgit p4 clone --dest=\"$git\" --verbose //depot &&\n"> 
          <"\ttest_when_finished cleanup_git &&\n"> <"\t(\n"> <"\t\tcd \"$git\" &&\n"> <"\t\tprintf \"$UTF16\" >expect &&\n"> 
          <"\t\ttest_cmp_bin expect file1\n"> <"\t)\n">
        )
      }
    )
    (C {(test_expect_failure)} {(SQ <"clone depot with invalid UTF-16 file in non-verbose mode">)} 
      {(SQ <"\n"> <"\tgit p4 clone --dest=\"$git\" //depot\n">)}
    )
    (C {(test_expect_success)} {(SQ <"kill p4d">)} {(SQ <"\n"> <"\tkill_p4d\n">)})
    (C {(test_done)})
  ]
)