(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 p4 options' span_id:6))}
          spids: [4]
        )
      ]
    )
    (C {(.)} {(./lib-git-p4.sh)})
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'start p4d' span_id:18))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:22) 
          (Token id:Id.Lit_Chars val:'\tstart_p4d\n' span_id:23)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'init depot' span_id:30))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:34) (Token id:Id.Lit_Chars val:'\t(\n' span_id:35) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:36) (Token id:Id.Lit_Chars val:'\t\techo file1 >file1 &&\n' span_id:37) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add file1 &&\n' span_id:38) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 1" &&\n' span_id:39) 
          (Token id:Id.Lit_Chars val:'\t\techo file2 >file2 &&\n' span_id:40) (Token id:Id.Lit_Chars val:'\t\tp4 add file2 &&\n' span_id:41) 
          (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 2" &&\n' span_id:42) (Token id:Id.Lit_Chars val:'\t\techo file3 >file3 &&\n' span_id:43) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add file3 &&\n' span_id:44) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 3"\n' span_id:45) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:46)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone no --git-dir' span_id:53))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:57) 
          (Token
            id: Id.Lit_Chars
            val: '\ttest_must_fail git p4 clone --git-dir=xx //depot\n'
            span_id: 58
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone --branch should checkout master' span_id:65))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:69) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot &&\n'
            span_id: 70
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:71) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:72) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:73) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse refs/remotes/p4/sb >sb &&\n'
            span_id: 74
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse refs/heads/master >master &&\n' span_id:75) 
          (Token id:Id.Lit_Chars val:'\t\ttest_cmp sb master &&\n' span_id:76) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse HEAD >head &&\n' span_id:77) 
          (Token id:Id.Lit_Chars val:'\t\ttest_cmp sb head\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:'sync when no master branch prints a nice error' span_id:86))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:90) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:91) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot@2 &&\n'
            span_id: 92
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:93) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:94) (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git p4 sync 2>err &&\n' span_id:95) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgrep "Error: no branch refs/remotes/p4/master" err\n'
            span_id: 96
          ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:97)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sync --branch builds the full ref name correctly'
            span_id: 104
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:108) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:109) (Token id:Id.Lit_Chars val:'\t(\n' span_id:110) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:111) (Token id:Id.Lit_Chars val:'\t\tgit init &&\n' span_id:112) 
          (Token id:Id.Lit_Chars val:'\n' span_id:113) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b1 //depot &&\n' span_id:114) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse --verify refs/remotes/p4/b1 &&\n'
            span_id: 115
          ) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=p4/b2 //depot &&\n' span_id:116) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse --verify refs/remotes/p4/b2 &&\n'
            span_id: 117
          ) (Token id:Id.Lit_Chars val:'\n' span_id:118) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit p4 sync --import-local --branch=h1 //depot &&\n'
            span_id: 119
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify refs/heads/p4/h1 &&\n' span_id:120) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit p4 sync --import-local --branch=p4/h2 //depot &&\n'
            span_id: 121
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify refs/heads/p4/h2 &&\n' span_id:122) 
          (Token id:Id.Lit_Chars val:'\n' span_id:123) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=refs/stuff //depot &&\n' span_id:124) 
          (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify refs/stuff\n' span_id:125) (Token id:Id.Lit_Chars val:'\t)\n' span_id:126)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sync when two branches but no master should noop'
            span_id: 139
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:143) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:144) (Token id:Id.Lit_Chars val:'\t(\n' span_id:145) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:146) (Token id:Id.Lit_Chars val:'\t\tgit init &&\n' span_id:147) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit p4 sync --branch=refs/remotes/p4/b1 //depot@2 &&\n'
            span_id: 148
          ) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=refs/remotes/p4/b2 //depot@2 &&\n' span_id:149) 
          (Token id:Id.Lit_Chars val:'\t\tgit p4 sync &&\n' span_id:150) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b1 >show &&\n' span_id:151) 
          (Token id:Id.Lit_Chars val:'\t\tgrep "Initial import" show &&\n' span_id:152) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b2 >show &&\n' span_id:153) 
          (Token id:Id.Lit_Chars val:'\t\tgrep "Initial import" show\n' span_id:154) (Token id:Id.Lit_Chars val:'\t)\n' span_id:155)
        )
      }
    )
    (C {(test_expect_success)} 
      {
        (SQ 
          (Token
            id: Id.Lit_Chars
            val: 'sync --branch updates specific branch, no detection'
            span_id: 162
          )
        )
      } 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:166) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:167) (Token id:Id.Lit_Chars val:'\t(\n' span_id:168) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:169) (Token id:Id.Lit_Chars val:'\t\tgit init &&\n' span_id:170) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit p4 sync --branch=b1 //depot@2 &&\n'
            span_id: 171
          ) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b2 //depot@2 &&\n' span_id:172) 
          (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b2 &&\n' span_id:173) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b1 >show &&\n' span_id:174) 
          (Token id:Id.Lit_Chars val:'\t\tgrep "Initial import" show &&\n' span_id:175) (Token id:Id.Lit_Chars val:'\t\tgit show -s --format=%s refs/remotes/p4/b2 >show &&\n' span_id:176) 
          (Token id:Id.Lit_Chars val:'\t\tgrep "change 3" show\n' span_id:177) (Token id:Id.Lit_Chars val:'\t)\n' span_id:178)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone creates HEAD symbolic reference' span_id:188))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:192) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --dest="$git" //depot &&\n'
            span_id: 193
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:194) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:195) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:196) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse --verify refs/remotes/p4/master >master &&\n'
            span_id: 197
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify p4 >p4 &&\n' span_id:198) 
          (Token id:Id.Lit_Chars val:'\t\ttest_cmp master p4\n' span_id:199) (Token id:Id.Lit_Chars val:'\t)\n' span_id:200)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone --branch creates HEAD symbolic reference' span_id:207))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:211) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --branch=refs/remotes/p4/sb --dest="$git" //depot &&\n'
            span_id: 212
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:213) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:214) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:215) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit rev-parse --verify refs/remotes/p4/sb >sb &&\n'
            span_id: 216
          ) (Token id:Id.Lit_Chars val:'\t\tgit rev-parse --verify p4 >p4 &&\n' span_id:217) 
          (Token id:Id.Lit_Chars val:'\t\ttest_cmp sb p4\n' span_id:218) (Token id:Id.Lit_Chars val:'\t)\n' span_id:219)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --changesfile' span_id:226))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:230) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm cf" &&\n' span_id:231) (Token id:Id.Lit_Chars val:'\tprintf "1\\n3\\n" >cf &&\n' span_id:232) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot &&\n'
            span_id: 233
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:234) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:235) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:236) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit log --oneline p4/master >lines &&\n'
            span_id: 237
          ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines\n' span_id:238) 
          (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file1 &&\n' span_id:239) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing file2 &&\n' span_id:240) 
          (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file file3\n' span_id:241) (Token id:Id.Lit_Chars val:'\t)\n' span_id:242)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone --changesfile, @all' span_id:249))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:253) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm cf" &&\n' span_id:254) (Token id:Id.Lit_Chars val:'\tprintf "1\\n3\\n" >cf &&\n' span_id:255) 
          (Token
            id: Id.Lit_Chars
            val: 
'\ttest_must_fail git p4 clone --changesfile="$TRASH_DIRECTORY/cf" --dest="$git" //depot@all\n'
            span_id: 256
          )
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'clone/sync --import-local' span_id:272))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:276) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --import-local --dest="$git" //depot@1,2 &&\n'
            span_id: 277
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:278) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:279) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:280) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit log --oneline refs/heads/master >lines &&\n'
            span_id: 281
          ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines &&\n' span_id:282) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit log --oneline refs/heads/p4/master >lines &&\n'
            span_id: 283
          ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines &&\n' span_id:284) 
          (Token id:Id.Lit_Chars val:'\t\ttest_must_fail git p4 sync &&\n' span_id:285) (Token id:Id.Lit_Chars val:'\n' span_id:286) 
          (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --import-local &&\n' span_id:287) (Token id:Id.Lit_Chars val:'\t\tgit log --oneline refs/heads/master >lines &&\n' span_id:288) 
          (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines &&\n' span_id:289) (Token id:Id.Lit_Chars val:'\t\tgit log --oneline refs/heads/p4/master >lines &&\n' span_id:290) 
          (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 3 lines\n' span_id:291) (Token id:Id.Lit_Chars val:'\t)\n' span_id:292)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --max-changes' span_id:299))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:303) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --dest="$git" --max-changes 2 //depot@all &&\n'
            span_id: 304
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:305) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:306) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:307) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit log --oneline refs/heads/master >lines &&\n'
            span_id: 308
          ) (Token id:Id.Lit_Chars val:'\t\ttest_line_count = 2 lines\n' span_id:309) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:310)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --keep-path' span_id:317))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:321) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:322) (Token id:Id.Lit_Chars val:'\t\tcd "$cli" &&\n' span_id:323) 
          (Token id:Id.Lit_Chars val:'\t\tmkdir -p sub/dir &&\n' span_id:324) (Token id:Id.Lit_Chars val:'\t\techo f4 >sub/dir/f4 &&\n' span_id:325) 
          (Token id:Id.Lit_Chars val:'\t\tp4 add sub/dir/f4 &&\n' span_id:326) (Token id:Id.Lit_Chars val:'\t\tp4 submit -d "change 4"\n' span_id:327) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:328) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --dest="$git" --keep-path //depot/sub/dir@all &&\n'
            span_id: 329
          ) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:330) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:331) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:332) 
          (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing f4 &&\n' span_id:333) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file sub/dir/f4\n' span_id:334) 
          (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:335) (Token id:Id.Lit_Chars val:'\tcleanup_git &&\n' span_id:336) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --dest="$git" //depot/sub/dir@all &&\n'
            span_id: 337
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:338) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:339) (Token id:Id.Lit_Chars val:'\t\ttest_path_is_file f4 &&\n' span_id:340) 
          (Token id:Id.Lit_Chars val:'\t\ttest_path_is_missing sub/dir/f4\n' span_id:341) (Token id:Id.Lit_Chars val:'\t)\n' span_id:342)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'clone --use-client-spec' span_id:364))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:368) 
          (Token id:Id.Lit_Chars val:'\t(\n' span_id:369) (Token id:Id.Lit_Chars val:'\t\t# big usage message\n' span_id:370) 
          (Token id:Id.Lit_Chars val:'\t\texec >/dev/null &&\n' span_id:371) 
          (Token
            id: Id.Lit_Chars
            val: '\t\ttest_must_fail git p4 clone --dest="$git" --use-client-spec\n'
            span_id: 372
          ) (Token id:Id.Lit_Chars val:'\t) &&\n' span_id:373) 
          (Token id:Id.Lit_Chars val:'\t# build a different client\n' span_id:374) (Token id:Id.Lit_Chars val:'\tcli2="$TRASH_DIRECTORY/cli2" &&\n' span_id:375) 
          (Token id:Id.Lit_Chars val:'\tmkdir -p "$cli2" &&\n' span_id:376) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rmdir \\"$cli2\\"" &&\n' span_id:377) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:378) (Token id:Id.Lit_Chars val:'\t(\n' span_id:379) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t# group P4CLIENT and cli changes in a sub-shell\n'
            span_id: 380
          ) (Token id:Id.Lit_Chars val:'\t\tP4CLIENT=client2 &&\n' span_id:381) 
          (Token id:Id.Lit_Chars val:'\t\tcli="$cli2" &&\n' span_id:382) (Token id:Id.Lit_Chars val:'\t\tclient_view "//depot/sub/... //client2/bus/..." &&\n' span_id:383) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit p4 clone --dest="$git" --use-client-spec //depot/... &&\n'
            span_id: 384
          ) (Token id:Id.Lit_Chars val:'\t\t(\n' span_id:385) 
          (Token id:Id.Lit_Chars val:'\t\t\tcd "$git" &&\n' span_id:386) (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_file bus/dir/f4 &&\n' span_id:387) 
          (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_missing file1\n' span_id:388) (Token id:Id.Lit_Chars val:'\t\t) &&\n' span_id:389) 
          (Token id:Id.Lit_Chars val:'\t\tcleanup_git &&\n' span_id:390) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t# same thing again, this time with variable instead of option\n'
            span_id: 391
          ) (Token id:Id.Lit_Chars val:'\t\t(\n' span_id:392) 
          (Token id:Id.Lit_Chars val:'\t\t\tcd "$git" &&\n' span_id:393) (Token id:Id.Lit_Chars val:'\t\t\tgit init &&\n' span_id:394) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t\tgit config git-p4.useClientSpec true &&\n'
            span_id: 395
          ) (Token id:Id.Lit_Chars val:'\t\t\tgit p4 sync //depot/... &&\n' span_id:396) 
          (Token
            id: Id.Lit_Chars
            val: '\t\t\tgit checkout -b master p4/master &&\n'
            span_id: 397
          ) (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_file bus/dir/f4 &&\n' span_id:398) 
          (Token id:Id.Lit_Chars val:'\t\t\ttest_path_is_missing file1\n' span_id:399) (Token id:Id.Lit_Chars val:'\t\t)\n' span_id:400) (Token id:Id.Lit_Chars val:'\t)\n' span_id:401)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'submit works with no p4/master' span_id:408))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:412) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:413) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --branch=b1 //depot@1,2 --destination="$git" &&\n'
            span_id: 414
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:415) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:416) (Token id:Id.Lit_Chars val:'\t\ttest_commit submit-1-branch &&\n' span_id:417) 
          (Token
            id: Id.Lit_Chars
            val: '\t\tgit config git-p4.skipSubmitEdit true &&\n'
            span_id: 418
          ) (Token id:Id.Lit_Chars val:'\t\tgit p4 submit --branch=b1\n' span_id:419) 
          (Token id:Id.Lit_Chars val:'\t)\n' span_id:420)
        )
      }
    )
    (C {(test_expect_success)} 
      {(SQ (Token id:Id.Lit_Chars val:'submit works with two branches' span_id:433))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:437) 
          (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:438) 
          (Token
            id: Id.Lit_Chars
            val: '\tgit p4 clone --branch=b1 //depot@1,2 --destination="$git" &&\n'
            span_id: 439
          ) (Token id:Id.Lit_Chars val:'\t(\n' span_id:440) 
          (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:441) (Token id:Id.Lit_Chars val:'\t\tgit p4 sync --branch=b2 //depot@1,3 &&\n' span_id:442) 
          (Token id:Id.Lit_Chars val:'\t\ttest_commit submit-2-branches &&\n' span_id:443) (Token id:Id.Lit_Chars val:'\t\tgit config git-p4.skipSubmitEdit true &&\n' span_id:444) 
          (Token id:Id.Lit_Chars val:'\t\tgit p4 submit\n' span_id:445) (Token id:Id.Lit_Chars val:'\t)\n' span_id:446)
        )
      }
    )
    (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:453))} 
      {
        (SQ (Token id:Id.Lit_Chars val:'\n' span_id:457) 
          (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:458)
        )
      }
    )
    (C {(test_done)})
  ]
)