(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:'for-each-ref errors for broken refs' span_id:6))} spids: [4] ) ] ) (C {(.)} {(./test-lib.sh)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ZEROS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_z40')} spids: [15] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MISSING) op: assign_op.Equal rhs: {(abababababababababababababababababababab)} spids: [18] ) ] ) (C {(test_expect_success)} {(setup)} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:27) (Token id: Id.Lit_Chars val: '\tgit commit --allow-empty -m "Initial" &&\n' span_id: 28 ) (Token id:Id.Lit_Chars val:'\tgit tag testtag &&\n' span_id:29) (Token id:Id.Lit_Chars val:'\tgit for-each-ref >full-list &&\n' span_id:30) (Token id: Id.Lit_Chars val: '\tgit for-each-ref --format="%(objectname) %(refname)" >brief-list\n' span_id: 31 ) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'Broken refs are reported correctly' span_id:38))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:42) (Token id:Id.Lit_Chars val:'\tr=refs/heads/bogus &&\n' span_id:43) (Token id:Id.Lit_Chars val:'\t: >.git/$r &&\n' span_id:44) (Token id: Id.Lit_Chars val: '\ttest_when_finished "rm -f .git/$r" &&\n' span_id: 45 ) (Token id:Id.Lit_Chars val:'\techo "warning: ignoring broken ref $r" >broken-err &&\n' span_id:46) (Token id:Id.Lit_Chars val:'\tgit for-each-ref >out 2>err &&\n' span_id:47) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp full-list out &&\n' span_id:48) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp broken-err err\n' span_id:49) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'NULL_SHA1 refs are reported correctly' span_id:56))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:60) (Token id:Id.Lit_Chars val:'\tr=refs/heads/zeros &&\n' span_id:61) (Token id:Id.Lit_Chars val:'\techo $ZEROS >.git/$r &&\n' span_id:62) (Token id: Id.Lit_Chars val: '\ttest_when_finished "rm -f .git/$r" &&\n' span_id: 63 ) (Token id:Id.Lit_Chars val:'\techo "warning: ignoring broken ref $r" >zeros-err &&\n' span_id:64) (Token id:Id.Lit_Chars val:'\tgit for-each-ref >out 2>err &&\n' span_id:65) (Token id:Id.Lit_Chars val:'\ttest_cmp full-list out &&\n' span_id:66) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp zeros-err err &&\n' span_id:67) (Token id: Id.Lit_Chars val: '\tgit for-each-ref --format="%(objectname) %(refname)" >brief-out 2>brief-err &&\n' span_id: 68 ) (Token id:Id.Lit_Chars val:'\ttest_cmp brief-list brief-out &&\n' span_id:69) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp zeros-err brief-err\n' span_id:70) ) } ) (C {(test_expect_success)} {(SQ (Token id:Id.Lit_Chars val:'Missing objects are reported correctly' span_id:77))} { (SQ (Token id:Id.Lit_Chars val:'\n' span_id:81) (Token id:Id.Lit_Chars val:'\tr=refs/heads/missing &&\n' span_id:82) (Token id:Id.Lit_Chars val:'\techo $MISSING >.git/$r &&\n' span_id:83) (Token id: Id.Lit_Chars val: '\ttest_when_finished "rm -f .git/$r" &&\n' span_id: 84 ) (Token id: Id.Lit_Chars val: '\techo "fatal: missing object $MISSING for $r" >missing-err &&\n' span_id: 85 ) (Token id:Id.Lit_Chars val:'\ttest_must_fail git for-each-ref 2>err &&\n' span_id:86) (Token id:Id.Lit_Chars val:'\ttest_i18ncmp missing-err err &&\n' span_id:87) (Token id:Id.Lit_Chars val:'\t(\n' span_id:88) (Token id:Id.Lit_Chars val:'\t\tcat brief-list &&\n' span_id:89) (Token id:Id.Lit_Chars val:'\t\techo "$MISSING $r"\n' span_id:90) (Token id: Id.Lit_Chars val: '\t) | sort -k 2 >missing-brief-expected &&\n' span_id: 91 ) (Token id: Id.Lit_Chars val: '\tgit for-each-ref --format="%(objectname) %(refname)" >brief-out 2>brief-err &&\n' span_id: 92 ) (Token id:Id.Lit_Chars val:'\ttest_cmp missing-brief-expected brief-out &&\n' span_id:93) (Token id:Id.Lit_Chars val:'\ttest_must_be_empty brief-err\n' span_id:94) ) } ) (C {(test_done)}) ] )