felipe Fri Jul 3 00:09:08 2009 UTC Added files: (Branch: PHP_5_3) /php-src/ext/curl/tests bug48207.phpt curl_CURLOPT_READDATA.phpt curl_close_basic.phpt curl_copy_handle_basic_001.phpt curl_copy_handle_basic_002.phpt curl_copy_handle_basic_004.phpt curl_copy_handle_basic_005.phpt curl_copy_handle_basic_006.phpt curl_error_basic.phpt curl_multi_close_basic.phpt curl_multi_getcontent_basic3.phpt curl_multi_getcontent_error1.phpt curl_multi_getcontent_error2.phpt curl_multi_getcontent_error3.phpt curl_multi_getcontent_error4.phpt curl_multi_init_basic.phpt curl_multi_select_basic1.phpt curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt curl_setopt_CURLOPT_READFUNCTION.phpt curl_setopt_array_basic.phpt curl_setopt_basic001.phpt curl_setopt_basic002.phpt curl_setopt_basic003.phpt curl_setopt_basic004.phpt curl_setopt_error.phpt curl_testdata1.txt curl_testdata2.txt curl_write_callback.phpt curl_write_file.phpt curl_write_return.phpt curl_write_stdout.phpt curl_writeheader_callback.phpt
Modified files: /php-src/ext/curl/tests/responder get.php Log: - New tests (DutchUG testfest)
http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/responder/get.php?r1=1.1.2.3&r2=1.1.2.4&diff_format=u Index: php-src/ext/curl/tests/responder/get.php diff -u php-src/ext/curl/tests/responder/get.php:1.1.2.3 php-src/ext/curl/tests/responder/get.php:1.1.2.4 --- php-src/ext/curl/tests/responder/get.php:1.1.2.3 Sat May 16 17:02:24 2009 +++ php-src/ext/curl/tests/responder/get.php Fri Jul 3 00:09:08 2009 @@ -1,5 +1,8 @@ <?php switch($_GET['test']) { + case 'post': + var_dump($_POST); + break; case 'getpost': var_dump($_GET); var_dump($_POST); http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/bug48207.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/bug48207.phpt +++ php-src/ext/curl/tests/bug48207.phpt --TEST-- Test curl_setopt() CURLOPT_FILE readonly file handle --CREDITS-- Mark van der Velden #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php /* * Description : Adds a file which stores the received data from curl_exec(); * Source code : ext/curl/multi.c * Test documentation: http://wiki.php.net/qa/temp/ext/curl */ // Figure out what handler to use if(!empty($_ENV['PHP_CURL_HTTP_REMOTE_SERVER'])) { // Use the set Environment variable $url = $_ENV['PHP_CURL_HTTP_REMOTE_SERVER']; } else { // Create a temporary file for the test $tempname = tempnam(sys_get_temp_dir(), 'CURL_HANDLE'); $url = 'file://'. $tempname; // add the test data to the file file_put_contents($tempname, "Hello World!\nHello World!"); } $tempfile = tempnam(sys_get_temp_dir(), 'CURL_FILE_HANDLE'); $ch = curl_init($url); $fp = fopen($tempfile, "r"); // Opening 'fubar' with the incorrect readonly flag curl_setopt($ch, CURLOPT_FILE, $fp); curl_exec($ch); curl_close($ch); is_file($tempfile) and @unlink($tempfile); isset($tempname) and is_file($tempname) and @unlink($tempfile); ?> --EXPECTF-- Warning: curl_setopt(): the provided file handle is not writable in %s on line %d %S http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_CURLOPT_READDATA.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_CURLOPT_READDATA.phpt +++ php-src/ext/curl/tests/curl_CURLOPT_READDATA.phpt --TEST-- Test CURLOPT_READDATA without a callback function --CREDITS-- Mattijs Hoitink mattijshoit...@gmail.com #Testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl") || empty($_ENV['PHP_CURL_HTTP_REMOTE_SERVER'])) print "skip"; ?> --FILE-- <?php // The URL to POST to $url = $_ENV['PHP_CURL_HTTP_REMOTE_SERVER'] . '/get.php?test=post'; // Create a temporary file to read the data from $tempname = tempnam(sys_get_temp_dir(), 'CURL_DATA'); file_put_contents($tempname, "hello=world&smurf=blue"); ob_start(); $ch = curl_init($url); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_READDATA, fopen($tempname, 'rb')); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Transfer-Encoding: chunked')); if (false === $response = curl_exec($ch)) { echo 'Error #' . curl_errno($ch) . ': ' . curl_error($ch); } else { echo $response; } curl_close($ch); // Clean the temporary file unset($tempname); --EXPECT-- array(2) { ["hello"]=> string(5) "world" ["smurf"]=> string(4) "blue" } http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_close_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_close_basic.phpt +++ php-src/ext/curl/tests/curl_close_basic.phpt --TEST-- curl_close --CREDITS-- Stefan Koopmanschap <ste...@php.net> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php $ch = curl_init(); curl_close($ch); var_dump($ch); --EXPECT-- resource(4) of type (Unknown) http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_copy_handle_basic_001.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_copy_handle_basic_001.phpt +++ php-src/ext/curl/tests/curl_copy_handle_basic_001.phpt --TEST-- Test curl_copy_handle() with simple get --CREDITS-- Rick Buitenman <r...@meritos.nl> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); echo '*** Testing curl copy handle with simple GET ***' . "\n"; $url = "{$host}/get.php?test=getpost&get_param=Hello%20World"; $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use $copy = curl_copy_handle($ch); curl_close($ch); $curl_content = curl_exec($copy); curl_close($copy); var_dump( $curl_content ); ?> ===DONE=== --EXPECTF-- *** Testing curl copy handle with simple GET *** string(106) "array(2) { ["test"]=> string(7) "getpost" ["get_param"]=> string(11) "Hello World" } array(0) { } " ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_copy_handle_basic_002.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_copy_handle_basic_002.phpt +++ php-src/ext/curl/tests/curl_copy_handle_basic_002.phpt --TEST-- Test curl_copy_handle() with simple POST --CREDITS-- Rick Buitenman <r...@meritos.nl> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); echo '*** Testing curl copy handle with simple POST ***' . "\n"; $url = "{$host}/get.php?test=getpost"; $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "Hello=World&Foo=Bar&Person=John%20Doe"); curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use $copy = curl_copy_handle($ch); curl_close($ch); $curl_content = curl_exec($copy); curl_close($copy); var_dump( $curl_content ); ?> ===DONE=== --XFAIL-- This test fails, the copy seems to be missing the CURLOPT_POSTFIELDS after the original is closed --EXPECTF-- *** Testing curl copy handle with simple POST *** string(163) "array(1) { ["test"]=> string(7) "getpost" } array(3) { ["Hello"]=> string(5) "World" ["Foo"]=> string(3) "Bar" ["Person"]=> string(8) "John Doe" } " ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_copy_handle_basic_004.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_copy_handle_basic_004.phpt +++ php-src/ext/curl/tests/curl_copy_handle_basic_004.phpt --TEST-- Test curl_copy_handle() after exec() --CREDITS-- Rick Buitenman <r...@meritos.nl> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); echo '*** Test curl_copy_handle() after exec() ***' . "\n"; $url = "{$host}/get.php?test=getpost&get_param=Hello%20World"; $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use $curl_content = curl_exec($ch); $copy = curl_copy_handle($ch); curl_close($ch); $curl_content_copy = curl_exec($copy); curl_close($copy); var_dump( $curl_content_copy ); ?> ===DONE=== --EXPECTF-- *** Test curl_copy_handle() after exec() *** string(106) "array(2) { ["test"]=> string(7) "getpost" ["get_param"]=> string(11) "Hello World" } array(0) { } " ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_copy_handle_basic_005.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_copy_handle_basic_005.phpt +++ php-src/ext/curl/tests/curl_copy_handle_basic_005.phpt --TEST-- Test curl_copy_handle() after exec() with POST --CREDITS-- Rick Buitenman <r...@meritos.nl> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); echo '*** Test curl_copy_handle() after exec() with POST ***' . "\n"; $url = "{$host}/get.php?test=getpost"; $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "Hello=World&Foo=Bar&Person=John%20Doe"); curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use $curl_content = curl_exec($ch); $copy = curl_copy_handle($ch); curl_close($ch); $curl_content_copy = curl_exec($copy); curl_close($copy); var_dump( $curl_content_copy ); ?> ===DONE=== --XFAIL-- This test fails, the output of the copy seems to be corrupted if the original is closed after exec() --EXPECTF-- *** Test curl_copy_handle() after exec() with POST *** string(163) "array(1) { ["test"]=> string(7) "getpost" } array(3) { ["Hello"]=> string(5) "World" ["Foo"]=> string(3) "Bar" ["Person"]=> string(8) "John Doe" } " ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_copy_handle_basic_006.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_copy_handle_basic_006.phpt +++ php-src/ext/curl/tests/curl_copy_handle_basic_006.phpt --TEST-- Test curl_copy_handle() with User Agent --CREDITS-- Rick Buitenman <r...@meritos.nl> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); echo '*** Testing curl copy handle with User Agent ***' . "\n"; $url = "{$host}/get.php?test=useragent"; $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'cURL phpt'); curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use $copy = curl_copy_handle($ch); curl_close($ch); $curl_content = curl_exec($copy); curl_close($copy); var_dump( $curl_content ); ?> ===DONE=== --EXPECTF-- *** Testing curl copy handle with User Agent *** string(9) "cURL phpt" ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_error_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_error_basic.phpt +++ php-src/ext/curl/tests/curl_error_basic.phpt --TEST-- curl_error() function - basic test for curl_error using a fake url --CREDITS-- Mattijs Hoitink mattijshoit...@gmail.com #Testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php /* * Prototype: string curl_error(resource $ch) * Description: Returns a clear text error message for the last cURL operation. * Source: ext/curl/interface.c * Documentation: http://wiki.php.net/qa/temp/ext/curl */ // Fake URL to trigger an error $url = "fakeURL"; echo "== Testing curl_error with a fake URL ==\n"; // cURL handler $ch = curl_init($url); ob_start(); // start output buffering curl_exec($ch); echo "Error: " . curl_error($ch); curl_close($ch); ?> --EXPECT-- == Testing curl_error with a fake URL == Error: Couldn't resolve host 'fakeURL' http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_close_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_close_basic.phpt +++ php-src/ext/curl/tests/curl_multi_close_basic.phpt --TEST-- curl_multi_close --CREDITS-- Stefan Koopmanschap <ste...@php.net> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php $ch = curl_multi_init(); curl_multi_close($ch); var_dump($ch); --EXPECT-- resource(4) of type (Unknown) http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_getcontent_basic3.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_getcontent_basic3.phpt +++ php-src/ext/curl/tests/curl_multi_getcontent_basic3.phpt --TEST-- Curl_multi_getcontent() basic test with different sources (local file/http) --CREDITS-- Rein Velt (r...@velt.org) #TestFest Utrecht 20090509 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php //CURL_MULTI_GETCONTENT TEST //CREATE RESOURCES $ch1=curl_init(); $ch2=curl_init(); //SET URL AND OTHER OPTIONS curl_setopt($ch1, CURLOPT_URL, "http://php.net/robots.txt"); curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //CREATE MULTIPLE CURL HANDLE $mh=curl_multi_init(); //ADD THE 2 HANDLES curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); //EXECUTE $running=0; do { curl_multi_exec($mh,$running); } while ($running>0); $results1=curl_multi_getcontent($ch1); $results2=curl_multi_getcontent($ch2); //CLOSE curl_multi_remove_handle($mh,$ch1); curl_multi_remove_handle($mh,$ch2); curl_multi_close($mh); echo $results1; echo $results2; ?> --EXPECT-- User-agent: * Disallow: /backend/ Disallow: /distributions/ Disallow: /stats/ Disallow: /source.php Disallow: /search.php Disallow: /mod.php Disallow: /manual/add-note.php CURL2 http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_getcontent_error1.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_getcontent_error1.phpt +++ php-src/ext/curl/tests/curl_multi_getcontent_error1.phpt --TEST-- Curl_multi_getcontent() error test --CREDITS-- Rein Velt (r...@velt.org) #TestFest Utrecht 20090509 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php //CURL_MULTI_GETCONTENT TEST //CREATE RESOURCES $ch1=curl_init(); $ch2=curl_init(); //SET URL AND OTHER OPTIONS curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt"); curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //CREATE MULTIPLE CURL HANDLE $mh=curl_multi_init(); //ADD THE 2 HANDLES curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); //EXECUTE $running=0; do { curl_multi_exec($mh,$running); } while ($running>0); $results1=curl_multi_getcontent(); //no parameter $results2=curl_multi_getcontent($ch2); //CLOSE curl_multi_remove_handle($mh,$ch1); curl_multi_remove_handle($mh,$ch2); curl_multi_close($mh); echo $results1; echo $results2; ?> --EXPECTF-- Warning: curl_multi_getcontent() expects exactly 1 parameter, 0 given in %s on line %d CURL2 http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_getcontent_error2.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_getcontent_error2.phpt +++ php-src/ext/curl/tests/curl_multi_getcontent_error2.phpt --TEST-- Curl_multi_getcontent() error test --CREDITS-- Rein Velt (r...@velt.org) #TestFest Utrecht 20090509 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php //CURL_MULTI_GETCONTENT TEST //CREATE RESOURCES $ch1=curl_init(); $ch2=curl_init(); //SET URL AND OTHER OPTIONS curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt"); curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //CREATE MULTIPLE CURL HANDLE $mh=curl_multi_init(); //ADD THE 2 HANDLES curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); //EXECUTE $running=0; do { curl_multi_exec($mh,$running); } while ($running>0); $results1=curl_multi_getcontent($ch1,$ch2); //no parameter $results2=curl_multi_getcontent($ch2); //CLOSE curl_multi_remove_handle($mh,$ch1); curl_multi_remove_handle($mh,$ch2); curl_multi_close($mh); echo $results1; echo $results2; ?> --EXPECTF-- Warning: curl_multi_getcontent() expects exactly 1 parameter, 2 given in %s on line %d CURL2 http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_getcontent_error3.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_getcontent_error3.phpt +++ php-src/ext/curl/tests/curl_multi_getcontent_error3.phpt --TEST-- Curl_multi_getcontent() error test --CREDITS-- Rein Velt (r...@velt.org) #TestFest Utrecht 20090509 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php //CURL_MULTI_GETCONTENT TEST //CREATE RESOURCES $ch1=curl_init(); $ch2=curl_init(); //SET URL AND OTHER OPTIONS curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt"); curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //CREATE MULTIPLE CURL HANDLE $mh=curl_multi_init(); //ADD THE 2 HANDLES curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); //EXECUTE $running=0; do { curl_multi_exec($mh,$running); } while ($running>0); $ch1="string"; $results1=curl_multi_getcontent($ch1); //incorrect parameter type $results2=curl_multi_getcontent($ch2); //CLOSE //curl_multi_remove_handle($mh,$ch1); curl_multi_remove_handle($mh,$ch2); curl_multi_close($mh); echo $results1; echo $results2; ?> --EXPECTF-- Warning: curl_multi_getcontent() expects parameter 1 to be resource, %unicode_string_optional% given in %s on line %d CURL2 http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_getcontent_error4.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_getcontent_error4.phpt +++ php-src/ext/curl/tests/curl_multi_getcontent_error4.phpt --TEST-- Curl_multi_getcontent() error test with undefined handle --CREDITS-- Rein Velt (r...@velt.org) #TestFest Utrecht 20090509 --SKIPIF-- <?php if (!extension_loaded('curl')) print 'skip'; ?> --FILE-- <?php //CURL_MULTI_GETCONTENT TEST //CREATE RESOURCES //$ch1=undefined; $ch2=curl_init(); //SET URL AND OTHER OPTIONS curl_setopt($ch1, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata1.txt"); curl_setopt($ch2, CURLOPT_URL, "file://".dirname(__FILE__)."/curl_testdata2.txt"); curl_setopt($ch1, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //CREATE MULTIPLE CURL HANDLE $mh=curl_multi_init(); //ADD THE 2 HANDLES curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); //EXECUTE $running=0; do { curl_multi_exec($mh,$running); } while ($running>0); $results1=curl_multi_getcontent($ch1); //incorrect parameter type $results2=curl_multi_getcontent($ch2); //CLOSE //curl_multi_remove_handle($mh,$ch1); curl_multi_remove_handle($mh,$ch2); curl_multi_close($mh); echo $results1; echo $results2; ?> --EXPECTF-- Notice: Undefined variable: ch1 in %s on line %d Warning: curl_setopt() expects parameter 1 to be resource, null given in %s on line %d Notice: Undefined variable: ch1 in %s on line %d Warning: curl_setopt() expects parameter 1 to be resource, null given in %s on line %d Notice: Undefined variable: ch1 in %s on line %d Warning: curl_multi_add_handle() expects parameter 2 to be resource, null given in %s on line %d Notice: Undefined variable: ch1 in %s on line %d Warning: curl_multi_getcontent() expects parameter 1 to be resource, null given in %s on line %d CURL2 http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_init_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_init_basic.phpt +++ php-src/ext/curl/tests/curl_multi_init_basic.phpt --TEST-- Test curl_multi_init() --CREDITS-- Mark van der Velden #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php /* Prototype : resource curl_multi_init(void) * Description : Returns a new cURL multi handle * Source code : ext/curl/multi.c * Test documentation: http://wiki.php.net/qa/temp/ext/curl */ // start testing echo "*** Testing curl_multi_init(void); ***\n"; //create the multiple cURL handle $mh = curl_multi_init(); var_dump($mh); curl_multi_close($mh); var_dump($mh); ?> ===DONE=== --EXPECTF-- *** Testing curl_multi_init(void); *** resource(%d) of type (curl_multi) resource(%d) of type (Unknown) ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_multi_select_basic1.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_multi_select_basic1.phpt +++ php-src/ext/curl/tests/curl_multi_select_basic1.phpt --TEST-- Test curl_multi_select() --CREDITS-- Ivo Jansch <i...@ibuildings.com> #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php /* Prototype : resource curl_multi_select($mh, $timeout=1.0]) * Description : Get all the sockets associated with the cURL extension, which can then be * "selected" * Source code : ? * Test documentation: http://wiki.php.net/qa/temp/ext/curl */ //create the multiple cURL handle $mh = curl_multi_init(); echo curl_multi_select($mh)."\n"; curl_multi_close($mh); ?> --EXPECT-- 0 http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt +++ php-src/ext/curl/tests/curl_setopt_CURLOPT_FOLLOWLOCATION_open_basedir.phpt --TEST-- CURLOPT_FOLLOWLOCATION case check safe_mode and open_basedir --CREDITS-- WHITE new media architects - Dennis --INI-- open_basedir = DIRECTORY_SEPARATOR."tmp"; --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip cURL not loaded"; ?> --FILE-- <?php print (ini_get("OPEN_BASEDIR")); $ch = curl_init(); $succes = curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_close($ch); var_dump($succes); ?> --EXPECTF-- Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when %r(in safe_mode or an )?%ropen_basedir is set in %s.php on line %d bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt +++ php-src/ext/curl/tests/curl_setopt_CURLOPT_READFUNCTION.phpt --TEST-- cURL option CURLOPT_READFUNCTION --CREDITS-- WHITE new media architects - Jeroen Vermeulen #testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip cURL extension not loaded"; ?> --FILE-- <?php function custom_readfunction($oCurl, $hReadHandle, $iMaxOut) { $sData = fread($hReadHandle,$iMaxOut-10); # -10 to have space to add "custom:" if (!empty($sData)) { $sData = "custom:".$sData; } return $sData; } $sFileBase = dirname(__FILE__).DIRECTORY_SEPARATOR.'curl_opt_CURLOPT_READFUNCTION'; $sReadFile = $sFileBase.'_in.tmp'; $sWriteFile = $sFileBase.'_out.tmp'; $sWriteUrl = 'file://'.$sWriteFile; file_put_contents($sReadFile,'contents of tempfile'); $hReadHandle = fopen($sReadFile, 'r'); $oCurl = curl_init(); curl_setopt($oCurl, CURLOPT_URL, $sWriteUrl); curl_setopt($oCurl, CURLOPT_UPLOAD, 1); curl_setopt($oCurl, CURLOPT_READFUNCTION, "custom_readfunction" ); curl_setopt($oCurl, CURLOPT_INFILE, $hReadHandle ); curl_exec($oCurl); curl_close($oCurl); fclose ($hReadHandle); $sOutput = file_get_contents($sWriteFile); var_dump($sOutput); ?> ===DONE=== --CLEAN-- <?php $sFileBase = dirname(__FILE__).DIRECTORY_SEPARATOR.'curl_opt_CURLOPT_READFUNCTION'; $sReadFile = $sFileBase.'_in.tmp'; $sWriteFile = $sFileBase.'_out.tmp'; unlink($sReadFile); unlink($sWriteFile); ?> --EXPECT-- string(27) "custom:contents of tempfile" ===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_array_basic.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_array_basic.phpt +++ php-src/ext/curl/tests/curl_setopt_array_basic.phpt --TEST-- curl_setopt_array() function - tests setting multiple cURL options with curl_setopt_array() --CREDITS-- Mattijs Hoitink mattijshoit...@gmail.com #Testfest Utrecht 2009 --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php /* * Prototype: bool curl_setopt_array(resource $ch, array $options) * Description: Sets multiple options for a cURL session. * Source: ext/curl/interface.c * Documentation: http://wiki.php.net/qa/temp/ext/curl */ // Figure out what handler to use if(!empty($_ENV['PHP_CURL_HTTP_REMOTE_SERVER'])) { // Use the set Environment variable $host = $_ENV['PHP_CURL_HTTP_REMOTE_SERVER']; $url = "{$host}/get.php?test=get"; } else { // Create a temporary file for the test $tempname = tempnam(sys_get_temp_dir(), 'CURL_HANDLE'); $url = 'file://'. $tempname; // add the test data to the file file_put_contents($tempname, "Hello World!\nHello World!"); } // Start the test echo '== Starting test curl_setopt_array($ch, $options); ==' . "\n"; // curl handler $ch = curl_init(); // options for the curl handler $options = array ( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => 1 ); ob_start(); // start output buffering curl_setopt_array($ch, $options); $returnContent = curl_exec($ch); curl_close($ch); var_dump($returnContent); ?> --EXPECT-- == Starting test curl_setopt_array($ch, $options); == string(25) "Hello World! Hello World!" http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_basic001.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_basic001.phpt +++ php-src/ext/curl/tests/curl_setopt_basic001.phpt --TEST-- curl_setopt basic tests. --CREDITS-- Paul Sohier #phptestfest utrecht --INI-- safe_mode=On --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); // start testing echo "*** Testing curl_setopt with CURLOPT_FOLLOWLOCATION in safemode\n"; $url = "{$host}/"; $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $curl_content = curl_exec($ch); curl_close($ch); var_dump( $curl_content ); ?> --EXPECTF-- PHP Warning: Directive 'safe_mode' is deprecated in PHP 5.3 and greater in Unknown on line 0 *** Testing curl_setopt with CURLOPT_FOLLOWLOCATION in safemode Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in %s on line %d bool(false) http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_basic002.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_basic002.phpt +++ php-src/ext/curl/tests/curl_setopt_basic002.phpt --TEST-- curl_setopt basic tests with CURLOPT_STDERR. --CREDITS-- Paul Sohier #phptestfest utrecht --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); // start testing echo "*** Testing curl_setopt with CURLOPT_STDERR\n"; $temp_file = tempnam(sys_get_temp_dir(), ''); $handle = fopen($temp_file, 'w'); $url = "{$host}/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_STDERR, $handle); $curl_content = curl_exec($ch); fclose($handle); var_dump( curl_error($ch) ); var_dump( file_get_contents($temp_file)); @unlink ($temp_file); $handle = fopen($temp_file, 'w'); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_VERBOSE, 1); curl_setopt($ch, CURLOPT_STDERR, $handle); curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use $data = curl_exec($ch); fclose($handle); ob_end_clean(); var_dump(file_get_contents($temp_file)); curl_close($ch); @unlink($temp_file); ?> --EXPECTF-- *** Testing curl_setopt with CURLOPT_STDERR string(%d) "%S" string(%d) "%S" string(%d) "%S" http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_basic003.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_basic003.phpt +++ php-src/ext/curl/tests/curl_setopt_basic003.phpt --TEST-- curl_setopt() call with CURLOPT_HTTPHEADER --CREDITS-- Paul Sohier #phptestfest utrecht --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); // start testing echo "*** curl_setopt() call with CURLOPT_HTTPHEADER\n"; $url = "{$host}/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, 1); $curl_content = curl_exec($ch); curl_close($ch); var_dump( $curl_content ); $ch = curl_init(); ob_start(); // start output buffering curl_setopt($ch, CURLOPT_HTTPHEADER, array()); curl_setopt($ch, CURLOPT_URL, $host); $curl_content = curl_exec($ch); ob_end_clean(); curl_close($ch); var_dump( $curl_content ); ?> --EXPECTF-- *** curl_setopt() call with CURLOPT_HTTPHEADER Warning: curl_setopt(): You must pass either an object or an array with the CURLOPT_HTTPHEADER, CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments in %s on line %d bool(false) bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_basic004.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_basic004.phpt +++ php-src/ext/curl/tests/curl_setopt_basic004.phpt --TEST-- curl_setopt() call with CURLOPT_RETURNTRANSFER --CREDITS-- Paul Sohier #phptestfest utrecht --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); // start testing echo "*** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 1\n"; $url = "{$host}/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); $curl_content = curl_exec($ch); curl_close($ch); var_dump( $curl_content ); echo "*** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 0\n"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_URL, $url); ob_start(); $curl_content = curl_exec($ch); ob_end_clean(); curl_close($ch); var_dump( $curl_content ); ?> --EXPECTF-- *** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 1 string(%d) "%a" *** curl_setopt() call with CURLOPT_RETURNTRANSFER set to 0 bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_setopt_error.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_setopt_error.phpt +++ php-src/ext/curl/tests/curl_setopt_error.phpt --TEST-- curl_setopt() basic parameter test --CREDITS-- Paul Sohier #phptestfest utrecht --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php echo "*** curl_setopt() call with incorrect parameters\n"; $ch = curl_init(); curl_setopt(); curl_setopt(false); curl_setopt($ch); curl_setopt($ch, false); curl_setopt($ch, -1); curl_setopt($ch, ''); curl_setopt($ch, 1, false); curl_setopt(false, false, false); curl_setopt($ch, '', false); curl_setopt($ch, 1, ''); curl_setopt($ch, -1, 0); ?> --EXPECTF-- *** curl_setopt() call with incorrect parameters Warning: curl_setopt() expects exactly 3 parameters, 0 given in %s on line %d Warning: curl_setopt() expects exactly 3 parameters, 1 given in %s on line %d Warning: curl_setopt() expects exactly 3 parameters, 1 given in %s on line %d Warning: curl_setopt() expects exactly 3 parameters, 2 given in %s on line %d Warning: curl_setopt() expects exactly 3 parameters, 2 given in %s on line %d Warning: curl_setopt() expects exactly 3 parameters, 2 given in %s on line %d Warning: curl_setopt() expects parameter 1 to be resource, boolean given in %s on line %d Warning: curl_setopt() expects parameter 2 to be long, %unicode_string_optional% given in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_testdata1.txt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_testdata1.txt +++ php-src/ext/curl/tests/curl_testdata1.txt http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_testdata2.txt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_testdata2.txt +++ php-src/ext/curl/tests/curl_testdata2.txt http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_write_callback.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_write_callback.phpt +++ php-src/ext/curl/tests/curl_write_callback.phpt --TEST-- Test curl option CURLOPT_WRITEFUNCTION --CREDITS-- Mathieu Kooiman <mathi...@gmail.com> Dutch UG, TestFest 2009, Utrecht --DESCRIPTION-- Writes the value 'test' to a temporary file. Use curl to access this file, passing the output into a callback. Tests the PHP_CURL_USER case in curl_write. --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php function curl_callback($curl_handle, $received_data) { echo $received_data; return strlen($received_data); } $log_file = tempnam(sys_get_temp_dir(), 'php-curl-test'); $fp = fopen($log_file, 'w+'); fwrite($fp, "test"); fclose($fp); $ch = curl_init(); curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'curl_callback'); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_exec($ch); curl_close($ch); // cleanup unlink($log_file); ?> --EXPECT-- test http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_write_file.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_write_file.phpt +++ php-src/ext/curl/tests/curl_write_file.phpt --TEST-- Test curl option CURLOPT_FILE --CREDITS-- Mathieu Kooiman <mathi...@gmail.com> Dutch UG, TestFest 2009, Utrecht --DESCRIPTION-- Writes the value 'test' to a temporary file. Use curl to access this file and store the output in another temporary file. Tests the PHP_CURL_FILE case in curl_write(). --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php $test_file = tempnam(sys_get_temp_dir(), 'php-curl-test'); $log_file = tempnam(sys_get_temp_dir(), 'php-curl-test'); $fp = fopen($log_file, 'w+'); fwrite($fp, "test"); fclose($fp); $testfile_fp = fopen($test_file, 'w+'); $ch = curl_init(); curl_setopt($ch, CURLOPT_FILE, $testfile_fp); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_exec($ch); curl_close($ch); fclose($testfile_fp); echo file_get_contents($test_file); // cleanup unlink($test_file); unlink($log_file); ?> --EXPECT-- test http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_write_return.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_write_return.phpt +++ php-src/ext/curl/tests/curl_write_return.phpt --TEST-- Test curl option CURLOPT_RETURNTRANSFER --CREDITS-- Mathieu Kooiman <mathi...@gmail.com> Dutch UG, TestFest 2009, Utrecht --DESCRIPTION-- Writes the value 'test' to a temporary file. Use curl to access this file and have it return the content from curl_exec(). Tests the PHP_CURL_RETURN case of curl_write(). --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php $log_file = tempnam(sys_get_temp_dir(), 'php-curl-test'); $fp = fopen($log_file, 'w+'); fwrite($fp, "test"); fclose($fp); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); $result = curl_exec($ch); curl_close($ch); echo $result; // cleanup unlink($log_file); ?> --EXPECT-- test http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_write_stdout.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_write_stdout.phpt +++ php-src/ext/curl/tests/curl_write_stdout.phpt --TEST-- Test curl option CURLOPT_FILE with STDOUT handle --CREDITS-- Mathieu Kooiman <mathi...@gmail.com> Dutch UG, TestFest 2009, Utrecht --DESCRIPTION-- Writes the value 'test' to a temporary file. Use curl to access this file and store the output in another temporary file. Tests the PHP_CURL_FILE case in curl_write(). --SKIPIF-- <?php if (!extension_loaded("curl")) print "skip"; ?> --FILE-- <?php $log_file = tempnam(sys_get_temp_dir(), 'php-curl-test'); $fp = fopen($log_file, 'w+'); fwrite($fp, "test"); fclose($fp); $ch = curl_init(); curl_setopt($ch, CURLOPT_FILE, STDOUT); curl_setopt($ch, CURLOPT_URL, 'file://' . $log_file); curl_exec($ch); curl_close($ch); // cleanup unlink($log_file); ?> --EXPECT-- test http://cvs.php.net/viewvc.cgi/php-src/ext/curl/tests/curl_writeheader_callback.phpt?view=markup&rev=1.1 Index: php-src/ext/curl/tests/curl_writeheader_callback.phpt +++ php-src/ext/curl/tests/curl_writeheader_callback.phpt --TEST-- Test curl option CURLOPT_HEADERFUNCTION --CREDITS-- Mathieu Kooiman <mathi...@gmail.com> Dutch UG, TestFest 2009, Utrecht --DESCRIPTION-- Hit the host identified by PHP_CURL_HTTP_REMOTE_SERVER and determine that the headers are sent to the callback specified for CURLOPT_HEADERFUNCTION. Different test servers specified for PHP_CURL_HTTP_REMOTE_SERVER might return different sets of headers. Just test for HTTP/1.1 200 OK. --SKIPIF-- <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?> --FILE-- <?php function curl_header_callback($curl_handle, $data) { if (strtolower(substr($data,0, 4)) == 'http') echo $data; } $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER'); $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'curl_header_callback'); curl_setopt($ch, CURLOPT_URL, $host); curl_exec($ch); curl_close($ch); ?> --EXPECT-- HTTP/1.1 200 OK
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php