tony2001                Tue Apr 17 19:49:26 2007 UTC

  Added files:                 (Branch: PHP_5_2)
    /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.226.2.37.2.24&r2=1.226.2.37.2.25&diff_format=u
Index: php-src/run-tests.php
diff -u php-src/run-tests.php:1.226.2.37.2.24 
php-src/run-tests.php:1.226.2.37.2.25
--- php-src/run-tests.php:1.226.2.37.2.24       Tue Mar 27 20:28:06 2007
+++ php-src/run-tests.php       Tue Apr 17 19:49:26 2007
@@ -23,7 +23,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: run-tests.php,v 1.226.2.37.2.24 2007/03/27 20:28:06 helly Exp $ */
+/* $Id: run-tests.php,v 1.226.2.37.2.25 2007/04/17 19:49:26 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
@@ -398,7 +398,7 @@
                                        $html_output = is_resource($html_file);
                                        break;
                                case '--version':
-                                       echo '$Revision: 1.226.2.37.2.24 
$'."\n";
+                                       echo '$Revision: 1.226.2.37.2.25 
$'."\n";
                                        exit(1);
                                default:
                                        echo "Illegal switch '$switch' 
specified!\n";
@@ -534,7 +534,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">&lt;?php<br />$test&nbsp;</span><span 
style="color: #007700">=&nbsp;</span><span style="color: 
#DD0000">"var"</span><span style="color: #007700">;&nbsp;</span><span 
style="color: #FF8000">//var<br />/*&nbsp;test&nbsp;class&nbsp;*/<br 
/></span><span style="color: #007700">class&nbsp;</span><span style="color: 
#0000BB">test&nbsp;</span><span style="color: #007700">{<br 
/>&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;</span><span style="color: 
#0000BB">$var&nbsp;</span><span style="color: #007700">=&nbsp;array();<br /><br 
/>&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;function&nbsp;</span><span 
style="color: #0000BB">foo</span><span style="color: #007700">(</span><span 
style="color: #0000BB">Test&nbsp;$arg</span><span style="color: 
#007700">)&nbsp;{<br 
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span 
style="color: #DD0000">"hello"</span><span style="color: #007700">;<br 
/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span!
 ><span style="color: #0000BB">var_dump</span><span style="color: 
 >#007700">(</span><span style="color: #0000BB">$this</span><span style="color: 
 >#007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span 
 >style="color: #0000BB">$o&nbsp;</span><span style="color: 
 >#007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">test</span><span 
 >style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;<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

Reply via email to