(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS check-for-diff]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!"][VarSub SHELL_PATH][LIT_CHARS "\n"][LIT_CHARS "exec grep '^diff --git' "][RIGHT_D_QUOTE "\""][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS 1][RIGHT_D_QUOTE "\""][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[LIT_CHARS check-for-diff]} ) (Com {[LIT_CHARS test_set_editor]} {[DQ [VarSub PWD][LIT_CHARS /check-for-diff]]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS message]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "subject\n"] [LIT_CHARS "\n"] [LIT_CHARS "body\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> ]} ) (FunctionDef check_message [] (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 s] [LIT_OTHER "%"] [LIT_CHARS n] [LIT_OTHER "%"] [LIT_CHARS n] [LIT_OTHER "%"] [LIT_CHARS b]} < (FilenameRedirectNode filename={[LIT_CHARS actual]} "> 1), > ) (Com {[LIT_CHARS test_cmp]} {[DQ [VarSub 1]]} {[LIT_CHARS actual]} ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS diff]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "This is an example commit message that contains a diff.\n"] [LIT_CHARS "\n"] [LIT_CHARS "diff --git c/file i/file\n"] [LIT_CHARS "new file mode 100644\n"] [LIT_CHARS "index 0000000..f95c11d\n"] [LIT_CHARS "--- /dev/null\n"] [LIT_CHARS "+++ i/file\n"] [LIT_CHARS "@@ -0,0 +1 @@\n"] [LIT_CHARS "+this is some content\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_failure]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_done]} ) )