1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
--TEST--
Test gzopen() function : variation: use include path (relative directories in path)
--SKIPIF--
<?php
if (!extension_loaded("zlib")) {
print "skip - ZLIB extension not loaded";
}
?>
--FILE--
<?php
/* Prototype : resource gzopen(string filename, string mode [, int use_include_path])
* Description: Open a .gz-file and return a .gz-file pointer
* Source code: ext/zlib/zlib.c
* Alias to functions:
*/
echo "*** Testing gzopen() : usage variation ***\n";
$thisTestDir = 'gzopen_variation4.dir';
require_once('reading_include_path.inc');
//define the files to go into these directories, create one in dir2
echo "\n--- testing include path ---\n";
set_include_path($newIncludePath);
$modes = array("r", "r+", "rt");
foreach($modes as $mode) {
test_gzopen($mode);
}
restore_include_path();
// remove the directory structure
chdir($baseDir);
rmdir($workingDir);
foreach($newdirs as $newdir) {
rmdir($newdir);
}
chdir("..");
rmdir($thisTestDir);
function test_gzopen($mode) {
global $scriptFile, $secondFile, $firstFile, $filename;
// create a file in the middle directory
$h = gzopen($secondFile, "w");
gzwrite($h, "This is a file in dir2");
gzclose($h);
echo "\n** testing with mode=$mode **\n";
// should read dir2 file
$h = gzopen($filename, $mode, true);
gzpassthru($h);
gzclose($h);
echo "\n";
//create a file in dir1
$h = gzopen($firstFile, "w");
gzwrite($h, "This is a file in dir1");
gzclose($h);
//should now read dir1 file
$h = gzopen($filename, $mode, true);
gzpassthru($h);
gzclose($h);
echo "\n";
// create a file in working directory
$h = gzopen($filename, "w");
gzwrite($h, "This is a file in working dir");
gzclose($h);
//should still read dir1 file
$h = gzopen($filename, $mode, true);
gzpassthru($h);
gzclose($h);
echo "\n";
unlink($firstFile);
unlink($secondFile);
//should read the file in working dir
$h = gzopen($filename, $mode, true);
gzpassthru($h);
gzclose($h);
echo "\n";
// create a file in the script directory
$h = gzopen($scriptFile, "w");
gzwrite($h, "This is a file in script dir");
gzclose($h);
//should read the file in script dir
$h = gzopen($filename, $mode, true);
gzpassthru($h);
gzclose($h);
echo "\n";
//cleanup
unlink($filename);
unlink($scriptFile);
}
?>
===DONE===
--EXPECTF--
*** Testing gzopen() : usage variation ***
--- testing include path ---
** testing with mode=r **
This is a file in dir2
This is a file in dir1
This is a file in dir1
This is a file in working dir
This is a file in script dir
** testing with mode=r+ **
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzopen(): cannot open a zlib stream for reading and writing at the same time! in %s on line %d
Warning: gzpassthru() expects parameter 1 to be resource, bool given in %s on line %d
Warning: gzclose() expects parameter 1 to be resource, bool given in %s on line %d
** testing with mode=rt **
This is a file in dir2
This is a file in dir1
This is a file in dir1
This is a file in working dir
This is a file in script dir
===DONE===
|