(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 /lib-gpg.sh]}) (= scope= flags=0 words=[] bindings=[('datestamp', {[LIT_CHARS 1151968723]})]) (FunctionDef setdate_and_increment [] (List (= scope= flags=0 words=[] bindings=[('GIT_COMMITTER_DATE', {[DQ [VarSub datestamp][LIT_CHARS " +0200"]]})]) (= scope= flags=0 words=[] bindings=[('datestamp', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub datestamp]]} {[LIT_OTHER "+"]} {[LIT_CHARS 1]})]})]) (= scope= flags=0 words=[] bindings=[('GIT_AUTHOR_DATE', {[DQ [VarSub datestamp][LIT_CHARS " +0200"]]})]) (= scope= flags=0 words=[] bindings=[('datestamp', {[ComSub (Com {[LIT_CHARS expr]} {[DQ [VarSub datestamp]]} {[LIT_OTHER "+"]} {[LIT_CHARS 1]})]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_COMMITTER_DATE]}, {[LIT_CHARS GIT_AUTHOR_DATE]}] bindings=[]) ) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ one &&\n"> ]}) (FunctionDef test_atom [] (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS head]}], [{[LIT_CHARS tag]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('ref', {[LIT_CHARS refs/heads/master]})]) (= scope= flags=0 words=[] bindings=[('ref', {[LIT_CHARS refs/tags/testtag]})]) (= scope= flags=0 words=[] bindings=[('ref', {[VarSub 1]})]) ) (Com {[LIT_CHARS printf]} {[SQ ]} {[DQ [VarSub 3]]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), > ) (Com {[LIT_CHARS test_expect_] [VarSub 4 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS success]}]} {[VarSub PREREQ]} {[DQ [LIT_CHARS "basic atom: "][VarSub 1][LIT_CHARS " "][VarSub 2]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\tgit for-each-ref --format='%("][VarSub 2][LIT_CHARS ")' "][VarSub ref][LIT_CHARS " >actual &&\n"][LIT_CHARS "\t\tsanitize_pgp actual.clean &&\n"][LIT_CHARS "\t\ttest_cmp expected actual.clean\n"][LIT_CHARS "\t"]]}) ) ) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS refname]} {[LIT_CHARS refs/heads/master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS refname] [LIT_OTHER ":"] [LIT_CHARS short]} {[LIT_CHARS master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS refname] [LIT_OTHER ":"] [LIT_VAR_LIKE "strip="] [LIT_CHARS 1]} {[LIT_CHARS heads/master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS refname] [LIT_OTHER ":"] [LIT_VAR_LIKE "strip="] [LIT_CHARS 2]} {[LIT_CHARS master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS upstream]} {[LIT_CHARS refs/remotes/origin/master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS upstream] [LIT_OTHER ":"] [LIT_CHARS short]} {[LIT_CHARS origin/master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS push]} {[LIT_CHARS refs/remotes/myfork/master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS push] [LIT_OTHER ":"] [LIT_CHARS short]} {[LIT_CHARS myfork/master]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS objecttype]} {[LIT_CHARS commit]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS objectsize]} {[LIT_CHARS 171]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS objectname]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS refs/heads/master]})]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS objectname] [LIT_OTHER ":"] [LIT_CHARS short]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS refs/heads/master]})]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS tree]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS refs/heads/master] [LIT_OTHER "^"] [LIT_LBRACE "{"] [LIT_CHARS tree] [LIT_RBRACE "}"]})]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS parent]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS numparent]} {[LIT_CHARS 0]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS object]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS type]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS author]} {[SQ 1151968724 +0200">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS authorname]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS authoremail]} {[SQ ">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS authordate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS committer]} {[SQ 1151968723 +0200">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS committername]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS committeremail]} {[SQ ">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS committerdate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS tag]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS tagger]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS taggername]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS taggeremail]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS taggerdate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS creator]} {[SQ 1151968723 +0200">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS creatordate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS signature]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS contents]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS HEAD]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS refname]} {[LIT_CHARS refs/tags/testtag]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS refname] [LIT_OTHER ":"] [LIT_CHARS short]} {[LIT_CHARS testtag]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS upstream]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS push]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS objecttype]} {[LIT_CHARS tag]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS objectsize]} {[LIT_CHARS 154]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS objectname]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS refs/tags/testtag]})]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS objectname] [LIT_OTHER ":"] [LIT_CHARS short]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS refs/tags/testtag]})]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS tree]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS parent]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS numparent]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS object]} {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS refs/tags/testtag] [LIT_OTHER "^"] [LIT_CHARS 0]})]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS type]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS author]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS authorname]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS authoremail]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS authordate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS committer]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS committername]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS committeremail]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS committerdate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS tag]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS tagger]} {[SQ 1151968725 +0200">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS taggername]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS taggeremail]} {[SQ ">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS taggerdate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS creator]} {[SQ 1151968725 +0200">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS creatordate]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS signature]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS contents]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS tag]} {[LIT_CHARS HEAD]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (FunctionDef test_date [] (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('f', {[VarSub 1]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('committer_date', {[VarSub 2]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('author_date', {[VarSub 3]})]) (AndOr OP_AND_IF (= scope= flags=0 words=[] bindings=[('tagger_date', {[VarSub 4]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "'refs/heads/master' '"][VarSub committer_date][LIT_CHARS "' '"][VarSub author_date][LIT_CHARS "'\n"][LIT_CHARS "'refs/tags/testtag' '"][VarSub tagger_date][LIT_CHARS "'\n"]]} 0), > ) (AndOr OP_AND_IF (Subshell (AndOr OP_AND_IF (Com {[LIT_CHARS git]} {[LIT_CHARS for-each-ref]} {[LIT_CHARS --shell]} {[LIT_CHARS --format] [LIT_OTHER "="] [DQ [LIT_CHARS "%(refname) %(committerdate"][VarSub f test_op=VS_TEST_COLON_PLUS {[LIT_CHARS ":"] [VarSub f]}][LIT_CHARS ") %(authordate"][VarSub f test_op=VS_TEST_COLON_PLUS {[LIT_CHARS ":"] [VarSub f]}][LIT_CHARS ")"]]} {[LIT_CHARS refs/heads]}) (Com {[LIT_CHARS git]} {[LIT_CHARS for-each-ref]} {[LIT_CHARS --shell]} {[LIT_CHARS --format] [LIT_OTHER "="] [DQ [LIT_CHARS "%(refname) %(taggerdate"][VarSub f test_op=VS_TEST_COLON_PLUS {[LIT_CHARS ":"] [VarSub f]}][LIT_CHARS ")"]]} {[LIT_CHARS refs/tags]}) ) ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected]} {[LIT_CHARS actual]}) ) ) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected &&\n"> actual &&\n"> expected &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "refs/heads/master\n"] [LIT_CHARS "refs/remotes/origin/master\n"] [LIT_CHARS "refs/tags/testtag\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "refs/tags/testtag\n"] [LIT_CHARS "refs/remotes/origin/master\n"] [LIT_CHARS "refs/heads/master\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "'refs/heads/master'\n"] [LIT_CHARS "'refs/remotes/origin/master'\n"] [LIT_CHARS "'refs/tags/testtag'\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "\"refs/heads/master\"\n"] [LIT_CHARS "\"refs/remotes/origin/master\"\n"] [LIT_CHARS "\"refs/tags/testtag\"\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (For i [{[DQ [LIT_CHARS "--perl --shell"]]}, {[DQ [LIT_CHARS "-s --python"]]}, {[DQ [LIT_CHARS "--python --tcl"]]}, {[DQ [LIT_CHARS "--tcl --perl"]]}]) (Com {[LIT_CHARS test_expect_success]} {[DQ [LIT_CHARS "more than one quoting style: "][VarSub i]]} {[DQ [LIT_CHARS "\n"][LIT_CHARS "\t\tgit for-each-ref "][VarSub i][LIT_CHARS " 2>&1 | (read line &&\n"][LIT_CHARS "\t\tcase "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "line in\n"][LIT_CHARS "\t\t"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "error: more than one quoting style"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "*) : happy;;\n"][LIT_CHARS "\t\t*) false\n"][LIT_CHARS "\t\tesac)\n"][LIT_CHARS "\t"]]}) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS upstream] [LIT_OTHER ":"] [LIT_CHARS track]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS upstream] [LIT_OTHER ":"] [LIT_CHARS trackshort]} {[SQ ">]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS push] [LIT_OTHER ":"] [LIT_CHARS track]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS head]} {[LIT_CHARS push] [LIT_OTHER ":"] [LIT_CHARS trackshort]} {[SQ ">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ /dev/null &&\n"> /dev/null\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (FunctionDef get_color [] (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --get-color]} {[LIT_CHARS no.such.slot]} {[DQ [VarSub 1]]}) ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS refs/heads/master]})][LIT_CHARS " "][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS green]})][LIT_CHARS master][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS reset]})][LIT_CHARS "\n"][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS refs/remotes/origin/master]})][LIT_CHARS " "][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS green]})][LIT_CHARS origin/master][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS reset]})][LIT_CHARS "\n"][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS refs/tags/testtag]})][LIT_CHARS " "][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS green]})][LIT_CHARS testtag][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS reset]})][LIT_CHARS "\n"][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --short]} {[LIT_CHARS refs/tags/two]})][LIT_CHARS " "][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS green]})][LIT_CHARS two][ComSub (Com {[LIT_CHARS get_color]} {[LIT_CHARS reset]})][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "heads/master\n"] [LIT_CHARS "tags/master\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ one &&\n"> actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "heads/master\n"] [LIT_CHARS "master\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "heads/ambiguous\n"] [LIT_CHARS "ambiguous\n"]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >msg <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/subject-body]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/subject-body]} {[LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/subject-body]} {[LIT_CHARS contents]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ msg <<-\\EOF &&\n"> ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/multiline]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/multiline]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/multiline]} {[LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/multiline]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/multiline]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS signature]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/multiline]} {[LIT_CHARS contents]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS GPG]} {[SQ ]} {[SQ msg <<-\\EOF &&\n"> ]}) (= scope= flags=0 words=[] bindings=[('sig', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('PREREQ', {[LIT_CHARS GPG]})]) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-empty]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-empty]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-empty]} {[LIT_CHARS body]} {[DQ [VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-empty]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-empty]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS signature]} {[DQ [VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-empty]} {[LIT_CHARS contents]} {[DQ [VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-short]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-short]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-short]} {[LIT_CHARS body]} {[DQ [VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-short]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-short]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS signature]} {[DQ [VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-short]} {[LIT_CHARS contents]} {[DQ [LIT_CHARS "subject line\n"][VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-long]} {[LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-long]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS subject]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-long]} {[LIT_CHARS body]} {[DQ [LIT_CHARS "body contents\n"][VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-long]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS body]} {[SQ ]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-long]} {[LIT_CHARS contents] [LIT_OTHER ":"] [LIT_CHARS signature]} {[DQ [VarSub sig]]}) (Com {[LIT_CHARS test_atom]} {[LIT_CHARS refs/tags/signed-long]} {[LIT_CHARS contents]} {[DQ [LIT_CHARS "subject line\n"][LIT_CHARS "\n"][LIT_CHARS "body contents\n"][VarSub sig]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS refs/tags/bogo]})][LIT_CHARS " refs/tags/bogo\n"][ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS refs/tags/master]})][LIT_CHARS " refs/tags/master\n"]]} 0), > ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ actual &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )