1--TEST-- 2Test popen() and pclose function: error conditions 3--SKIPIF-- 4<?php 5if( substr(PHP_OS, 0, 3) != 'Sun') 6 die("skip Only valid for Sun Solaris"); 7?> 8--FILE-- 9<?php 10/* 11 * Prototype: resource popen ( string command, string mode ) 12 * Description: Opens process file pointer. 13 14 * Prototype: int pclose ( resource handle ); 15 * Description: Closes process file pointer. 16 */ 17$file_path = __DIR__; 18echo "*** Testing for error conditions ***\n"; 19var_dump( popen() ); // Zero Arguments 20var_dump( popen("abc.txt") ); // Single Argument 21var_dump( popen("abc.txt", "rw") ); // Invalid mode Argument 22var_dump( pclose() ); 23$file_handle = fopen($file_path."/popen.tmp", "w"); 24var_dump( pclose($file_handle, $file_handle) ); 25fclose($file_handle); 26var_dump( pclose(1) ); 27echo "\n--- Done ---"; 28?> 29--CLEAN-- 30<?php 31$file_path = __DIR__; 32unlink($file_path."/popen.tmp"); 33?> 34--EXPECTF-- 35*** Testing for error conditions *** 36 37Warning: Wrong parameter count for popen() in %s on line %d 38NULL 39 40Warning: Wrong parameter count for popen() in %s on line %d 41NULL 42sh: abc.txt: not found 43resource(%d) of type (stream) 44 45Warning: Wrong parameter count for pclose() in %s on line %d 46NULL 47 48Warning: Wrong parameter count for pclose() in %s on line %d 49NULL 50 51Warning: pclose(): supplied argument is not a valid stream resource in %s on line %d 52bool(false) 53 54--- Done --- 55