(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (FunctionDef difftool_test_setup [] (AndOr OP_AND_IF (Com {[LIT_CHARS test_config]} {[LIT_CHARS diff.tool]} {[LIT_CHARS test-tool]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test_config]} {[LIT_CHARS difftool.test-tool.cmd]} {[SQ ]}) (Com {[LIT_CHARS test_config]} {[LIT_CHARS difftool.bogus-tool.cmd]} {[LIT_CHARS false]}) ) ) ) (FunctionDef prompt_given [] (List (= scope= flags=0 words=[] bindings=[('prompt', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS test]} {[DQ [VarSub prompt]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS "Launch 'test-tool' [Y/n]? branch"]]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ file &&\n"> file &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ for-diff &&\n"> for-diff &&\n"> expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ for-diff &&\n"> expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ input &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ input &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> input &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ .path">]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> >expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> >expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> >expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ file2 &&\n"> file2 &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ input &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ input &&\n"> output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ sub/sub &&\n"> >file &&\n"> >sub/sub &&\n"> ]}) (FunctionDef run_dir_diff_test [] (List (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[DQ [VarSub 1][LIT_CHARS " --no-symlinks"]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\tsymlinks=--no-symlinks &&\n"][LIT_CHARS "\t\t"][VarSub 2][LIT_CHARS "\n"][LIT_CHARS "\t"]]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL] [LIT_COMMA ","] [LIT_CHARS SYMLINKS]} {[DQ [VarSub 1][LIT_CHARS " --symlinks"]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\tsymlinks=--symlinks &&\n"][LIT_CHARS "\t\t"][VarSub 2][LIT_CHARS "\n"][LIT_CHARS "\t"]]}) ) ) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ output &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ >file &&\n"> >file &&\n"> expect <<-EOF &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS write_script]} {[LIT_CHARS .git/CHECK_SYMLINKS]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "for f in file file2 sub/sub\n"] [LIT_CHARS "do\n"] [LIT_CHARS "\techo \"$f\"\n"] [LIT_CHARS "\tls -ld \"$2/$f\" | sed -e 's/.* -> //'\n"] [LIT_CHARS "done >actual\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL] [LIT_COMMA ","] [LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ expect <<-EOF &&\n"> ]}) (Com {[LIT_CHARS write_script]} {[LIT_CHARS modify-right-file]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "echo \"new content\" >\"$2/file\"\n"]} 0), > ) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ file &&\n"> expect &&\n"> ]}) (Com {[LIT_CHARS run_dir_diff_test]} {[SQ ]} {[SQ expect &&\n"> ]}) (Com {[LIT_CHARS write_script]} {[LIT_CHARS modify-file]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "echo \"new content\" >file\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ file &&\n"> expect &&\n"> ]}) (Com {[LIT_CHARS write_script]} {[LIT_CHARS modify-both-files]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "echo \"wt content\" >file &&\n"] [LIT_CHARS "echo \"tmp content\" >\"$2/file\" &&\n"] [LIT_CHARS "echo \"$2\" >tmpdir\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ file &&\n"> expect &&\n"> expect &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL]} {[SQ ]} {[SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ ] [\ LIT_ESCAPED_CHAR "\\'"] [SQ expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS PERL] [LIT_COMMA ","] [LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ foo/bar &&\n"> expect &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )