(List (FunctionDef gitweb_init [] (List (= scope= flags=0 words=[] bindings=[('safe_pwd', {[DQ [ComSub (Com {[LIT_CHARS perl]} {[LIT_CHARS -MPOSIX] [LIT_DBRACKET_LIKE "="] [LIT_CHARS getcwd]} {[LIT_CHARS -e]} {[SQ ]})]]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS gitweb_config.perl]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "#!/usr/bin/perl\n"][LIT_CHARS "\n"][LIT_CHARS "# gitweb configuration for tests\n"][LIT_CHARS "\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "version = 'current';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "GIT = 'git';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "projectroot = "][RIGHT_D_QUOTE "\""][VarSub safe_pwd][RIGHT_D_QUOTE "\""][LIT_CHARS ";\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "project_maxdepth = 8;\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "home_link_str = 'projects';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "site_name = '[localhost]';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "site_html_head_string = '';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "site_header = '';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "site_footer = '';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "home_text = 'indextext.html';\n"][LIT_CHARS "our @stylesheets = ('file:///"][VarSub GIT_BUILD_DIR][LIT_CHARS "/gitweb/static/gitweb.css');\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "logo = 'file:///"][VarSub GIT_BUILD_DIR][LIT_CHARS "/gitweb/static/git-logo.png';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "favicon = 'file:///"][VarSub GIT_BUILD_DIR][LIT_CHARS "/gitweb/static/git-favicon.png';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "projects_list = '';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "export_ok = '';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "strict_export = '';\n"][LIT_CHARS "our "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "maxload = undef;\n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[LIT_CHARS .git/description]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [VarSub 0][LIT_CHARS " test repository\n"]]} 0), > ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub GITWEB_TEST_INSTALLED]]} ) (List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[VarSub GITWEB_TEST_INSTALLED]} ) (= scope= flags=0 words=[] bindings=[('SCRIPT_NAME', {[DQ [VarSub GITWEB_TEST_INSTALLED][LIT_CHARS /gitweb.cgi]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('SCRIPT_NAME', {[DQ [VarSub GITWEB_TEST_INSTALLED]]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -f]} {[DQ [VarSub SCRIPT_NAME]]} ) (Com {[LIT_CHARS error]} {[DQ [LIT_CHARS "Cannot find gitweb at "][VarSub GITWEB_TEST_INSTALLED][LIT_CHARS .]]} ) ) (Com {[LIT_CHARS say]} {[DQ [LIT_CHARS "# Testing "][VarSub SCRIPT_NAME]]} ) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('SCRIPT_NAME', {[DQ [VarSub GIT_BUILD_DIR][LIT_CHARS /gitweb/gitweb.perl]]})]) ) (= scope= flags=1 words=[{[LIT_CHARS SCRIPT_NAME]}] bindings=[]) ) ) (FunctionDef gitweb_run [] (List (= scope= flags=0 words=[] bindings=[('GATEWAY_INTERFACE', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('HTTP_ACCEPT', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('REQUEST_METHOD', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('QUERY_STRING', {[DQ ] [VarSub 1] [DQ ]})]) (= scope= flags=0 words=[] bindings=[('PATH_INFO', {[DQ ] [VarSub 2] [DQ ]})]) (= scope= flags=1 words=[{[LIT_CHARS GATEWAY_INTERFACE]}, {[LIT_CHARS HTTP_ACCEPT]}, {[LIT_CHARS REQUEST_METHOD]}, {[LIT_CHARS QUERY_STRING]}, {[LIT_CHARS PATH_INFO]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('GITWEB_CONFIG', {[ComSub (Com {[LIT_CHARS pwd]})] [LIT_CHARS /gitweb_config.perl]})]) (= scope= flags=1 words=[{[LIT_CHARS GITWEB_CONFIG]}] bindings=[]) (AndOr OP_AND_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS gitweb.log]} ) (AndOr OP_AND_IF (Com {[DQ [VarSub PERL_PATH]]} {[LIT_CHARS --]} {[DQ [VarSub SCRIPT_NAME]]} < (FilenameRedirectNode filename={[LIT_CHARS gitweb.output]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS gitweb.log]} "> 2), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS perl]} {[LIT_CHARS -w]} {[LIT_CHARS -e]} {[SQ gitweb.headers\";\n"> ) {\n"> gitweb.body\";\n"> ) {\n"> ]} {[LIT_CHARS gitweb.output]} ) (If (Com {[LIT_CHARS grep]} {[SQ ]} {[LIT_CHARS gitweb.log]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (AndOr OP_AND_IF (Com {[LIT_CHARS test_debug]} {[SQ &2">]} ) (Com {[LIT_CHARS false]} ) ) (ElseTrue) (Com {[LIT_CHARS true]} ) ) ) ) ) ) ) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (If (Pipeline! (Com {[LIT_CHARS test_have_prereq]} {[LIT_CHARS PERL]} ) ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]} ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS perl]} {[LIT_CHARS -MEncode]} {[LIT_CHARS -e]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]} ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS perl]} {[LIT_CHARS -MCGI]} {[LIT_CHARS -MCGI] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS Util]} {[LIT_CHARS -MCGI] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS Carp]} {[LIT_CHARS -e]} {[LIT_CHARS 0]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[SQ ]})]) (Com {[LIT_CHARS test_done]} ) ) ) (Com {[LIT_CHARS gitweb_init]} ) )