(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: 'Test cloning a repository larger than 2 gigabyte' span_id: 6 ) ) } spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.If arms: [ (if_arm cond: [(C {(test)} {(-z)} {(DQ ($ Id.VSub_DollarName '$GIT_TEST_CLONE_2GB'))})] action: [ (C {(say)} { (SQ (Token id: Id.Lit_Chars val: 'Skipping expensive 2GB clone test; enable it with GIT_TEST_CLONE_2GB=t' span_id: 30 ) ) } ) ] spids: [14 24] ) ] else_action: [(C {(test_set_prereq)} {(CLONE_2GB)})] ) (C {(test_expect_success)} {(CLONE_2GB)} {(SQ (Token id:Id.Lit_Chars val:setup span_id:48))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:52) (Token id:Id.Lit_Chars val:'\n' span_id:53) (Token id:Id.Lit_Chars val:'\tgit config pack.compression 0 &&\n' span_id:54) (Token id:Id.Lit_Chars val:'\tgit config pack.depth 0 &&\n' span_id:55) (Token id:Id.Lit_Chars val:'\tblobsize=$((100*1024*1024)) &&\n' span_id:56) (Token id:Id.Lit_Chars val:'\tblobcount=$((2*1024*1024*1024/$blobsize+1)) &&\n' span_id:57) (Token id:Id.Lit_Chars val:'\ti=1 &&\n' span_id:58) (Token id:Id.Lit_Chars val:'\t(while test $i -le $blobcount\n' span_id:59) (Token id:Id.Lit_Chars val:'\t do\n' span_id:60) (Token id:Id.Lit_Chars val:'\t\tprintf "Generating blob $i/$blobcount\\r" >&2 &&\n' span_id:61) (Token id: Id.Lit_Chars val: '\t\tprintf "blob\\nmark :$i\\ndata $blobsize\\n" &&\n' span_id: 62 ) (Token id:Id.Lit_Chars val:'\t\t#test-genrandom $i $blobsize &&\n' span_id:63) (Token id:Id.Lit_Chars val:'\t\tprintf "%-${blobsize}s" $i &&\n' span_id:64) (Token id:Id.Lit_Chars val:'\t\techo "M 100644 :$i $i" >> commit\n' span_id:65) (Token id:Id.Lit_Chars val:'\t\ti=$(($i+1)) ||\n' span_id:66) (Token id:Id.Lit_Chars val:'\t\techo $? > exit-status\n' span_id:67) (Token id:Id.Lit_Chars val:'\t done &&\n' span_id:68) (Token id:Id.Lit_Chars val:'\t echo "commit refs/heads/master" &&\n' span_id:69) (Token id: Id.Lit_Chars val: '\t echo "author A U Thor <author@email.com> 123456789 +0000" &&\n' span_id: 70 ) (Token id: Id.Lit_Chars val: '\t echo "committer C O Mitter <committer@email.com> 123456789 +0000" &&\n' span_id: 71 ) (Token id:Id.Lit_Chars val:'\t echo "data 5" &&\n' span_id:72) (Token id:Id.Lit_Chars val:'\t echo ">2gb" &&\n' span_id:73) (Token id:Id.Lit_Chars val:'\t cat commit) |\n' span_id:74) (Token id: Id.Lit_Chars val: '\tgit fast-import --big-file-threshold=2 &&\n' span_id: 75 ) (Token id:Id.Lit_Chars val:'\ttest ! -f exit-status\n' span_id:76) (Token id:Id.Lit_Chars val:'\n' span_id:77) ) } ) (C {(test_expect_success)} {(CLONE_2GB)} {(SQ (Token id:Id.Lit_Chars val:'clone - bare' span_id:86))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:90) (Token id:Id.Lit_Chars val:'\n' span_id:91) (Token id: Id.Lit_Chars val: '\tgit clone --bare --no-hardlinks . clone-bare\n' span_id: 92 ) (Token id:Id.Lit_Chars val:'\n' span_id:93) ) } ) (C {(test_expect_success)} {(CLONE_2GB)} {(SQ (Token id:Id.Lit_Chars val:'clone - with worktree, file:// protocol' span_id:102))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:106) (Token id:Id.Lit_Chars val:'\n' span_id:107) (Token id:Id.Lit_Chars val:'\tgit clone "file://$(pwd)" clone-wt\n' span_id:108) (Token id:Id.Lit_Chars val:'\n' span_id:109) ) } ) (C {(test_done)}) ] )