(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef make_patches [] (List (= scope= flags=0 words=[] bindings=[('type', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('subject', {[VarSub 2]})]) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "create patches with "][VarSub type][LIT_CHARS " subject"]]} {[SQ file &&\n"> $type.patch &&\n"> $type-k.patch\n"> ]} ) ) ) (FunctionDef check_subject [] (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS reset]} {[LIT_CHARS --hard]} {[LIT_CHARS baseline]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS am]} {[VarSub 2]} {[VarSub 1] [LIT_CHARS .patch]} ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS -1]} {[LIT_CHARS --pretty] [LIT_DBRACKET_LIKE "="] [LIT_CHARS format] [LIT_OTHER ":"] [LIT_OTHER "%"] [LIT_CHARS B]} < (FilenameRedirectNode filename={[LIT_CHARS actual]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expect]} {[LIT_CHARS actual]} ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (= scope= flags=0 words=[] bindings=[('SHORT_SUBJECT', {[SQ ]})]) (Com {[LIT_CHARS make_patches]} {[LIT_CHARS short]} {[DQ [VarSub SHORT_SUBJECT]]} ) (= scope= flags=0 words=[] bindings=[('LONG_SUBJECT1', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('LONG_SUBJECT2', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('LONG_SUBJECT3', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('LONG_SUBJECT', {[DQ [VarSub LONG_SUBJECT1][LIT_CHARS " "][VarSub LONG_SUBJECT2][LIT_CHARS " "][VarSub LONG_SUBJECT3]]})]) (Com {[LIT_CHARS make_patches]} {[LIT_CHARS long]} {[DQ [VarSub LONG_SUBJECT]]} ) (= scope= flags=0 words=[] bindings=[('MULTILINE_SUBJECT', {[DQ [VarSub LONG_SUBJECT1][LIT_CHARS "\n"][VarSub LONG_SUBJECT2][LIT_CHARS "\n"][VarSub LONG_SUBJECT3]]})]) (Com {[LIT_CHARS make_patches]} {[LIT_CHARS multiline]} {[DQ [VarSub MULTILINE_SUBJECT]]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub SHORT_SUBJECT]]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (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 echo]} {[DQ [VarSub LONG_SUBJECT]]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (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 echo]} {[DQ [VarSub LONG_SUBJECT]]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub MULTILINE_SUBJECT]]} < (FilenameRedirectNode filename={[LIT_CHARS expect]} "> 1), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_done]} ) )