1
0
mirror of https://github.com/php/php-src.git synced 2026-04-20 06:21:12 +02:00
Files
archived-php-src/ext/standard/tests/file/popen_pclose_error-win32-debug.phpt
Gabriel Caruso ce1d69a1f6 Use int instead of integer in type errors
PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".
2018-02-04 19:08:23 +01:00

64 lines
1.8 KiB
PHP

--TEST--
Test popen() and pclose function: error conditions
--SKIPIF--
<?php
if(substr(PHP_OS, 0, 3) != 'WIN' && PHP_DEBUG) die("skip Valid only on Windows");
if(!PHP_DEBUG) die("skip Not Valid for release builds");
ob_start();phpinfo(INFO_GENERAL);$inf=ob_get_contents(); ob_end_clean();
if (!(strpos($inf, 'MSVC9') || strpos($inf, 'MSVC8'))) die("skip Not Valid for build done with VC < 8");
?>
--FILE--
<?php
/*
* Prototype: resource popen ( string command, string mode )
* Description: Opens process file pointer.
* Prototype: int pclose ( resource handle );
* Description: Closes process file pointer.
*/
$file_path = dirname(__FILE__);
echo "*** Testing for error conditions ***\n";
var_dump( popen() ); // Zero Arguments
var_dump( popen("abc.txt") ); // Single Argument
var_dump( popen("abc.txt", "rw") ); // Invalid mode Argument
var_dump( pclose() );
$file_handle = fopen($file_path."/popen.tmp", "w");
var_dump( pclose($file_handle, $file_handle) );
pclose($file_handle);
var_dump( pclose(1) );
echo "\n--- Done ---";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
unlink($file_path."/popen.tmp");
?>
--EXPECTF--
*** Testing for error conditions ***
Warning: popen() expects exactly 2 parameters, 0 given in %s on line %d
NULL
Warning: popen() expects exactly 2 parameters, 1 given in %s on line %d
NULL
Warning: Invalid parameter detected in CRT function '_fdopen' (%s:%d) in %s on line %d
Warning: popen(abc.txt,rw): Invalid argument in %s on line %d
bool(false)
Warning: pclose() expects exactly 1 parameter, 0 given in %s on line %d
bool(false)
Warning: pclose() expects exactly 1 parameter, 2 given in %s on line %d
bool(false)
Warning: pclose() expects parameter 1 to be resource, int given in %s on line %d
bool(false)
--- Done ---'abc.txt' is not recognized as an internal or external command,
operable program or batch file.