(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 relative chdir' 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)\n' span_id:40) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'P4CONFIG and absolute dir clone' span_id:53))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:57) (Token id: Id.Lit_Chars val: '\tprintf "P4PORT=$P4PORT\\nP4CLIENT=$P4CLIENT\\n" >p4config &&\n' span_id: 58 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm p4config" &&\n' span_id:59) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:60) (Token id:Id.Lit_Chars val:'\t(\n' span_id:61) (Token id: Id.Lit_Chars val: '\t\tP4CONFIG=p4config && export P4CONFIG &&\n' span_id: 62 ) (Token id:Id.Lit_Chars val:'\t\tsane_unset P4PORT P4CLIENT &&\n' span_id:63) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --verbose --dest="$git" //depot\n' span_id: 64 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:65) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'P4CONFIG and relative dir clone' span_id:75))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:79) (Token id: Id.Lit_Chars val: '\tprintf "P4PORT=$P4PORT\\nP4CLIENT=$P4CLIENT\\n" >p4config &&\n' span_id: 80 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm p4config" &&\n' span_id:81) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:82) (Token id:Id.Lit_Chars val:'\t(\n' span_id:83) (Token id: Id.Lit_Chars val: '\t\tP4CONFIG=p4config && export P4CONFIG &&\n' span_id: 84 ) (Token id:Id.Lit_Chars val:'\t\tsane_unset P4PORT P4CLIENT &&\n' span_id:85) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --verbose --dest="git" //depot\n' span_id: 86 ) (Token id:Id.Lit_Chars val:'\t)\n' span_id:87) ) } ) (C {(test_expect_success)} { (SQ (Token id: Id.Lit_Chars val: 'p4 client root would be relative due to clone --dest' span_id: 103 ) ) } { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:107) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:108) (Token id:Id.Lit_Chars val:'\t(\n' span_id:109) (Token id: Id.Lit_Chars val: '\t\techo P4PORT=$P4PORT >git/.p4config &&\n' span_id: 110 ) (Token id:Id.Lit_Chars val:'\t\tP4CONFIG=.p4config &&\n' span_id:111) (Token id:Id.Lit_Chars val:'\t\texport P4CONFIG &&\n' span_id:112) (Token id:Id.Lit_Chars val:'\t\tunset P4PORT &&\n' span_id:113) (Token id:Id.Lit_Chars val:'\t\tgit p4 clone --dest="git" //depot\n' span_id:114) (Token id:Id.Lit_Chars val:'\t)\n' span_id:115) ) } ) (C {(test_expect_success)} {(SYMLINKS)} {(SQ (Token id:Id.Lit_Chars val:'p4 client root symlink should stay symbolic' span_id:130))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:134) (Token id: Id.Lit_Chars val: '\tphysical="$TRASH_DIRECTORY/physical" &&\n' span_id: 135 ) (Token id:Id.Lit_Chars val:'\tsymbolic="$TRASH_DIRECTORY/symbolic" &&\n' span_id:136) (Token id: Id.Lit_Chars val: '\ttest_when_finished "rm -rf \\"$physical\\"" &&\n' span_id: 137 ) (Token id:Id.Lit_Chars val:'\ttest_when_finished "rm \\"$symbolic\\"" &&\n' span_id:138) (Token id:Id.Lit_Chars val:'\tmkdir -p "$physical" &&\n' span_id:139) (Token id:Id.Lit_Chars val:'\tln -s "$physical" "$symbolic" &&\n' span_id:140) (Token id:Id.Lit_Chars val:'\ttest_when_finished cleanup_git &&\n' span_id:141) (Token id:Id.Lit_Chars val:'\t(\n' span_id:142) (Token id:Id.Lit_Chars val:'\t\tP4CLIENT=client-sym &&\n' span_id:143) (Token id:Id.Lit_Chars val:'\t\tp4 client -i <<-EOF &&\n' span_id:144) (Token id:Id.Lit_Chars val:'\t\tClient: $P4CLIENT\n' span_id:145) (Token id:Id.Lit_Chars val:'\t\tDescription: $P4CLIENT\n' span_id:146) (Token id:Id.Lit_Chars val:'\t\tRoot: $symbolic\n' span_id:147) (Token id:Id.Lit_Chars val:'\t\tLineEnd: unix\n' span_id:148) (Token id:Id.Lit_Chars val:'\t\tView: //depot/... //$P4CLIENT/...\n' span_id:149) (Token id:Id.Lit_Chars val:'\t\tEOF\n' span_id:150) (Token id: Id.Lit_Chars val: '\t\tgit p4 clone --dest="$git" //depot &&\n' span_id: 151 ) (Token id:Id.Lit_Chars val:'\t\tcd "$git" &&\n' span_id:152) (Token id:Id.Lit_Chars val:'\t\ttest_commit file2 &&\n' span_id:153) (Token id:Id.Lit_Chars val:'\t\tgit config git-p4.skipSubmitEdit true &&\n' span_id:154) (Token id:Id.Lit_Chars val:'\t\tgit p4 submit\n' span_id:155) (Token id:Id.Lit_Chars val:'\t)\n' span_id:156) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'kill p4d' span_id:163))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:167) (Token id:Id.Lit_Chars val:'\tkill_p4d\n' span_id:168) ) } ) (C {(test_done)}) ] )