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>