(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./gitweb-lib.sh]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS gitweb_config.perl]} >"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "\n"] [LIT_CHARS "$known_snapshot_formats{'tar'} = {\n"] [LIT_CHARS "\t'display' => 'tar',\n"] [LIT_CHARS "\t'type' => 'application/x-tar',\n"] [LIT_CHARS "\t'suffix' => '.tar',\n"] [LIT_CHARS "\t'format' => 'tar',\n"] [LIT_CHARS "};\n"] [LIT_CHARS "\n"] [LIT_CHARS "$feature{'snapshot'}{'default'} = ['tar'];\n"]} 0), > ) (FunctionDef check_snapshot [] (List (= scope= flags=0 words=[] bindings=[('basename', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('prefix', {[VarSub 2 test_op=VS_TEST_COLON_HYPHEN {[DQ [VarSub 1]]}]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "basename="][VarSub basename]]}) (AndOr OP_AND_IF (Com {[LIT_CHARS grep]} {[DQ [LIT_CHARS "filename=.*"][VarSub basename][LIT_CHARS .tar]]} {[LIT_CHARS gitweb.headers]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (AndOr OP_AND_IF (Com {[DQ [VarSub TAR]]} {[LIT_CHARS tf]} {[LIT_CHARS gitweb.body]} < (FilenameRedirectNode filename={[LIT_CHARS file_list]} "> 1), > ) (Pipeline! (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "^"][VarSub prefix][LIT_OTHER "$"]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "^"][VarSub prefix][LIT_CHARS /]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "^pax_global_header"][LIT_OTHER "$"]]} {[LIT_CHARS file_list]}) ) ) ) ) ) (Com {[LIT_CHARS test_expect_success]} {[LIT_CHARS setup]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]}) (Com {[LIT_CHARS test_debug]} {[SQ ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ file &&\n"> foo.git/description &&\n"> foo.bar.git/description &&\n"> foo_baz.git/description &&\n"> foo-forked.git/description\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \\\\.git<\" gitweb.body &&\n"> foo\\\\.git<\" gitweb.body &&\n"> foo_baz\\\\.git<\" gitweb.body &&\n"> foo\\\\.bar\\\\.git<\" gitweb.body &&\n"> foo_baz\\\\.git<\" gitweb.body &&\n"> foo/foo-forked\\\\.git<\" gitweb.body &&\n"> fork of .*<\" gitweb.body\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >gitweb_config.perl <<-\\EOF\n"> ]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \\\\.git<\" gitweb.body &&\n"> foo\\\\.git<\" gitweb.body &&\n"> foo_baz\\\\.git<\" gitweb.body &&\n"> foo\\\\.bar\\\\.git<\" gitweb.body &&\n"> foo_baz\\\\.git<\" gitweb.body &&\n"> foo/foo-forked\\\\.git<\" gitweb.body &&\n"> fork of .*<\" gitweb.body\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ foo/foo-forked\\\\.git<\" gitweb.body &&\n"> fork of foo<\" gitweb.body\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ fork of foo<\" gitweb.body\n">]}) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> actual &&\n"> ]}) (FunctionDef xss [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Checking "][VarSub 1][LIT_CHARS ...]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS gitweb_run]} {[DQ [VarSub 1]]}) (If (Com {[LIT_CHARS grep]} {[DQ [VarSub TAG]]} {[LIT_CHARS gitweb.body]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "xss: "][VarSub TAG][LIT_CHARS " should have been quoted in output"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]}) ) ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]}) ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ \" &&\n"> ]}) (Com {[LIT_CHARS test_done]}) )