(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('CURR_DIR', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (= scope= flags=0 words=[] bindings=[('TEST_OUTPUT_DIRECTORY', {[ComSub (Com {[LIT_CHARS pwd]})]})]) (= scope= flags=0 words=[] bindings=[('TEST_DIRECTORY', {[DQ [VarSub CURR_DIR]] [LIT_CHARS /../../../t]})]) (= scope= flags=0 words=[] bindings=[('DIFF_HIGHLIGHT', {[DQ [VarSub CURR_DIR]] [LIT_CHARS /../diff-highlight]})]) (= scope= flags=0 words=[] bindings=[('CW', {[DQ [ComSub (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\0"][LIT_CHARS "33[7m"]]})]]})]) (= scope= flags=0 words=[] bindings=[('CR', {[DQ [ComSub (Com {[LIT_CHARS printf]} {[DQ [\ LIT_ESCAPED_CHAR "\\0"][LIT_CHARS "33[27m"]]})]]})]) (Com {[LIT_CHARS .]} {[DQ [VarSub TEST_DIRECTORY]] [LIT_CHARS /test-lib.sh]}) (If (Pipeline! (Com {[LIT_CHARS test_have_prereq]} {[LIT_CHARS PERL]}) ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]}) ) ) (FunctionDef dh_test [] (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('a', {[DQ [VarSub 1]]}), ('b', {[DQ [VarSub 2]]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS patch.exp]} "> 1), > ) (AndOr OP_AND_IF (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} {[DQ [VarSub a]]} < (FilenameRedirectNode filename={[LIT_CHARS file]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS file]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "Add a file"]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} {[DQ [VarSub b]]} < (FilenameRedirectNode filename={[LIT_CHARS file]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[LIT_CHARS file]} < (FilenameRedirectNode filename={[LIT_CHARS diff.raw]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -a]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "Update a file"]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS show]} < (FilenameRedirectNode filename={[LIT_CHARS commit.raw]} "> 1), > ) ) ) ) ) ) ) (AndOr OP_AND_IF (Pipeline (Com {[DQ [VarSub DIFF_HIGHLIGHT]]} < (FilenameRedirectNode filename={[LIT_CHARS diff.raw]} 0), > ) (Com {[LIT_CHARS test_strip_patch_header]} < (FilenameRedirectNode filename={[LIT_CHARS diff.act]} "> 1), > ) ) (AndOr OP_AND_IF (Pipeline (Com {[DQ [VarSub DIFF_HIGHLIGHT]]} < (FilenameRedirectNode filename={[LIT_CHARS commit.raw]} 0), > ) (Com {[LIT_CHARS test_strip_patch_header]} < (FilenameRedirectNode filename={[LIT_CHARS commit.act]} "> 1), > ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS patch.exp]} {[LIT_CHARS diff.act]}) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS patch.exp]} {[LIT_CHARS commit.act]}) ) ) ) ) ) ) ) (FunctionDef test_strip_patch_header [] (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]} {[VarSub *]}) ) (FunctionDef dh_test_setup_history [] (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS file1]]} < (FilenameRedirectNode filename={[LIT_CHARS file1]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS file2]]} < (FilenameRedirectNode filename={[LIT_CHARS file2]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS file3]]} < (FilenameRedirectNode filename={[LIT_CHARS file3]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} {[LIT_CHARS file1]} < (FilenameRedirectNode filename={[LIT_CHARS file]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS file]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS D]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS -b]} {[LIT_CHARS branch]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} {[LIT_CHARS file2]} < (FilenameRedirectNode filename={[LIT_CHARS file]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -a]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS A]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[LIT_CHARS master]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} {[LIT_CHARS file2]} < (FilenameRedirectNode filename={[LIT_CHARS file]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -a]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS E]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} {[LIT_CHARS file3]} < (FilenameRedirectNode filename={[LIT_CHARS file]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -a]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS F]]}) ) ) ) ) ) ) ) ) ) ) ) ) ) ) (FunctionDef left_trim [] (Com {[DQ [VarSub PERL_PATH]]} {[LIT_CHARS -pe]} {[SQ ]}) ) (FunctionDef trim_graph [] (Com {[DQ [VarSub PERL_PATH]]} {[LIT_CHARS -pe]} {[SQ ]}) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ a <<-\\EOF &&\n"> b <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ a <<-\\EOF &&\n"> b <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ a <<-\\EOF &&\n"> b <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ a <<-\\EOF &&\n"> b <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_expect_failure]} {[SQ ]} {[SQ a <<-\\EOF &&\n"> b <<-\\EOF &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('o_accent', {[ComSub (Com {[LIT_CHARS printf]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('o_stroke', {[ComSub (Com {[LIT_CHARS printf]} {[SQ ]})]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ a &&\n"> b &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('combine_accent', {[ComSub (Com {[LIT_CHARS printf]} {[SQ ]})]})]) (= scope= flags=0 words=[] bindings=[('combine_circum', {[ComSub (Com {[LIT_CHARS printf]} {[SQ ]})]})]) (Com {[LIT_CHARS test_expect_failure]} {[SQ ]} {[SQ a &&\n"> b &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ graph.exp &&\n"> graph.act &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> file &&\n"> file &&\n"> file &&\n"> expect <<-\\EOF &&\n"> actual.raw &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )