tony2001 Tue Apr 17 19:48:22 2007 UTC Added files: /php-src/sapi/cgi/tests 001.phpt 002.phpt 003.phpt 004.phpt 005.phpt 006.phpt 007.phpt 008.phpt include.inc skipif.inc
Modified files: /php-src run-tests.php Log: add tests for CGI
http://cvs.php.net/viewvc.cgi/php-src/run-tests.php?r1=1.317&r2=1.318&diff_format=u Index: php-src/run-tests.php diff -u php-src/run-tests.php:1.317 php-src/run-tests.php:1.318 --- php-src/run-tests.php:1.317 Thu Apr 12 13:17:14 2007 +++ php-src/run-tests.php Tue Apr 17 19:48:22 2007 @@ -23,7 +23,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: run-tests.php,v 1.317 2007/04/12 13:17:14 tony2001 Exp $ */ +/* $Id: run-tests.php,v 1.318 2007/04/17 19:48:22 tony2001 Exp $ */ /* Sanity check to ensure that pcre extension needed by this script is available. * In the event it is not, print a nice error message indicating that this script will @@ -405,7 +405,7 @@ $html_output = is_resource($html_file); break; case '--version': - echo '$Revision: 1.317 $'."\n"; + echo '$Revision: 1.318 $'."\n"; exit(1); default: echo "Illegal switch specified!\n"; @@ -542,7 +542,7 @@ $ignored_by_ext = 0; sort($exts_to_test); $test_dirs = array(); -$optionals = array('tests', 'ext', 'Zend', 'ZendEngine2', 'sapi/cli'); +$optionals = array('tests', 'ext', 'Zend', 'ZendEngine2', 'sapi/cli', 'sapi/cgi'); foreach($optionals as $dir) { if (@filetype($dir) == 'dir') { $test_dirs[] = $dir; http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/001.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/001.phpt +++ php-src/sapi/cgi/tests/001.phpt --TEST-- version string --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); var_dump(`$php -n -v`); echo "Done\n"; ?> --EXPECTF-- string(%d) "PHP %s (cgi%s (built: %s Copyright (c) 1997-20%s The PHP Group Zend Engine v%s, Copyright (c) 1998-20%s Zend Technologies " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/002.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/002.phpt +++ php-src/sapi/cgi/tests/002.phpt --TEST-- defining INI options with -d --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); $file = dirname(__FILE__)."/002.test.php"; file_put_contents($file, '<?php var_dump(ini_get("max_execution_time")); ?>'); var_dump(`$php -n -d max_execution_time=111 $file`); var_dump(`$php -n -d max_execution_time=500 $file`); var_dump(`$php -n -d max_execution_time=500 -d max_execution_time=555 $file`); file_put_contents($file, '<?php var_dump(ini_get("max_execution_time")); var_dump(ini_get("upload_tmp_dir")); ?>'); var_dump(`$php -n -d upload_tmp_dir=/test/path -d max_execution_time=555 $file`); unlink($file); echo "Done\n"; ?> --EXPECTF-- string(%d) "X-Powered-By: PHP/%s Content-type: text/html string(3) "111" " string(%d) "X-Powered-By: PHP/%s Content-type: text/html string(3) "500" " string(%d) "X-Powered-By: PHP/%s Content-type: text/html string(3) "555" " string(%d) "X-Powered-By: PHP/%s Content-type: text/html string(3) "555" string(10) "/test/path" " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/003.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/003.phpt +++ php-src/sapi/cgi/tests/003.phpt --TEST-- strip comments and whitespace with -w --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); $filename = dirname(__FILE__).'/003.test.php'; $code =' <?php /* some test script */ class test { /* {{{ */ public $var = "test"; //test var #perl style comment private $pri; /* private attr */ function foo(/* void */) { } } /* }}} */ ?> '; file_put_contents($filename, $code); var_dump(`$php -n -w "$filename"`); var_dump(`$php -n -w "wrong"`); var_dump(`echo "<?php /* comment */ class test {\n // comment \n function foo() {} } ?>" | $php -n -w`); @unlink($filename); echo "Done\n"; ?> --EXPECTF-- string(%d) "X-Powered-By: PHP/%s Content-type: text/html <?php class test { public $var = "test"; private $pri; function foo() { } } ?> " string(%d) "Status: 404 X-Powered-By: PHP/%s Content-type: text/html No input file specified. " string(%d) "X-Powered-By: PHP/%s Content-type: text/html <?php class test { function foo() {} } ?> " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/004.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/004.phpt +++ php-src/sapi/cgi/tests/004.phpt --TEST-- execute a file with -f --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); $filename = dirname(__FILE__).'/004.test.php'; $code =' <?php class test { private $pri; } var_dump(test::$pri); ?> '; file_put_contents($filename, $code); var_dump(`$php -n -f "$filename" 2>/dev/null`); var_dump(`$php -n -f "wrong"`); @unlink($filename); echo "Done\n"; ?> --EXPECTF-- string(%d) " <br /> <b>Fatal error</b>: Cannot access private property test::$pri in <b>%s004.test.php</b> on line <b>8</b><br /> " string(25) "No input file specified. " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/005.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/005.phpt +++ php-src/sapi/cgi/tests/005.phpt --TEST-- using invalid combinations of cmdline options --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); var_dump(`$php -n -c -f 'wrong'`); var_dump(`$php -n -a -f 'wrong'`); var_dump(`$php -n -f 'wrong' -a`); echo "Done\n"; ?> --EXPECTF-- string(55) "You cannot use both -n and -c switch. Use -h for help. " string(51) "No input file specified. Interactive mode enabled " string(51) "No input file specified. Interactive mode enabled " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/006.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/006.phpt +++ php-src/sapi/cgi/tests/006.phpt --TEST-- syntax check --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); $filename = dirname(__FILE__)."/006.test.php"; $code = ' <?php $test = "var"; class test { private $var; } echo test::$var; ?> '; file_put_contents($filename, $code); var_dump(`"$php" -n -l "$filename"`); var_dump(`"$php" -n -l some.unknown`); $code = ' <?php class test private $var; } ?> '; file_put_contents($filename, $code); var_dump(`"$php" -n -l "$filename" 2>/dev/null`); @unlink($filename); echo "Done\n"; ?> --EXPECTF-- string(%d) "No syntax errors detected in %s006.test.php " string(%d) "No input file specified. " string(%d) "<br /> <b>Parse error</b>: syntax error, unexpected T_PRIVATE, expecting '{' in <b>%s006.test.php</b> on line <b>5</b><br /> Errors parsing %s006.test.php " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/007.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/007.phpt +++ php-src/sapi/cgi/tests/007.phpt --TEST-- invalid arguments and error messages --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); var_dump(`"$php" -n -f some.php -f some.php`); var_dump(`"$php" -s -w -l`); echo "Done\n"; ?> --EXPECTF-- string(25) "No input file specified. " string(31) "No syntax errors detected in - " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/008.phpt?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/008.phpt +++ php-src/sapi/cgi/tests/008.phpt --TEST-- syntax highlighting --SKIPIF-- <?php include "skipif.inc"; ?> --FILE-- <?php include "include.inc"; $php = get_cgi_path(); reset_env_vars(); $filename = dirname(__FILE__)."/008.test.php"; $code = ' <?php $test = "var"; //var /* test class */ class test { private $var = array(); public static function foo(Test $arg) { echo "hello"; var_dump($this); } } $o = new test; ?> '; file_put_contents($filename, $code); var_dump(`"$php" -n -s "$filename"`); var_dump(`"$php" -n -s "unknown"`); @unlink($filename); echo "Done\n"; ?> --EXPECTF-- string(%d) "X-Powered-By: PHP/%s Content-type: text/html <code><span style="color: #000000"> <br /><span style="color: #0000BB"><?php<br />$test </span><span style="color: #007700">= </span><span style="color: #DD0000">"var"</span><span style="color: #007700">; </span><span style="color: #FF8000">//var<br />/* test class */<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">test </span><span style="color: #007700">{<br /> private </span><span style="color: #0000BB">$var </span><span style="color: #007700">= array();<br /><br /> public static function </span><span style="color: #0000BB">foo</span><span style="color: #007700">(</span><span style="color: #0000BB">Test $arg</span><span style="color: #007700">) {<br /> echo </span><span style="color: #DD0000">"hello"</span><span style="color: #007700">;<br /> </span! ><span style="color: #0000BB">var_dump</span><span style="color: >#007700">(</span><span style="color: #0000BB">$this</span><span style="color: >#007700">);<br /> }<br />}<br /><br /></span><span >style="color: #0000BB">$o </span><span style="color: >#007700">= new </span><span style="color: #0000BB">test</span><span >style="color: #007700">;<br /></span><span style="color: #0000BB">?><br >/></span> </span> </code>" string(%d) "Status: 404 X-Powered-By: PHP/%s Content-type: text/html No input file specified. " Done http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/include.inc?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/include.inc +++ php-src/sapi/cgi/tests/include.inc <?php function get_cgi_path() /* {{{ */ { $php = getenv("TEST_PHP_EXECUTABLE"); $cli = false; $cgi = false; if (file_exists($php) && is_executable($php)) { $version = `$php -v`; if (strstr($version, "(cli)")) { /* that's cli */ $cli = true; } else if (strpos($version, "(cgi")) { /* that's cgi */ return $php; } } if ($cli) { /* trying to guess ... */ $php_path = $php; for ($i = 0; $i < 2; $i++) { $slash_pos = strrpos($php_path, "/"); if ($slash_pos) { $php_path = substr($php_path, 0, $slash_pos); } else { return FALSE; } } if ($php_path && is_dir($php_path) && file_exists($php_path."/cgi/php") && is_executable($php_path."/cgi/php")) { /* gotcha */ return $php_path."/cgi/php"; } return false; } /* uhm? what's that then? */ return false; } /* }}} */ function reset_env_vars() /* {{{ */ { putenv("REDIRECT_STATUS"); putenv("QUERY_STRING"); putenv("PATH_TRANSLATED"); putenv("SCRIPT_FILENAME"); putenv("SERVER_SOFTWARE"); putenv("SERVER_NAME"); putenv("GATEWAY_INTERFACE"); putenv("REQUEST_METHOD"); } /* }}} */ ?> http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/tests/skipif.inc?view=markup&rev=1.1 Index: php-src/sapi/cgi/tests/skipif.inc +++ php-src/sapi/cgi/tests/skipif.inc <?php if (substr(php_sapi_name(), 0, 3) == "cgi") { exit; } if (substr(PHP_OS, 0, 3) == 'WIN') { die ("skip not for Windows"); } include dirname(__FILE__)."/include.inc"; if (!get_cgi_path()) { die("skip CGI not found"); } ?>
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php