(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef set_attr [] (AndOr OP_AND_IF (Com {[LIT_CHARS test_when_finished]} {[SQ ]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "* "][VarSub *]]} < (FilenameRedirectNode filename={[LIT_CHARS .gitattributes]} "> 1), > ) ) ) (FunctionDef check_input [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS read-tree]} {[LIT_CHARS --empty]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS small]} {[LIT_CHARS large]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS blob]} {[LIT_OTHER ":"] [LIT_CHARS small]} < (FilenameRedirectNode filename={[LIT_CHARS small.index]} "> 1), > ) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS cat-file]} {[LIT_CHARS blob]} {[LIT_OTHER ":"] [LIT_CHARS large]} ) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1]} < (FilenameRedirectNode filename={[LIT_CHARS large.index]} "> 1), > ) ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS small.index]} {[LIT_CHARS large.index]} ) ) ) ) ) ) (FunctionDef check_output [] (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS small]} {[LIT_CHARS large]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS small]} {[LIT_CHARS large]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1]} {[LIT_CHARS large]} < (FilenameRedirectNode filename={[LIT_CHARS large.head]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS small]} {[LIT_CHARS large.head]} ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ small &&\n"> large &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ small &&\n"> large &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ small.clean &&\n"> large.head &&\n"> large.clean &&\n"> ]} ) (Com {[LIT_CHARS test_done]} ) )