diff options
| author | Pierre Joye <pajoye@php.net> | 2008-08-15 19:01:42 +0000 |
|---|---|---|
| committer | Pierre Joye <pajoye@php.net> | 2008-08-15 19:01:42 +0000 |
| commit | 9bdfe83e0c6a8460016bf194d6ec892dfa373c47 (patch) | |
| tree | 46386ce87d579189f1b79d621915003fd985dae2 | |
| parent | e4e8f33716cfff4b2d75419a99de4db037450dd2 (diff) | |
| download | php-git-9bdfe83e0c6a8460016bf194d6ec892dfa373c47.tar.gz | |
-MFH:
- fix test
- add debug build mode (crt outputs callback for invalid parameters)
| -rw-r--r-- | ext/standard/tests/file/popen_pclose_error-win32-debug.phpt | 61 | ||||
| -rw-r--r-- | ext/standard/tests/file/popen_pclose_error-win32.phpt | 4 |
2 files changed, 63 insertions, 2 deletions
diff --git a/ext/standard/tests/file/popen_pclose_error-win32-debug.phpt b/ext/standard/tests/file/popen_pclose_error-win32-debug.phpt new file mode 100644 index 0000000000..2c04f52447 --- /dev/null +++ b/ext/standard/tests/file/popen_pclose_error-win32-debug.phpt @@ -0,0 +1,61 @@ +--TEST-- +Test popen() and pclose function: error conditions + +--SKIPIF-- +<?php +if(substr(PHP_OS, 0, 3) != 'WIN' && PHP_DEBUG)) die("skip Not Valid for Linux"); +if(!PHP_DEBUG) die("skip Not Valid for release builds"); +if (!(strpos('MSVC9', $inf) || strpos('MSVC8', $inf))) 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, integer 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. diff --git a/ext/standard/tests/file/popen_pclose_error-win32.phpt b/ext/standard/tests/file/popen_pclose_error-win32.phpt index 9b6944581c..ad5e67358b 100644 --- a/ext/standard/tests/file/popen_pclose_error-win32.phpt +++ b/ext/standard/tests/file/popen_pclose_error-win32.phpt @@ -3,8 +3,8 @@ Test popen() and pclose function: error conditions --SKIPIF-- <?php -if(substr(PHP_OS, 0, 3) != 'WIN' ) - die("skip Not Valid for Linux"); +if(substr(PHP_OS, 0, 3) != 'WIN') die("skip Not Valid for Linux"); +if(PHP_DEBUG) die("skip Not Valid for debug builds"); ?> --FILE-- |
