(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (Com {[LIT_CHARS .]} {[DQ [VarSub TEST_DIRECTORY]] [LIT_CHARS /diff-lib.sh]}) (FunctionDef setup_helper [] (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('one', {[VarSub 1]}), ('branch', {[VarSub 2]}), ('side', {[VarSub 3]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS branch]} {[VarSub side]} {[VarSub branch]}) (AndOr OP_AND_IF (For l [{[VarSub one]}, {[LIT_CHARS two]}, {[LIT_CHARS three]}, {[LIT_CHARS fyra]}]) (Com {[LIT_CHARS echo]} {[VarSub l]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS file]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test_tick]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[VarSub branch]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS checkout]} {[VarSub side]}) (AndOr OP_AND_IF (For l [{[VarSub one]}, {[LIT_CHARS two]}, {[LIT_CHARS three]}, {[LIT_CHARS quatro]}]) (Com {[LIT_CHARS echo]} {[VarSub l]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS file]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test_tick]}) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[VarSub side]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS merge]} {[VarSub branch]}) (AndOr OP_AND_IF (For l [{[VarSub one]}, {[LIT_CHARS three]}, {[LIT_CHARS four]}]) (Com {[LIT_CHARS echo]} {[VarSub l]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS file]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test_tick]}) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "merge "][VarSub branch][LIT_CHARS " into "][VarSub side]]}) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) (FunctionDef verify_helper [] (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('it', {[VarSub 1]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub it]]} < (FilenameRedirectNode filename={[DQ [VarSub it][LIT_CHARS .actual.1]]} "> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[DQ [VarSub it]]} < (FilenameRedirectNode filename={[DQ [VarSub it][LIT_CHARS .actual.2]]} "> 1), > ) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[DQ [VarSub it][LIT_CHARS "^"]]} {[DQ [VarSub it]]} {[LIT_CHARS --]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub it][LIT_CHARS .expect.1]]} "> 1), > ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_cmp]} {[DQ [VarSub it][LIT_CHARS .expect.1]]} {[DQ [VarSub it][LIT_CHARS .actual.1]]}) (AndOr OP_AND_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[DQ [VarSub it][LIT_CHARS "^2"]]} {[DQ [VarSub it]]} {[LIT_CHARS --]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[DQ [VarSub it][LIT_CHARS .expect.2]]} "> 1), > ) ) (Com {[LIT_CHARS test_cmp]} {[DQ [VarSub it][LIT_CHARS .expect.2]]} {[DQ [VarSub it][LIT_CHARS .actual.2]]}) ) ) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ sidewithone &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ sidesansone &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> out &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ out &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ out &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test &&\n"> test &&\n"> test &&\n"> test &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test &&\n"> test &&\n"> test &&\n"> test &&\n"> actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test &&\n"> test &&\n"> test &&\n"> test &&\n"> actual.tmp &&\n"> actual &&\n"> expected &&\n"> test &&\n"> actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_failure]} {[SQ ]} {[SQ test &&\n"> test &&\n"> test &&\n"> test &&\n"> test &&\n"> actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ test &&\n"> test &&\n"> test &&\n"> actual.tmp &&\n"> actual &&\n"> expected &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ foo/one &&\n"> foo/two &&\n"> foo.ext &&\n"> foo/one &&\n"> foo.ext &&\n"> foo/two &&\n"> expect &&\n"> actual.tmp &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )