(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef make_tree_entry [] (AndOr OP_AND_IF (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]}) (Com {[LIT_CHARS perl]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub 3]]}) ) ) (FunctionDef make_tree [] (Pipeline (While (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 2]}) (List (Com {[LIT_CHARS make_tree_entry]} {[DQ [VarSub 1]]} {[DQ [VarSub 2]]} {[DQ [VarSub 3]]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) ) ) (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS -w]} {[LIT_CHARS -t]} {[LIT_CHARS tree]} {[LIT_CHARS --stdin]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )