diff options
author | Raghubansh Kumar <kraghuba@php.net> | 2007-06-11 16:14:59 +0000 |
---|---|---|
committer | Raghubansh Kumar <kraghuba@php.net> | 2007-06-11 16:14:59 +0000 |
commit | 648aaf250a9c56442870c1636a5ce2140b9df234 (patch) | |
tree | 578a30b5b61f6c9d2b9d836ca2e14078173c0852 /ext/standard/tests/file/popen_pclose_basic.phpt | |
parent | 38c095a44fe6eb4ba65aaa398ffb9e519bb4f7c8 (diff) | |
download | php-git-648aaf250a9c56442870c1636a5ce2140b9df234.tar.gz |
New tests for file handling system functions
Diffstat (limited to 'ext/standard/tests/file/popen_pclose_basic.phpt')
-rw-r--r-- | ext/standard/tests/file/popen_pclose_basic.phpt | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/ext/standard/tests/file/popen_pclose_basic.phpt b/ext/standard/tests/file/popen_pclose_basic.phpt new file mode 100644 index 0000000000..bb6cbd213f --- /dev/null +++ b/ext/standard/tests/file/popen_pclose_basic.phpt @@ -0,0 +1,132 @@ +--TEST-- +Test popen() and pclose function: basic functionality +--SKIPIF-- +<?php +if(substr(PHP_OS, 0, 3) == 'WIN' ) + die("skip Not Valid for Windows"); +?> + +--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__); +require($file_path."/file.inc"); + +echo "*** Testing popen() and pclose() with different processes ***\n"; + +echo "-- Testing popen(): reading from the pipe --\n"; +$dirpath = $file_path."/popen_basic"; +mkdir($dirpath); +touch($dirpath."/popen_basic.tmp"); +define('CMD', "ls $dirpath"); +$file_handle = popen(CMD, 'r'); +fpassthru($file_handle); +pclose($file_handle); + +echo "-- Testing popen(): reading from a file using 'cat' command --\n"; +create_files($dirpath, 1, "text_with_new_line", 0755, 100, "w", "popen_basic", 1, "bytes"); +$filename = $dirpath."/popen_basic1.tmp"; +$command = "cat $filename"; +$file_handle = popen($command, "r"); +$return_value = fpassthru($file_handle); +echo "\n"; +var_dump($return_value); +pclose($file_handle); +delete_files($dirpath, 1); + +echo "*** Testing popen(): writing to the pipe ***\n"; +$arr = array("ggg", "ddd", "aaa", "sss"); +$file_handle = popen("sort", "w"); +$counter = 0; +$newline = "\n"; +foreach($arr as $str) { + fwrite($file_handle, $str); + fwrite($file_handle, $newline); +} +pclose($file_handle); + + +echo "*** Testing for return type of popen() and pclose() functions ***\n"; +$string = "Test String"; +$return_value_popen = popen("echo $string", "r"); +var_dump( is_resource($return_value_popen) ); +fpassthru($return_value_popen); +$return_value_pclose = pclose($return_value_popen); +var_dump( is_int($return_value_pclose) ); + +echo "\n--- Done ---"; +?> +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +$dirpath = $file_path."/popen_basic"; +unlink($dirpath."/popen_basic.tmp"); +unlink($dirpath."/popen_basic1.tmp"); +rmdir($dirpath); +?> + +--EXPECTF-- +*** Testing popen() and pclose() with different processes *** +-- Testing popen(): reading from the pipe -- +popen_basic.tmp +-- Testing popen(): reading from a file using 'cat' command -- +line +line of text +line +line of text +line +line of text +line +line of text +line +line of text +line +line +int(100) +*** Testing popen(): writing to the pipe *** +aaa +ddd +ggg +sss +*** Testing for return type of popen() and pclose() functions *** +bool(true) +Test String +bool(true) + +--- Done --- +--UEXPECTF-- +*** Testing popen() and pclose() with different processes *** +-- Testing popen(): reading from the pipe -- +popen_basic.tmp +-- Testing popen(): reading from a file using 'cat' command -- +line +line of text +line +line of text +line +line of text +line +line of text +line +line of text +line +line +int(100) +*** Testing popen(): writing to the pipe *** +aaa +ddd +ggg +sss +*** Testing for return type of popen() and pclose() functions *** +bool(true) +Test String +bool(true) + +--- Done --- |