(List (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub GIT_TEST_HTTPD]]} ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[DQ [LIT_CHARS "Network testing disabled (define GIT_TEST_HTTPD to enable)"]]})]) (Com {[LIT_CHARS test_done]} ) ) ) (= scope= flags=0 words=[] bindings=[('HTTPD_PARA', {[DQ ]})]) (For DEFAULT_HTTPD_PATH [{[SQ ]}, {[SQ ]}]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[DQ [VarSub DEFAULT_HTTPD_PATH]]} ) (Com {[LIT_CHARS break]} ) ) ) (For DEFAULT_HTTPD_MODULE_PATH [{[SQ ]}, {[SQ ]}, {[SQ ]}, {[SQ ]}]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub DEFAULT_HTTPD_MODULE_PATH]]} ) (Com {[LIT_CHARS break]} ) ) ) (Case to_match={[ComSub (Com {[LIT_CHARS uname]})]}, pat_word_list=[[{[LIT_CHARS Darwin]}]] (= scope= flags=0 words=[] bindings=[('HTTPD_PARA', {[DQ [VarSub HTTPD_PARA][LIT_CHARS " -DDarwin"]]})]) ) (= scope= flags=0 words=[] bindings=[('LIB_HTTPD_PATH', {[VarSub LIB_HTTPD_PATH test_op=VS_TEST_HYPHEN {[DQ [VarSub DEFAULT_HTTPD_PATH]]}]})]) (= scope= flags=0 words=[] bindings=[('LIB_HTTPD_PORT', {[VarSub LIB_HTTPD_PORT test_op=VS_TEST_HYPHEN {[LIT_CHARS "'8111'"]}]})]) (= scope= flags=0 words=[] bindings=[('TEST_PATH', {[DQ [VarSub TEST_DIRECTORY]] [LIT_CHARS /lib-httpd]})]) (= scope= flags=0 words=[] bindings=[('HTTPD_ROOT_PATH', {[DQ [VarSub PWD]] [LIT_CHARS /httpd]})]) (= scope= flags=0 words=[] bindings=[('HTTPD_DOCUMENT_ROOT_PATH', {[VarSub HTTPD_ROOT_PATH] [LIT_CHARS /www]})]) (= scope= flags=0 words=[] bindings=[('GIT_VALGRIND', {[VarSub GIT_VALGRIND]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_VALGRIND]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('GIT_VALGRIND_OPTIONS', {[VarSub GIT_VALGRIND_OPTIONS]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_VALGRIND_OPTIONS]}] bindings=[]) (If (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -x]} {[DQ [VarSub LIB_HTTPD_PATH]]} ) ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[DQ [LIT_CHARS "skipping test, no web server found at '"][VarSub LIB_HTTPD_PATH][LIT_CHARS "'"]]})]) (Com {[LIT_CHARS test_done]} ) ) ) (= scope= flags=0 words=[] bindings=[('HTTPD_VERSION', {[ComSub (Pipeline (Com {[VarSub LIB_HTTPD_PATH]} {[LIT_CHARS -v]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -n]} {[SQ ]}) )]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub HTTPD_VERSION]]} ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -z]} {[DQ [VarSub LIB_HTTPD_MODULE_PATH]]} ) (List (If (Pipeline! (Com {[LIT_CHARS test]} {[VarSub HTTPD_VERSION]} {[LIT_CHARS -ge]} {[LIT_CHARS 2]} ) ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[DQ [LIT_CHARS "skipping test, at least Apache version 2 is required"]]})]) (Com {[LIT_CHARS test_done]} ) ) ) (If (Pipeline! (Com {[LIT_CHARS test]} {[LIT_CHARS -d]} {[DQ [VarSub DEFAULT_HTTPD_MODULE_PATH]]} ) ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[DQ [LIT_CHARS "Apache module directory not found. Skipping tests."]]})]) (Com {[LIT_CHARS test_done]} ) ) ) (= scope= flags=0 words=[] bindings=[('LIB_HTTPD_MODULE_PATH', {[DQ [VarSub DEFAULT_HTTPD_MODULE_PATH]]})]) ) ) (ElseTrue) (Com {[LIT_CHARS error]} {[DQ [LIT_CHARS "Could not identify web server at '"][VarSub LIB_HTTPD_PATH][LIT_CHARS "'"]]} ) ) (FunctionDef prepare_httpd [] (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub HTTPD_DOCUMENT_ROOT_PATH]]} ) (Com {[LIT_CHARS cp]} {[DQ [VarSub TEST_PATH]] [LIT_CHARS /passwd]} {[DQ [VarSub HTTPD_ROOT_PATH]]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[DQ [VarSub LIB_HTTPD_MODULE_PATH]]} {[DQ [VarSub HTTPD_ROOT_PATH][LIT_CHARS /modules]]} ) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub LIB_HTTPD_SSL]]} ) (List (= scope= flags=0 words=[] bindings=[('HTTPD_PROTO', {[LIT_CHARS https]})]) (Com {[LIT_CHARS openssl]} {[LIT_CHARS req]} {[LIT_CHARS -config]} {[DQ [VarSub TEST_PATH][LIT_CHARS /ssl.cnf]]} {[LIT_CHARS -new]} {[LIT_CHARS -x509]} {[LIT_CHARS -nodes]} {[LIT_CHARS -out]} {[DQ [VarSub HTTPD_ROOT_PATH][LIT_CHARS /httpd.pem]]} {[LIT_CHARS -keyout]} {[DQ [VarSub HTTPD_ROOT_PATH][LIT_CHARS /httpd.pem]]} more_env=[('RANDFILE_PATH', {[DQ [VarSub HTTPD_ROOT_PATH]] [LIT_CHARS /.rnd]})] ) (= scope= flags=0 words=[] bindings=[('GIT_SSL_NO_VERIFY', {[LIT_CHARS t]})]) (= scope= flags=1 words=[{[LIT_CHARS GIT_SSL_NO_VERIFY]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('HTTPD_PARA', {[DQ [VarSub HTTPD_PARA][LIT_CHARS " -DSSL"]]})]) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('HTTPD_PROTO', {[LIT_CHARS http]})]) ) (= scope= flags=0 words=[] bindings=[('HTTPD_DEST', {[LIT_CHARS 127.0.0.1] [LIT_OTHER ":"] [VarSub LIB_HTTPD_PORT]})]) (= scope= flags=0 words=[] bindings=[('HTTPD_URL', {[VarSub HTTPD_PROTO] [LIT_OTHER ":"] [LIT_CHARS //] [VarSub HTTPD_DEST]})]) (= scope= flags=0 words=[] bindings=[('HTTPD_URL_USER', {[VarSub HTTPD_PROTO] [LIT_OTHER ":"] [LIT_CHARS //user] [LIT_OTHER "%"] [LIT_CHARS 40host] [LIT_OTHER "@"] [VarSub HTTPD_DEST]})]) (= scope= flags=0 words=[] bindings=[('HTTPD_URL_USER_PASS', {[VarSub HTTPD_PROTO] [LIT_OTHER ":"] [LIT_CHARS //user] [LIT_OTHER "%"] [LIT_CHARS 40host] [LIT_OTHER ":"] [LIT_CHARS user] [LIT_OTHER "%"] [LIT_CHARS 40host] [LIT_OTHER "@"] [VarSub HTTPD_DEST]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub LIB_HTTPD_DAV]]} {[LIT_CHARS -o]} {[LIT_CHARS -n]} {[DQ [VarSub LIB_HTTPD_SVN]]} ) (List (= scope= flags=0 words=[] bindings=[('HTTPD_PARA', {[DQ [VarSub HTTPD_PARA][LIT_CHARS " -DDAV"]]})]) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub LIB_HTTPD_SVN]]} ) (List (= scope= flags=0 words=[] bindings=[('HTTPD_PARA', {[DQ [VarSub HTTPD_PARA][LIT_CHARS " -DSVN"]]})]) (= scope= flags=0 words=[] bindings=[('rawsvnrepo', {[DQ [VarSub HTTPD_ROOT_PATH][LIT_CHARS /svnrepo]]})]) (= scope= flags=0 words=[] bindings=[('svnrepo', {[DQ [LIT_CHARS "http://127.0.0.1:"][VarSub LIB_HTTPD_PORT][LIT_CHARS /svn]]})]) ) ) ) ) ) ) (FunctionDef start_httpd [] (List (Com {[LIT_CHARS prepare_httpd]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} &"> 1), (DescriptorRedirectNode target={[LIT_CHARS 4]} &"> 2), > ) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS EXIT]} ) (Com {[DQ [VarSub LIB_HTTPD_PATH]]} {[LIT_CHARS -d]} {[DQ [VarSub HTTPD_ROOT_PATH]]} {[LIT_CHARS -f]} {[DQ [VarSub TEST_PATH][LIT_CHARS /apache.conf]]} {[VarSub HTTPD_PARA]} {[LIT_CHARS -c]} {[DQ [LIT_CHARS "Listen 127.0.0.1:"][VarSub LIB_HTTPD_PORT]]} {[LIT_CHARS -k]} {[LIT_CHARS start]} < (DescriptorRedirectNode target={[LIT_CHARS 3]} &"> 1), (DescriptorRedirectNode target={[LIT_CHARS 4]} &"> 2), > ) (If (Com {[LIT_CHARS test]} {[VarSub ?]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} ) (List (= scope= flags=0 words=[] bindings=[('skip_all', {[DQ [LIT_CHARS "skipping test, web server setup failed"]]})]) (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS EXIT]} ) (Com {[LIT_CHARS test_done]} ) ) ) ) ) (FunctionDef stop_httpd [] (List (Com {[LIT_CHARS trap]} {[SQ ]} {[LIT_CHARS EXIT]} ) (Com {[DQ [VarSub LIB_HTTPD_PATH]]} {[LIT_CHARS -d]} {[DQ [VarSub HTTPD_ROOT_PATH]]} {[LIT_CHARS -f]} {[DQ [VarSub TEST_PATH][LIT_CHARS /apache.conf]]} {[VarSub HTTPD_PARA]} {[LIT_CHARS -k]} {[LIT_CHARS stop]} ) ) ) (FunctionDef test_http_push_nonff [] (List (= scope= flags=0 words=[] bindings=[('REMOTE_REPO', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('LOCAL_REPO', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('BRANCH', {[VarSub 3]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ path2 &&\n"> output 2>&1 &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ $BRANCH (non-fast-forward)$\" output\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) ) ) (FunctionDef setup_askpass_helper [] (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ >\"$TRASH_DIRECTORY/askpass-query\" \"askpass: $*\" &&\n"> ]} ) ) (FunctionDef set_askpass [] (AndOr OP_AND_IF (Com < (FilenameRedirectNode filename={[DQ [VarSub TRASH_DIRECTORY][LIT_CHARS /askpass-query]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub *]]} < (FilenameRedirectNode filename={[DQ [VarSub TRASH_DIRECTORY][LIT_CHARS /askpass-response]]} "> 1), > ) ) ) (FunctionDef expect_askpass [] (List (= scope= flags=0 words=[] bindings=[('dest', {[VarSub HTTPD_DEST]})]) (AndOr OP_AND_IF (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS none]}], [{[LIT_CHARS pass]}], [{[LIT_CHARS both]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "askpass: Password for 'http://"][VarSub 2][LIT_CHARS "@"][VarSub dest][LIT_CHARS "': "]]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "askpass: Username for 'http://"][VarSub dest][LIT_CHARS "': "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "askpass: Password for 'http://"][VarSub 2][LIT_CHARS "@"][VarSub dest][LIT_CHARS "': "]]} ) ) (Com {[LIT_CHARS false]} ) ) (Com {[LIT_CHARS test_cmp]} {[DQ [VarSub TRASH_DIRECTORY][LIT_CHARS /askpass-expect]]} {[DQ [VarSub TRASH_DIRECTORY][LIT_CHARS /askpass-query]]} ) ) ) ) )