(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (FunctionDef mkpatch_add [] (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub 2 test_op=VS_TEST_COLON_HYPHEN {[VarSub 1]}]]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "diff --git a/"][VarSub 1][LIT_CHARS " b/"][VarSub 1][LIT_CHARS "\n"][LIT_CHARS "new file mode 100644\n"][LIT_CHARS "index 0000000..53c74cd\n"][LIT_CHARS "--- /dev/null\n"][LIT_CHARS "+++ b/"][VarSub 1][LIT_CHARS "\n"][LIT_CHARS "@@ -0,0 +1 @@\n"][LIT_CHARS "+evil\n"]]} 0), > ) ) ) (FunctionDef mkpatch_del [] (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[LIT_CHARS evil]} < (FilenameRedirectNode filename={[DQ [VarSub 2 test_op=VS_TEST_COLON_HYPHEN {[VarSub 1]}]]} "> 1), > ) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "diff --git a/"][VarSub 1][LIT_CHARS " b/"][VarSub 1][LIT_CHARS "\n"][LIT_CHARS "deleted file mode 100644\n"][LIT_CHARS "index 53c74cd..0000000\n"][LIT_CHARS "--- a/"][VarSub 1][LIT_CHARS "\n"][LIT_CHARS "+++ /dev/null\n"][LIT_CHARS "@@ -1 +0,0 @@\n"][LIT_CHARS "-evil\n"]]} 0), > ) ) ) (FunctionDef mkpatch_symlink [] (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "diff --git a/"][VarSub 1][LIT_CHARS " b/"][VarSub 1][LIT_CHARS "\n"][LIT_CHARS "new file mode 120000\n"][LIT_CHARS "index 0000000.."][ComSub (Pipeline (Com {[LIT_CHARS printf]} {[DQ [LIT_CHARS "%s"]]} {[DQ [VarSub 2]]}) (Com {[LIT_CHARS git]} {[LIT_CHARS hash-object]} {[LIT_CHARS --stdin]}) )][LIT_CHARS "\n"][LIT_CHARS "--- /dev/null\n"][LIT_CHARS "+++ b/"][VarSub 1][LIT_CHARS "\n"][LIT_CHARS "@@ -0,0 +1 @@\n"][LIT_CHARS "+"][VarSub 2][LIT_CHARS "\n"][\ LIT_ESCAPED_CHAR "\\ "][LIT_CHARS "No newline at end of file\n"]]} 0), > ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS SYMLINKS]} {[SQ ]} {[SQ patch &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )