Annotation of embedaddon/php/ext/curl/tests/bug48207.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test curl_setopt() CURLOPT_FILE readonly file handle
                      3: --CREDITS--
                      4: Mark van der Velden
                      5: #testfest Utrecht 2009
                      6: --SKIPIF--
                      7: <?php if (!extension_loaded("curl")) print "skip"; ?>
                      8: --FILE--
                      9: <?php
                     10: /*
                     11:  * Description       : Adds a file which stores the received data from curl_exec();
                     12:  * Source code       : ext/curl/multi.c
                     13:  * Test documentation: http://wiki.php.net/qa/temp/ext/curl
                     14:  */
                     15: 
                     16: // Figure out what handler to use
                     17: $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
                     18: if(!empty($host)) {
                     19: 
                     20:     // Use the set Environment variable
                     21:     $url = "$host/get.php?test=1";
                     22: 
                     23: } else {
                     24: 
                     25:     // Create a temporary file for the test
                     26:     $tempname = tempnam(sys_get_temp_dir(), 'CURL_HANDLE');
                     27:     $url = 'file://'. $tempname;
                     28: 
                     29:     // add the test data to the file
                     30:     file_put_contents($tempname, "Hello World!\nHello World!");
                     31: }
                     32: 
                     33: 
                     34: $tempfile      = tempnam(sys_get_temp_dir(), 'CURL_FILE_HANDLE');
                     35: 
                     36: $ch = curl_init($url);
                     37: $fp = fopen($tempfile, "r"); // Opening 'fubar' with the incorrect readonly flag
                     38: curl_setopt($ch, CURLOPT_FILE, $fp);
                     39: curl_exec($ch);
                     40: curl_close($ch);
                     41: is_file($tempfile) and @unlink($tempfile);
                     42: isset($tempname) and is_file($tempname) and @unlink($tempname);
                     43: ?>
                     44: --EXPECTF--
                     45: Warning: curl_setopt(): the provided file handle is not writable in %s on line %d
                     46: Hello World!
                     47: Hello World!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>