diff options
| author | Raghubansh Kumar <kraghuba@php.net> | 2007-07-09 17:38:33 +0000 |
|---|---|---|
| committer | Raghubansh Kumar <kraghuba@php.net> | 2007-07-09 17:38:33 +0000 |
| commit | f159642284d3e8655d1975da9d6d8ff0e0a2b5cb (patch) | |
| tree | 79a1a440286e3c4cdd3c1c7282ffce6575b14b5a | |
| parent | 539f67ed8fc4af3084a0f7a0aea64f14a6b4d799 (diff) | |
| download | php-git-f159642284d3e8655d1975da9d6d8ff0e0a2b5cb.tar.gz | |
Fix and smaller testcases for mkdir_rmdir_variation.phpt, popen_pclose_error.phpt, readlink_realpath_basic.phpt, readlink_realpath_error.phpt & readlink_realpath_variation.phpt
10 files changed, 2213 insertions, 4 deletions
diff --git a/ext/standard/tests/file/mkdir_rmdir_variation1.phpt b/ext/standard/tests/file/mkdir_rmdir_variation1.phpt new file mode 100644 index 0000000000..4aae722144 --- /dev/null +++ b/ext/standard/tests/file/mkdir_rmdir_variation1.phpt @@ -0,0 +1,1579 @@ +--TEST-- +Test mkdir() and rmdir() functions: usage variations - perms(0000-0777) +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip.. only on LINUX'); +} +// Skip if being run by root (files are always readable, writeable and executable) +$filename = dirname(__FILE__)."/is_readable_root_check.tmp"; +$fp = fopen($filename, 'w'); +fclose($fp); +if(fileowner($filename) == 0) { + unlink ($filename); + die('skip...cannot be run as root\n'); +} + +unlink($filename); +?> +--FILE-- +<?php +/* Prototype: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context]]] ); + Description: Makes directory +*/ + +echo "*** Testing mkdir() and rmdir() for different permissions ***\n"; + +$context = stream_context_create(); + +$file_path = dirname(__FILE__); +$counter = 1; + +for($mode = 0000; $mode <= 0777; $mode++) { + echo "-- Changing mode of directory to $mode --\n"; + var_dump( mkdir("$file_path/mkdir_variation1/", $mode, true) ); + var_dump( rmdir("$file_path/mkdir_variation1/") ); + $counter++; +} + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing mkdir() and rmdir() for different permissions *** +-- Changing mode of directory to 0 -- +bool(true) +bool(true) +-- Changing mode of directory to 1 -- +bool(true) +bool(true) +-- Changing mode of directory to 2 -- +bool(true) +bool(true) +-- Changing mode of directory to 3 -- +bool(true) +bool(true) +-- Changing mode of directory to 4 -- +bool(true) +bool(true) +-- Changing mode of directory to 5 -- +bool(true) +bool(true) +-- Changing mode of directory to 6 -- +bool(true) +bool(true) +-- Changing mode of directory to 7 -- +bool(true) +bool(true) +-- Changing mode of directory to 8 -- +bool(true) +bool(true) +-- Changing mode of directory to 9 -- +bool(true) +bool(true) +-- Changing mode of directory to 10 -- +bool(true) +bool(true) +-- Changing mode of directory to 11 -- +bool(true) +bool(true) +-- Changing mode of directory to 12 -- +bool(true) +bool(true) +-- Changing mode of directory to 13 -- +bool(true) +bool(true) +-- Changing mode of directory to 14 -- +bool(true) +bool(true) +-- Changing mode of directory to 15 -- +bool(true) +bool(true) +-- Changing mode of directory to 16 -- +bool(true) +bool(true) +-- Changing mode of directory to 17 -- +bool(true) +bool(true) +-- Changing mode of directory to 18 -- +bool(true) +bool(true) +-- Changing mode of directory to 19 -- +bool(true) +bool(true) +-- Changing mode of directory to 20 -- +bool(true) +bool(true) +-- Changing mode of directory to 21 -- +bool(true) +bool(true) +-- Changing mode of directory to 22 -- +bool(true) +bool(true) +-- Changing mode of directory to 23 -- +bool(true) +bool(true) +-- Changing mode of directory to 24 -- +bool(true) +bool(true) +-- Changing mode of directory to 25 -- +bool(true) +bool(true) +-- Changing mode of directory to 26 -- +bool(true) +bool(true) +-- Changing mode of directory to 27 -- +bool(true) +bool(true) +-- Changing mode of directory to 28 -- +bool(true) +bool(true) +-- Changing mode of directory to 29 -- +bool(true) +bool(true) +-- Changing mode of directory to 30 -- +bool(true) +bool(true) +-- Changing mode of directory to 31 -- +bool(true) +bool(true) +-- Changing mode of directory to 32 -- +bool(true) +bool(true) +-- Changing mode of directory to 33 -- +bool(true) +bool(true) +-- Changing mode of directory to 34 -- +bool(true) +bool(true) +-- Changing mode of directory to 35 -- +bool(true) +bool(true) +-- Changing mode of directory to 36 -- +bool(true) +bool(true) +-- Changing mode of directory to 37 -- +bool(true) +bool(true) +-- Changing mode of directory to 38 -- +bool(true) +bool(true) +-- Changing mode of directory to 39 -- +bool(true) +bool(true) +-- Changing mode of directory to 40 -- +bool(true) +bool(true) +-- Changing mode of directory to 41 -- +bool(true) +bool(true) +-- Changing mode of directory to 42 -- +bool(true) +bool(true) +-- Changing mode of directory to 43 -- +bool(true) +bool(true) +-- Changing mode of directory to 44 -- +bool(true) +bool(true) +-- Changing mode of directory to 45 -- +bool(true) +bool(true) +-- Changing mode of directory to 46 -- +bool(true) +bool(true) +-- Changing mode of directory to 47 -- +bool(true) +bool(true) +-- Changing mode of directory to 48 -- +bool(true) +bool(true) +-- Changing mode of directory to 49 -- +bool(true) +bool(true) +-- Changing mode of directory to 50 -- +bool(true) +bool(true) +-- Changing mode of directory to 51 -- +bool(true) +bool(true) +-- Changing mode of directory to 52 -- +bool(true) +bool(true) +-- Changing mode of directory to 53 -- +bool(true) +bool(true) +-- Changing mode of directory to 54 -- +bool(true) +bool(true) +-- Changing mode of directory to 55 -- +bool(true) +bool(true) +-- Changing mode of directory to 56 -- +bool(true) +bool(true) +-- Changing mode of directory to 57 -- +bool(true) +bool(true) +-- Changing mode of directory to 58 -- +bool(true) +bool(true) +-- Changing mode of directory to 59 -- +bool(true) +bool(true) +-- Changing mode of directory to 60 -- +bool(true) +bool(true) +-- Changing mode of directory to 61 -- +bool(true) +bool(true) +-- Changing mode of directory to 62 -- +bool(true) +bool(true) +-- Changing mode of directory to 63 -- +bool(true) +bool(true) +-- Changing mode of directory to 64 -- +bool(true) +bool(true) +-- Changing mode of directory to 65 -- +bool(true) +bool(true) +-- Changing mode of directory to 66 -- +bool(true) +bool(true) +-- Changing mode of directory to 67 -- +bool(true) +bool(true) +-- Changing mode of directory to 68 -- +bool(true) +bool(true) +-- Changing mode of directory to 69 -- +bool(true) +bool(true) +-- Changing mode of directory to 70 -- +bool(true) +bool(true) +-- Changing mode of directory to 71 -- +bool(true) +bool(true) +-- Changing mode of directory to 72 -- +bool(true) +bool(true) +-- Changing mode of directory to 73 -- +bool(true) +bool(true) +-- Changing mode of directory to 74 -- +bool(true) +bool(true) +-- Changing mode of directory to 75 -- +bool(true) +bool(true) +-- Changing mode of directory to 76 -- +bool(true) +bool(true) +-- Changing mode of directory to 77 -- +bool(true) +bool(true) +-- Changing mode of directory to 78 -- +bool(true) +bool(true) +-- Changing mode of directory to 79 -- +bool(true) +bool(true) +-- Changing mode of directory to 80 -- +bool(true) +bool(true) +-- Changing mode of directory to 81 -- +bool(true) +bool(true) +-- Changing mode of directory to 82 -- +bool(true) +bool(true) +-- Changing mode of directory to 83 -- +bool(true) +bool(true) +-- Changing mode of directory to 84 -- +bool(true) +bool(true) +-- Changing mode of directory to 85 -- +bool(true) +bool(true) +-- Changing mode of directory to 86 -- +bool(true) +bool(true) +-- Changing mode of directory to 87 -- +bool(true) +bool(true) +-- Changing mode of directory to 88 -- +bool(true) +bool(true) +-- Changing mode of directory to 89 -- +bool(true) +bool(true) +-- Changing mode of directory to 90 -- +bool(true) +bool(true) +-- Changing mode of directory to 91 -- +bool(true) +bool(true) +-- Changing mode of directory to 92 -- +bool(true) +bool(true) +-- Changing mode of directory to 93 -- +bool(true) +bool(true) +-- Changing mode of directory to 94 -- +bool(true) +bool(true) +-- Changing mode of directory to 95 -- +bool(true) +bool(true) +-- Changing mode of directory to 96 -- +bool(true) +bool(true) +-- Changing mode of directory to 97 -- +bool(true) +bool(true) +-- Changing mode of directory to 98 -- +bool(true) +bool(true) +-- Changing mode of directory to 99 -- +bool(true) +bool(true) +-- Changing mode of directory to 100 -- +bool(true) +bool(true) +-- Changing mode of directory to 101 -- +bool(true) +bool(true) +-- Changing mode of directory to 102 -- +bool(true) +bool(true) +-- Changing mode of directory to 103 -- +bool(true) +bool(true) +-- Changing mode of directory to 104 -- +bool(true) +bool(true) +-- Changing mode of directory to 105 -- +bool(true) +bool(true) +-- Changing mode of directory to 106 -- +bool(true) +bool(true) +-- Changing mode of directory to 107 -- +bool(true) +bool(true) +-- Changing mode of directory to 108 -- +bool(true) +bool(true) +-- Changing mode of directory to 109 -- +bool(true) +bool(true) +-- Changing mode of directory to 110 -- +bool(true) +bool(true) +-- Changing mode of directory to 111 -- +bool(true) +bool(true) +-- Changing mode of directory to 112 -- +bool(true) +bool(true) +-- Changing mode of directory to 113 -- +bool(true) +bool(true) +-- Changing mode of directory to 114 -- +bool(true) +bool(true) +-- Changing mode of directory to 115 -- +bool(true) +bool(true) +-- Changing mode of directory to 116 -- +bool(true) +bool(true) +-- Changing mode of directory to 117 -- +bool(true) +bool(true) +-- Changing mode of directory to 118 -- +bool(true) +bool(true) +-- Changing mode of directory to 119 -- +bool(true) +bool(true) +-- Changing mode of directory to 120 -- +bool(true) +bool(true) +-- Changing mode of directory to 121 -- +bool(true) +bool(true) +-- Changing mode of directory to 122 -- +bool(true) +bool(true) +-- Changing mode of directory to 123 -- +bool(true) +bool(true) +-- Changing mode of directory to 124 -- +bool(true) +bool(true) +-- Changing mode of directory to 125 -- +bool(true) +bool(true) +-- Changing mode of directory to 126 -- +bool(true) +bool(true) +-- Changing mode of directory to 127 -- +bool(true) +bool(true) +-- Changing mode of directory to 128 -- +bool(true) +bool(true) +-- Changing mode of directory to 129 -- +bool(true) +bool(true) +-- Changing mode of directory to 130 -- +bool(true) +bool(true) +-- Changing mode of directory to 131 -- +bool(true) +bool(true) +-- Changing mode of directory to 132 -- +bool(true) +bool(true) +-- Changing mode of directory to 133 -- +bool(true) +bool(true) +-- Changing mode of directory to 134 -- +bool(true) +bool(true) +-- Changing mode of directory to 135 -- +bool(true) +bool(true) +-- Changing mode of directory to 136 -- +bool(true) +bool(true) +-- Changing mode of directory to 137 -- +bool(true) +bool(true) +-- Changing mode of directory to 138 -- +bool(true) +bool(true) +-- Changing mode of directory to 139 -- +bool(true) +bool(true) +-- Changing mode of directory to 140 -- +bool(true) +bool(true) +-- Changing mode of directory to 141 -- +bool(true) +bool(true) +-- Changing mode of directory to 142 -- +bool(true) +bool(true) +-- Changing mode of directory to 143 -- +bool(true) +bool(true) +-- Changing mode of directory to 144 -- +bool(true) +bool(true) +-- Changing mode of directory to 145 -- +bool(true) +bool(true) +-- Changing mode of directory to 146 -- +bool(true) +bool(true) +-- Changing mode of directory to 147 -- +bool(true) +bool(true) +-- Changing mode of directory to 148 -- +bool(true) +bool(true) +-- Changing mode of directory to 149 -- +bool(true) +bool(true) +-- Changing mode of directory to 150 -- +bool(true) +bool(true) +-- Changing mode of directory to 151 -- +bool(true) +bool(true) +-- Changing mode of directory to 152 -- +bool(true) +bool(true) +-- Changing mode of directory to 153 -- +bool(true) +bool(true) +-- Changing mode of directory to 154 -- +bool(true) +bool(true) +-- Changing mode of directory to 155 -- +bool(true) +bool(true) +-- Changing mode of directory to 156 -- +bool(true) +bool(true) +-- Changing mode of directory to 157 -- +bool(true) +bool(true) +-- Changing mode of directory to 158 -- +bool(true) +bool(true) +-- Changing mode of directory to 159 -- +bool(true) +bool(true) +-- Changing mode of directory to 160 -- +bool(true) +bool(true) +-- Changing mode of directory to 161 -- +bool(true) +bool(true) +-- Changing mode of directory to 162 -- +bool(true) +bool(true) +-- Changing mode of directory to 163 -- +bool(true) +bool(true) +-- Changing mode of directory to 164 -- +bool(true) +bool(true) +-- Changing mode of directory to 165 -- +bool(true) +bool(true) +-- Changing mode of directory to 166 -- +bool(true) +bool(true) +-- Changing mode of directory to 167 -- +bool(true) +bool(true) +-- Changing mode of directory to 168 -- +bool(true) +bool(true) +-- Changing mode of directory to 169 -- +bool(true) +bool(true) +-- Changing mode of directory to 170 -- +bool(true) +bool(true) +-- Changing mode of directory to 171 -- +bool(true) +bool(true) +-- Changing mode of directory to 172 -- +bool(true) +bool(true) +-- Changing mode of directory to 173 -- +bool(true) +bool(true) +-- Changing mode of directory to 174 -- +bool(true) +bool(true) +-- Changing mode of directory to 175 -- +bool(true) +bool(true) +-- Changing mode of directory to 176 -- +bool(true) +bool(true) +-- Changing mode of directory to 177 -- +bool(true) +bool(true) +-- Changing mode of directory to 178 -- +bool(true) +bool(true) +-- Changing mode of directory to 179 -- +bool(true) +bool(true) +-- Changing mode of directory to 180 -- +bool(true) +bool(true) +-- Changing mode of directory to 181 -- +bool(true) +bool(true) +-- Changing mode of directory to 182 -- +bool(true) +bool(true) +-- Changing mode of directory to 183 -- +bool(true) +bool(true) +-- Changing mode of directory to 184 -- +bool(true) +bool(true) +-- Changing mode of directory to 185 -- +bool(true) +bool(true) +-- Changing mode of directory to 186 -- +bool(true) +bool(true) +-- Changing mode of directory to 187 -- +bool(true) +bool(true) +-- Changing mode of directory to 188 -- +bool(true) +bool(true) +-- Changing mode of directory to 189 -- +bool(true) +bool(true) +-- Changing mode of directory to 190 -- +bool(true) +bool(true) +-- Changing mode of directory to 191 -- +bool(true) +bool(true) +-- Changing mode of directory to 192 -- +bool(true) +bool(true) +-- Changing mode of directory to 193 -- +bool(true) +bool(true) +-- Changing mode of directory to 194 -- +bool(true) +bool(true) +-- Changing mode of directory to 195 -- +bool(true) +bool(true) +-- Changing mode of directory to 196 -- +bool(true) +bool(true) +-- Changing mode of directory to 197 -- +bool(true) +bool(true) +-- Changing mode of directory to 198 -- +bool(true) +bool(true) +-- Changing mode of directory to 199 -- +bool(true) +bool(true) +-- Changing mode of directory to 200 -- +bool(true) +bool(true) +-- Changing mode of directory to 201 -- +bool(true) +bool(true) +-- Changing mode of directory to 202 -- +bool(true) +bool(true) +-- Changing mode of directory to 203 -- +bool(true) +bool(true) +-- Changing mode of directory to 204 -- +bool(true) +bool(true) +-- Changing mode of directory to 205 -- +bool(true) +bool(true) +-- Changing mode of directory to 206 -- +bool(true) +bool(true) +-- Changing mode of directory to 207 -- +bool(true) +bool(true) +-- Changing mode of directory to 208 -- +bool(true) +bool(true) +-- Changing mode of directory to 209 -- +bool(true) +bool(true) +-- Changing mode of directory to 210 -- +bool(true) +bool(true) +-- Changing mode of directory to 211 -- +bool(true) +bool(true) +-- Changing mode of directory to 212 -- +bool(true) +bool(true) +-- Changing mode of directory to 213 -- +bool(true) +bool(true) +-- Changing mode of directory to 214 -- +bool(true) +bool(true) +-- Changing mode of directory to 215 -- +bool(true) +bool(true) +-- Changing mode of directory to 216 -- +bool(true) +bool(true) +-- Changing mode of directory to 217 -- +bool(true) +bool(true) +-- Changing mode of directory to 218 -- +bool(true) +bool(true) +-- Changing mode of directory to 219 -- +bool(true) +bool(true) +-- Changing mode of directory to 220 -- +bool(true) +bool(true) +-- Changing mode of directory to 221 -- +bool(true) +bool(true) +-- Changing mode of directory to 222 -- +bool(true) +bool(true) +-- Changing mode of directory to 223 -- +bool(true) +bool(true) +-- Changing mode of directory to 224 -- +bool(true) +bool(true) +-- Changing mode of directory to 225 -- +bool(true) +bool(true) +-- Changing mode of directory to 226 -- +bool(true) +bool(true) +-- Changing mode of directory to 227 -- +bool(true) +bool(true) +-- Changing mode of directory to 228 -- +bool(true) +bool(true) +-- Changing mode of directory to 229 -- +bool(true) +bool(true) +-- Changing mode of directory to 230 -- +bool(true) +bool(true) +-- Changing mode of directory to 231 -- +bool(true) +bool(true) +-- Changing mode of directory to 232 -- +bool(true) +bool(true) +-- Changing mode of directory to 233 -- +bool(true) +bool(true) +-- Changing mode of directory to 234 -- +bool(true) +bool(true) +-- Changing mode of directory to 235 -- +bool(true) +bool(true) +-- Changing mode of directory to 236 -- +bool(true) +bool(true) +-- Changing mode of directory to 237 -- +bool(true) +bool(true) +-- Changing mode of directory to 238 -- +bool(true) +bool(true) +-- Changing mode of directory to 239 -- +bool(true) +bool(true) +-- Changing mode of directory to 240 -- +bool(true) +bool(true) +-- Changing mode of directory to 241 -- +bool(true) +bool(true) +-- Changing mode of directory to 242 -- +bool(true) +bool(true) +-- Changing mode of directory to 243 -- +bool(true) +bool(true) +-- Changing mode of directory to 244 -- +bool(true) +bool(true) +-- Changing mode of directory to 245 -- +bool(true) +bool(true) +-- Changing mode of directory to 246 -- +bool(true) +bool(true) +-- Changing mode of directory to 247 -- +bool(true) +bool(true) +-- Changing mode of directory to 248 -- +bool(true) +bool(true) +-- Changing mode of directory to 249 -- +bool(true) +bool(true) +-- Changing mode of directory to 250 -- +bool(true) +bool(true) +-- Changing mode of directory to 251 -- +bool(true) +bool(true) +-- Changing mode of directory to 252 -- +bool(true) +bool(true) +-- Changing mode of directory to 253 -- +bool(true) +bool(true) +-- Changing mode of directory to 254 -- +bool(true) +bool(true) +-- Changing mode of directory to 255 -- +bool(true) +bool(true) +-- Changing mode of directory to 256 -- +bool(true) +bool(true) +-- Changing mode of directory to 257 -- +bool(true) +bool(true) +-- Changing mode of directory to 258 -- +bool(true) +bool(true) +-- Changing mode of directory to 259 -- +bool(true) +bool(true) +-- Changing mode of directory to 260 -- +bool(true) +bool(true) +-- Changing mode of directory to 261 -- +bool(true) +bool(true) +-- Changing mode of directory to 262 -- +bool(true) +bool(true) +-- Changing mode of directory to 263 -- +bool(true) +bool(true) +-- Changing mode of directory to 264 -- +bool(true) +bool(true) +-- Changing mode of directory to 265 -- +bool(true) +bool(true) +-- Changing mode of directory to 266 -- +bool(true) +bool(true) +-- Changing mode of directory to 267 -- +bool(true) +bool(true) +-- Changing mode of directory to 268 -- +bool(true) +bool(true) +-- Changing mode of directory to 269 -- +bool(true) +bool(true) +-- Changing mode of directory to 270 -- +bool(true) +bool(true) +-- Changing mode of directory to 271 -- +bool(true) +bool(true) +-- Changing mode of directory to 272 -- +bool(true) +bool(true) +-- Changing mode of directory to 273 -- +bool(true) +bool(true) +-- Changing mode of directory to 274 -- +bool(true) +bool(true) +-- Changing mode of directory to 275 -- +bool(true) +bool(true) +-- Changing mode of directory to 276 -- +bool(true) +bool(true) +-- Changing mode of directory to 277 -- +bool(true) +bool(true) +-- Changing mode of directory to 278 -- +bool(true) +bool(true) +-- Changing mode of directory to 279 -- +bool(true) +bool(true) +-- Changing mode of directory to 280 -- +bool(true) +bool(true) +-- Changing mode of directory to 281 -- +bool(true) +bool(true) +-- Changing mode of directory to 282 -- +bool(true) +bool(true) +-- Changing mode of directory to 283 -- +bool(true) +bool(true) +-- Changing mode of directory to 284 -- +bool(true) +bool(true) +-- Changing mode of directory to 285 -- +bool(true) +bool(true) +-- Changing mode of directory to 286 -- +bool(true) +bool(true) +-- Changing mode of directory to 287 -- +bool(true) +bool(true) +-- Changing mode of directory to 288 -- +bool(true) +bool(true) +-- Changing mode of directory to 289 -- +bool(true) +bool(true) +-- Changing mode of directory to 290 -- +bool(true) +bool(true) +-- Changing mode of directory to 291 -- +bool(true) +bool(true) +-- Changing mode of directory to 292 -- +bool(true) +bool(true) +-- Changing mode of directory to 293 -- +bool(true) +bool(true) +-- Changing mode of directory to 294 -- +bool(true) +bool(true) +-- Changing mode of directory to 295 -- +bool(true) +bool(true) +-- Changing mode of directory to 296 -- +bool(true) +bool(true) +-- Changing mode of directory to 297 -- +bool(true) +bool(true) +-- Changing mode of directory to 298 -- +bool(true) +bool(true) +-- Changing mode of directory to 299 -- +bool(true) +bool(true) +-- Changing mode of directory to 300 -- +bool(true) +bool(true) +-- Changing mode of directory to 301 -- +bool(true) +bool(true) +-- Changing mode of directory to 302 -- +bool(true) +bool(true) +-- Changing mode of directory to 303 -- +bool(true) +bool(true) +-- Changing mode of directory to 304 -- +bool(true) +bool(true) +-- Changing mode of directory to 305 -- +bool(true) +bool(true) +-- Changing mode of directory to 306 -- +bool(true) +bool(true) +-- Changing mode of directory to 307 -- +bool(true) +bool(true) +-- Changing mode of directory to 308 -- +bool(true) +bool(true) +-- Changing mode of directory to 309 -- +bool(true) +bool(true) +-- Changing mode of directory to 310 -- +bool(true) +bool(true) +-- Changing mode of directory to 311 -- +bool(true) +bool(true) +-- Changing mode of directory to 312 -- +bool(true) +bool(true) +-- Changing mode of directory to 313 -- +bool(true) +bool(true) +-- Changing mode of directory to 314 -- +bool(true) +bool(true) +-- Changing mode of directory to 315 -- +bool(true) +bool(true) +-- Changing mode of directory to 316 -- +bool(true) +bool(true) +-- Changing mode of directory to 317 -- +bool(true) +bool(true) +-- Changing mode of directory to 318 -- +bool(true) +bool(true) +-- Changing mode of directory to 319 -- +bool(true) +bool(true) +-- Changing mode of directory to 320 -- +bool(true) +bool(true) +-- Changing mode of directory to 321 -- +bool(true) +bool(true) +-- Changing mode of directory to 322 -- +bool(true) +bool(true) +-- Changing mode of directory to 323 -- +bool(true) +bool(true) +-- Changing mode of directory to 324 -- +bool(true) +bool(true) +-- Changing mode of directory to 325 -- +bool(true) +bool(true) +-- Changing mode of directory to 326 -- +bool(true) +bool(true) +-- Changing mode of directory to 327 -- +bool(true) +bool(true) +-- Changing mode of directory to 328 -- +bool(true) +bool(true) +-- Changing mode of directory to 329 -- +bool(true) +bool(true) +-- Changing mode of directory to 330 -- +bool(true) +bool(true) +-- Changing mode of directory to 331 -- +bool(true) +bool(true) +-- Changing mode of directory to 332 -- +bool(true) +bool(true) +-- Changing mode of directory to 333 -- +bool(true) +bool(true) +-- Changing mode of directory to 334 -- +bool(true) +bool(true) +-- Changing mode of directory to 335 -- +bool(true) +bool(true) +-- Changing mode of directory to 336 -- +bool(true) +bool(true) +-- Changing mode of directory to 337 -- +bool(true) +bool(true) +-- Changing mode of directory to 338 -- +bool(true) +bool(true) +-- Changing mode of directory to 339 -- +bool(true) +bool(true) +-- Changing mode of directory to 340 -- +bool(true) +bool(true) +-- Changing mode of directory to 341 -- +bool(true) +bool(true) +-- Changing mode of directory to 342 -- +bool(true) +bool(true) +-- Changing mode of directory to 343 -- +bool(true) +bool(true) +-- Changing mode of directory to 344 -- +bool(true) +bool(true) +-- Changing mode of directory to 345 -- +bool(true) +bool(true) +-- Changing mode of directory to 346 -- +bool(true) +bool(true) +-- Changing mode of directory to 347 -- +bool(true) +bool(true) +-- Changing mode of directory to 348 -- +bool(true) +bool(true) +-- Changing mode of directory to 349 -- +bool(true) +bool(true) +-- Changing mode of directory to 350 -- +bool(true) +bool(true) +-- Changing mode of directory to 351 -- +bool(true) +bool(true) +-- Changing mode of directory to 352 -- +bool(true) +bool(true) +-- Changing mode of directory to 353 -- +bool(true) +bool(true) +-- Changing mode of directory to 354 -- +bool(true) +bool(true) +-- Changing mode of directory to 355 -- +bool(true) +bool(true) +-- Changing mode of directory to 356 -- +bool(true) +bool(true) +-- Changing mode of directory to 357 -- +bool(true) +bool(true) +-- Changing mode of directory to 358 -- +bool(true) +bool(true) +-- Changing mode of directory to 359 -- +bool(true) +bool(true) +-- Changing mode of directory to 360 -- +bool(true) +bool(true) +-- Changing mode of directory to 361 -- +bool(true) +bool(true) +-- Changing mode of directory to 362 -- +bool(true) +bool(true) +-- Changing mode of directory to 363 -- +bool(true) +bool(true) +-- Changing mode of directory to 364 -- +bool(true) +bool(true) +-- Changing mode of directory to 365 -- +bool(true) +bool(true) +-- Changing mode of directory to 366 -- +bool(true) +bool(true) +-- Changing mode of directory to 367 -- +bool(true) +bool(true) +-- Changing mode of directory to 368 -- +bool(true) +bool(true) +-- Changing mode of directory to 369 -- +bool(true) +bool(true) +-- Changing mode of directory to 370 -- +bool(true) +bool(true) +-- Changing mode of directory to 371 -- +bool(true) +bool(true) +-- Changing mode of directory to 372 -- +bool(true) +bool(true) +-- Changing mode of directory to 373 -- +bool(true) +bool(true) +-- Changing mode of directory to 374 -- +bool(true) +bool(true) +-- Changing mode of directory to 375 -- +bool(true) +bool(true) +-- Changing mode of directory to 376 -- +bool(true) +bool(true) +-- Changing mode of directory to 377 -- +bool(true) +bool(true) +-- Changing mode of directory to 378 -- +bool(true) +bool(true) +-- Changing mode of directory to 379 -- +bool(true) +bool(true) +-- Changing mode of directory to 380 -- +bool(true) +bool(true) +-- Changing mode of directory to 381 -- +bool(true) +bool(true) +-- Changing mode of directory to 382 -- +bool(true) +bool(true) +-- Changing mode of directory to 383 -- +bool(true) +bool(true) +-- Changing mode of directory to 384 -- +bool(true) +bool(true) +-- Changing mode of directory to 385 -- +bool(true) +bool(true) +-- Changing mode of directory to 386 -- +bool(true) +bool(true) +-- Changing mode of directory to 387 -- +bool(true) +bool(true) +-- Changing mode of directory to 388 -- +bool(true) +bool(true) +-- Changing mode of directory to 389 -- +bool(true) +bool(true) +-- Changing mode of directory to 390 -- +bool(true) +bool(true) +-- Changing mode of directory to 391 -- +bool(true) +bool(true) +-- Changing mode of directory to 392 -- +bool(true) +bool(true) +-- Changing mode of directory to 393 -- +bool(true) +bool(true) +-- Changing mode of directory to 394 -- +bool(true) +bool(true) +-- Changing mode of directory to 395 -- +bool(true) +bool(true) +-- Changing mode of directory to 396 -- +bool(true) +bool(true) +-- Changing mode of directory to 397 -- +bool(true) +bool(true) +-- Changing mode of directory to 398 -- +bool(true) +bool(true) +-- Changing mode of directory to 399 -- +bool(true) +bool(true) +-- Changing mode of directory to 400 -- +bool(true) +bool(true) +-- Changing mode of directory to 401 -- +bool(true) +bool(true) +-- Changing mode of directory to 402 -- +bool(true) +bool(true) +-- Changing mode of directory to 403 -- +bool(true) +bool(true) +-- Changing mode of directory to 404 -- +bool(true) +bool(true) +-- Changing mode of directory to 405 -- +bool(true) +bool(true) +-- Changing mode of directory to 406 -- +bool(true) +bool(true) +-- Changing mode of directory to 407 -- +bool(true) +bool(true) +-- Changing mode of directory to 408 -- +bool(true) +bool(true) +-- Changing mode of directory to 409 -- +bool(true) +bool(true) +-- Changing mode of directory to 410 -- +bool(true) +bool(true) +-- Changing mode of directory to 411 -- +bool(true) +bool(true) +-- Changing mode of directory to 412 -- +bool(true) +bool(true) +-- Changing mode of directory to 413 -- +bool(true) +bool(true) +-- Changing mode of directory to 414 -- +bool(true) +bool(true) +-- Changing mode of directory to 415 -- +bool(true) +bool(true) +-- Changing mode of directory to 416 -- +bool(true) +bool(true) +-- Changing mode of directory to 417 -- +bool(true) +bool(true) +-- Changing mode of directory to 418 -- +bool(true) +bool(true) +-- Changing mode of directory to 419 -- +bool(true) +bool(true) +-- Changing mode of directory to 420 -- +bool(true) +bool(true) +-- Changing mode of directory to 421 -- +bool(true) +bool(true) +-- Changing mode of directory to 422 -- +bool(true) +bool(true) +-- Changing mode of directory to 423 -- +bool(true) +bool(true) +-- Changing mode of directory to 424 -- +bool(true) +bool(true) +-- Changing mode of directory to 425 -- +bool(true) +bool(true) +-- Changing mode of directory to 426 -- +bool(true) +bool(true) +-- Changing mode of directory to 427 -- +bool(true) +bool(true) +-- Changing mode of directory to 428 -- +bool(true) +bool(true) +-- Changing mode of directory to 429 -- +bool(true) +bool(true) +-- Changing mode of directory to 430 -- +bool(true) +bool(true) +-- Changing mode of directory to 431 -- +bool(true) +bool(true) +-- Changing mode of directory to 432 -- +bool(true) +bool(true) +-- Changing mode of directory to 433 -- +bool(true) +bool(true) +-- Changing mode of directory to 434 -- +bool(true) +bool(true) +-- Changing mode of directory to 435 -- +bool(true) +bool(true) +-- Changing mode of directory to 436 -- +bool(true) +bool(true) +-- Changing mode of directory to 437 -- +bool(true) +bool(true) +-- Changing mode of directory to 438 -- +bool(true) +bool(true) +-- Changing mode of directory to 439 -- +bool(true) +bool(true) +-- Changing mode of directory to 440 -- +bool(true) +bool(true) +-- Changing mode of directory to 441 -- +bool(true) +bool(true) +-- Changing mode of directory to 442 -- +bool(true) +bool(true) +-- Changing mode of directory to 443 -- +bool(true) +bool(true) +-- Changing mode of directory to 444 -- +bool(true) +bool(true) +-- Changing mode of directory to 445 -- +bool(true) +bool(true) +-- Changing mode of directory to 446 -- +bool(true) +bool(true) +-- Changing mode of directory to 447 -- +bool(true) +bool(true) +-- Changing mode of directory to 448 -- +bool(true) +bool(true) +-- Changing mode of directory to 449 -- +bool(true) +bool(true) +-- Changing mode of directory to 450 -- +bool(true) +bool(true) +-- Changing mode of directory to 451 -- +bool(true) +bool(true) +-- Changing mode of directory to 452 -- +bool(true) +bool(true) +-- Changing mode of directory to 453 -- +bool(true) +bool(true) +-- Changing mode of directory to 454 -- +bool(true) +bool(true) +-- Changing mode of directory to 455 -- +bool(true) +bool(true) +-- Changing mode of directory to 456 -- +bool(true) +bool(true) +-- Changing mode of directory to 457 -- +bool(true) +bool(true) +-- Changing mode of directory to 458 -- +bool(true) +bool(true) +-- Changing mode of directory to 459 -- +bool(true) +bool(true) +-- Changing mode of directory to 460 -- +bool(true) +bool(true) +-- Changing mode of directory to 461 -- +bool(true) +bool(true) +-- Changing mode of directory to 462 -- +bool(true) +bool(true) +-- Changing mode of directory to 463 -- +bool(true) +bool(true) +-- Changing mode of directory to 464 -- +bool(true) +bool(true) +-- Changing mode of directory to 465 -- +bool(true) +bool(true) +-- Changing mode of directory to 466 -- +bool(true) +bool(true) +-- Changing mode of directory to 467 -- +bool(true) +bool(true) +-- Changing mode of directory to 468 -- +bool(true) +bool(true) +-- Changing mode of directory to 469 -- +bool(true) +bool(true) +-- Changing mode of directory to 470 -- +bool(true) +bool(true) +-- Changing mode of directory to 471 -- +bool(true) +bool(true) +-- Changing mode of directory to 472 -- +bool(true) +bool(true) +-- Changing mode of directory to 473 -- +bool(true) +bool(true) +-- Changing mode of directory to 474 -- +bool(true) +bool(true) +-- Changing mode of directory to 475 -- +bool(true) +bool(true) +-- Changing mode of directory to 476 -- +bool(true) +bool(true) +-- Changing mode of directory to 477 -- +bool(true) +bool(true) +-- Changing mode of directory to 478 -- +bool(true) +bool(true) +-- Changing mode of directory to 479 -- +bool(true) +bool(true) +-- Changing mode of directory to 480 -- +bool(true) +bool(true) +-- Changing mode of directory to 481 -- +bool(true) +bool(true) +-- Changing mode of directory to 482 -- +bool(true) +bool(true) +-- Changing mode of directory to 483 -- +bool(true) +bool(true) +-- Changing mode of directory to 484 -- +bool(true) +bool(true) +-- Changing mode of directory to 485 -- +bool(true) +bool(true) +-- Changing mode of directory to 486 -- +bool(true) +bool(true) +-- Changing mode of directory to 487 -- +bool(true) +bool(true) +-- Changing mode of directory to 488 -- +bool(true) +bool(true) +-- Changing mode of directory to 489 -- +bool(true) +bool(true) +-- Changing mode of directory to 490 -- +bool(true) +bool(true) +-- Changing mode of directory to 491 -- +bool(true) +bool(true) +-- Changing mode of directory to 492 -- +bool(true) +bool(true) +-- Changing mode of directory to 493 -- +bool(true) +bool(true) +-- Changing mode of directory to 494 -- +bool(true) +bool(true) +-- Changing mode of directory to 495 -- +bool(true) +bool(true) +-- Changing mode of directory to 496 -- +bool(true) +bool(true) +-- Changing mode of directory to 497 -- +bool(true) +bool(true) +-- Changing mode of directory to 498 -- +bool(true) +bool(true) +-- Changing mode of directory to 499 -- +bool(true) +bool(true) +-- Changing mode of directory to 500 -- +bool(true) +bool(true) +-- Changing mode of directory to 501 -- +bool(true) +bool(true) +-- Changing mode of directory to 502 -- +bool(true) +bool(true) +-- Changing mode of directory to 503 -- +bool(true) +bool(true) +-- Changing mode of directory to 504 -- +bool(true) +bool(true) +-- Changing mode of directory to 505 -- +bool(true) +bool(true) +-- Changing mode of directory to 506 -- +bool(true) +bool(true) +-- Changing mode of directory to 507 -- +bool(true) +bool(true) +-- Changing mode of directory to 508 -- +bool(true) +bool(true) +-- Changing mode of directory to 509 -- +bool(true) +bool(true) +-- Changing mode of directory to 510 -- +bool(true) +bool(true) +-- Changing mode of directory to 511 -- +bool(true) +bool(true) +Done diff --git a/ext/standard/tests/file/mkdir_rmdir_variation2.phpt b/ext/standard/tests/file/mkdir_rmdir_variation2.phpt new file mode 100644 index 0000000000..1bbb60ab73 --- /dev/null +++ b/ext/standard/tests/file/mkdir_rmdir_variation2.phpt @@ -0,0 +1,77 @@ +--TEST-- +Test mkdir() and rmdir() functions: usage variations - misc. +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip.. only on LINUX'); +} +// Skip if being run by root (files are always readable, writeable and executable) +$filename = dirname(__FILE__)."/is_readable_root_check.tmp"; +$fp = fopen($filename, 'w'); +fclose($fp); +if(fileowner($filename) == 0) { + unlink ($filename); + die('skip...cannot be run as root\n'); +} + +unlink($filename); +?> +--FILE-- +<?php +/* Prototype: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context]]] ); + Description: Makes directory +*/ + +$context = stream_context_create(); + +$file_path = dirname(__FILE__); + +echo "\n*** Testing mkdir() and rmdir() by giving stream context as fourth argument ***\n"; +var_dump( mkdir("$file_path/mkdir_variation2/test/", 0777, true, $context) ); +var_dump( rmdir("$file_path/mkdir_variation2/test/", $context) ); + +echo "\n*** Testing rmdir() on a non-empty directory ***\n"; +var_dump( mkdir("$file_path/mkdir_variation2/test/", 0777, true) ); +var_dump( rmdir("$file_path/mkdir_variation2/") ); + +echo "\n*** Testing mkdir() and rmdir() for binary safe functionality ***\n"; +var_dump( mkdir("$file_path/temp".chr(0)."/") ); +var_dump( rmdir("$file_path/temp".chr(0)."/") ); + +echo "\n*** Testing mkdir() with miscelleneous input ***\n"; +/* changing mode of mkdir to prevent creating sub-directory under it */ +var_dump( chmod("$file_path/mkdir_variation2/", 0000) ); +/* creating sub-directory test1 under mkdir, expected: false */ +var_dump( mkdir("$file_path/mkdir_variation2/test1", 0777, true) ); +var_dump( chmod("$file_path/mkdir_variation2/", 0777) ); // chmod to enable removing test1 directory + +echo "Done\n"; +?> +--CLEAN-- +<?php +rmdir(dirname(__FILE__)."/mkdir_variation2/test/"); +rmdir(dirname(__FILE__)."/mkdir_variation2/test1/"); +rmdir(dirname(__FILE__)."/mkdir_variation2/"); +?> +--EXPECTF-- +*** Testing mkdir() and rmdir() by giving stream context as fourth argument *** +bool(true) +bool(true) + +*** Testing rmdir() on a non-empty directory *** +bool(true) + +Warning: rmdir(%s/mkdir_variation2/): %s on line %d +bool(false) + +*** Testing mkdir() and rmdir() for binary safe functionality *** +bool(true) +bool(true) + +*** Testing mkdir() with miscelleneous input *** +bool(true) + +Warning: mkdir(): Permission denied in %s on line %d +bool(false) +bool(true) +Done diff --git a/ext/standard/tests/file/popen_pclose_error-sunos.phpt b/ext/standard/tests/file/popen_pclose_error-sunos.phpt new file mode 100644 index 0000000000..b99bd20112 --- /dev/null +++ b/ext/standard/tests/file/popen_pclose_error-sunos.phpt @@ -0,0 +1,54 @@ +--TEST-- +Test popen() and pclose function: error conditions +--SKIPIF-- +<?php +if( substr(PHP_OS, 0, 3) != 'Sun') + die("skip Only valid for Sun Solaris"); +?> + +--FILE-- +<?php +/* + * Prototype: resource popen ( string command, string mode ) + * Description: Opens process file pointer. + + * Prototype: int pclose ( resource handle ); + * Description: Closes process file pointer. + */ +$file_path = dirname(__FILE__); +echo "*** Testing for error conditions ***\n"; +var_dump( popen() ); // Zero Arguments +var_dump( popen("abc.txt") ); // Single Argument +var_dump( popen("abc.txt", "rw") ); // Invalid mode Argument +var_dump( pclose() ); +$file_handle = fopen($file_path."/popen.tmp", "w"); +var_dump( pclose($file_handle, $file_handle) ); +fclose($file_handle); +var_dump( pclose(1) ); +echo "\n--- Done ---"; +?> +--CLEAN-- +<?php +$file_path = dirname(__FILE__); +unlink($file_path."/popen.tmp"); +?> +--EXPECTF-- +*** Testing for error conditions *** + +Warning: Wrong parameter count for popen() in %s on line %d +NULL + +Warning: Wrong parameter count for popen() in %s on line %d +NULL +resource(%d) of type (stream) +sh: abc.txt: not found +Warning: Wrong parameter count for pclose() in %s on line %d +NULL + +Warning: Wrong parameter count for pclose() in %s on line %d +NULL + +Warning: pclose(): supplied argument is not a valid stream resource in %s on line %d +bool(false) + +--- Done --- diff --git a/ext/standard/tests/file/popen_pclose_error.phpt b/ext/standard/tests/file/popen_pclose_error.phpt index 0642432ad4..ff4d8d234b 100644 --- a/ext/standard/tests/file/popen_pclose_error.phpt +++ b/ext/standard/tests/file/popen_pclose_error.phpt @@ -2,8 +2,8 @@ Test popen() and pclose function: error conditions --SKIPIF-- <?php -if(substr(PHP_OS, 0, 3) == 'WIN' ) - die("skip Not Valid for Windows"); +if(substr(PHP_OS, 0, 3) == 'WIN' || substr(PHP_OS, 0, 3) == 'Sun') + die("skip Not Valid for Windows and Sun Solaris"); ?> --FILE-- @@ -41,7 +41,7 @@ NULL Warning: Wrong parameter count for popen() in %s on line %d NULL -Warning: popen(abc.txt,rw): Invalid argument in %s on line %d +Warning: popen(abc.txt,rw): %s on line %d bool(false) Warning: Wrong parameter count for pclose() in %s on line %d diff --git a/ext/standard/tests/file/readlink_realpath_basic1.phpt b/ext/standard/tests/file/readlink_realpath_basic1.phpt new file mode 100644 index 0000000000..8616f0f6de --- /dev/null +++ b/ext/standard/tests/file/readlink_realpath_basic1.phpt @@ -0,0 +1,118 @@ +--TEST-- +Test readlink() and realpath functions: basic functionality - diff. path notation for links +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip no symlinks on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string readlink ( string $path ); + Description: Returns the target of a symbolic link + + Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +/* creating directories, symbolic links and files */ +$file_path = dirname(__FILE__); +mkdir("$file_path/readlink_realpath_basic1/home/test/", 0777, true); + +$file_handle1 = fopen("$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp", "w"); +$file_handle2 = fopen("$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp", "w"); +$file_handle3 = fopen("$file_path/readlink_realpath_basic1/readlink_realpath_basic1.tmp", "w"); +fclose($file_handle1); +fclose($file_handle2); +fclose($file_handle3); + +symlink("$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp", + "$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1_link.tmp"); +symlink("$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp", + "$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1_link.tmp"); + + +echo "*** Testing readlink() and realpath(): with valid and invalid path ***\n"; +$linknames = array ( + /* linknames resulting in valid paths */ + "$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1_link.tmp", + "$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1_link.tmp", + "$file_path/readlink_realpath_basic1//home/test//../test/./readlink_realpath_basic1_link.tmp", + + // checking for binary safe + b"$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1_link.tmp", + + /* linknames with invalid linkpath */ + "$file_path///readlink_realpath_basic1/home//..//././test//readlink_realpath_basic1_link.tmp", + "$file_path/readlink_realpath_basic1/home/../home/../test/../readlink_realpath_basic1_link.tmp", + "$file_path/readlink_realpath_basic1/..readlink_realpath_basic1_link.tmp", + "$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1_link.tmp/" +); + +$counter = 1; +/* loop through $files to read the linkpath of + the link created from each $file in the above array */ +foreach($linknames as $link) { + echo "\n-- Iteration $counter --\n"; + var_dump( readlink($link) ); + var_dump( realpath($link) ); + $counter++; +} + +echo "Done\n"; +?> +--CLEAN-- +<?php +$name_prefix = dirname(__FILE__)."/readlink_realpath_basic1"; +unlink("$name_prefix/home/test/readlink_realpath_basic1.tmp"); +unlink("$name_prefix/home/readlink_realpath_basic1.tmp"); +unlink("$name_prefix/readlink_realpath_basic1.tmp"); +unlink("$name_prefix/home/test/readlink_realpath_basic1_link.tmp"); +unlink("$name_prefix/home/readlink_realpath_basic1_link.tmp"); +rmdir("$name_prefix/home/test/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing readlink() and realpath(): with valid and invalid path *** + +-- Iteration 1 -- +string(%d) "%s/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp" +string(%d) "%s/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp" + +-- Iteration 2 -- +string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp" +string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp" + +-- Iteration 3 -- +string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp" +string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp" + +-- Iteration 4 -- +string(%d) "%s/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp" +string(%d) "%s/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp" + +-- Iteration 5 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +bool(false) + +-- Iteration 6 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +bool(false) + +-- Iteration 7 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +%s + +-- Iteration 8 -- + +Warning: readlink(): %s in %s on line %d +bool(false) +%s +Done diff --git a/ext/standard/tests/file/readlink_realpath_basic2.phpt b/ext/standard/tests/file/readlink_realpath_basic2.phpt new file mode 100644 index 0000000000..7a9e741ef0 --- /dev/null +++ b/ext/standard/tests/file/readlink_realpath_basic2.phpt @@ -0,0 +1,92 @@ +--TEST-- +Test readlink() and realpath functions: basic functionality - diff. path notation for files +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip no symlinks on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string readlink ( string $path ); + Description: Returns the target of a symbolic link + + Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +/* creating directories, symbolic links and files */ +$file_path = dirname(__FILE__); +mkdir("$file_path/readlink_realpath_basic2/home/test/", 0777, true); + +$file_handle1 = fopen("$file_path/readlink_realpath_basic2/home/test/readlink_realpath_basic2.tmp", "w"); +$file_handle2 = fopen("$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", "w"); +$file_handle3 = fopen("$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp", "w"); +fclose($file_handle1); +fclose($file_handle2); +fclose($file_handle3); + +echo "\n*** Testing realpath() on filenames ***\n"; +$filenames = array ( + /* filenames resulting in valid paths */ + "$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2//home/test//../test/./readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/home//../././readlink_realpath_basic2.tmp", + + // checking for binary safe + b"$file_path/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp", + + /* filenames with invalid path */ + "$file_path///readlink_realpath_basic2/home//..//././test//readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/home/../home/../test/../readlink_realpath_basic2.tmp", + "$file_path/readlink_realpath_basic2/readlink_realpath_basic2.tmp/" +); + +$counter = 1; +/* loop through $files to read the filepath of $file in the above array */ +foreach($filenames as $file) { + echo "\n-- Iteration $counter --\n"; + var_dump( realpath($file) ); + $counter++; +} + +echo "Done\n"; +?> +--CLEAN-- +<?php +$name_prefix = dirname(__FILE__)."/readlink_realpath_basic2"; +unlink("$name_prefix/home/test/readlink_realpath_basic2.tmp"); +unlink("$name_prefix/home/readlink_realpath_basic2.tmp"); +unlink("$name_prefix/readlink_realpath_basic2.tmp"); +rmdir("$name_prefix/home/test/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing realpath() on filenames *** + +-- Iteration 1 -- +string(%d) "%s/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp" + +-- Iteration 2 -- +string(%d) "%s/readlink_realpath_basic2/readlink_realpath_basic2.tmp" + +-- Iteration 3 -- +string(%d) "%s/readlink_realpath_basic2/home/test/readlink_realpath_basic2.tmp" + +-- Iteration 4 -- +string(%d) "%s/readlink_realpath_basic2/readlink_realpath_basic2.tmp" + +-- Iteration 5 -- +string(%d) "%s/readlink_realpath_basic2/home/readlink_realpath_basic2.tmp" + +-- Iteration 6 -- +bool(false) + +-- Iteration 7 -- +bool(false) + +-- Iteration 8 -- +%s +Done diff --git a/ext/standard/tests/file/readlink_realpath_error.phpt b/ext/standard/tests/file/readlink_realpath_error.phpt index df89c1e753..f568601a9f 100644 --- a/ext/standard/tests/file/readlink_realpath_error.phpt +++ b/ext/standard/tests/file/readlink_realpath_error.phpt @@ -69,5 +69,5 @@ Warning: Wrong parameter count for realpath() in %s on line %d NULL *** Testing realpath() on a non-existent file *** -bool(false) +%s Done diff --git a/ext/standard/tests/file/readlink_realpath_variation1.phpt b/ext/standard/tests/file/readlink_realpath_variation1.phpt new file mode 100644 index 0000000000..7a924c77b4 --- /dev/null +++ b/ext/standard/tests/file/readlink_realpath_variation1.phpt @@ -0,0 +1,99 @@ +--TEST-- +Test readlink() and realpath() functions: usage variation - linkname/filename stored in object +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip no symlinks on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string readlink ( string $path ); + Description: Returns the target of a symbolic link + + Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +echo "*** Testing readlink() and realpath() : usage variations ***\n"; +$name_prefix = dirname(__FILE__); +$filename = "$name_prefix/readlink_realpath_variation1/home/tests/link/readlink_realpath_variation1.tmp"; +mkdir("$name_prefix/readlink_realpath_variation1/home/tests/link/", 0777, true); + +echo "\n*** Testing readlink() and realpath() with linkname stored inside a object ***\n"; +// create a temp file +$file_handle = fopen($filename, "w"); +fclose($file_handle); + +// creating object with members as linkname +class object_temp { + public $linkname; + function object_temp($link) { + $this->linkname = $link; + } +} +$obj1 = new object_temp("$name_prefix/readlink_realpath_variation1/../././readlink_realpath_variation1/home/readlink_realpath_variation1_link.tmp"); +$obj2 = new object_temp("$name_prefix/readlink_realpath_variation1/home/../..///readlink_realpath_variation1_link.tmp"); + +echo "\n-- Testing readlink() and realpath() with softlink, linkname stored inside an object --\n"; +// creating the links +var_dump( symlink($filename, $obj1->linkname) ); +var_dump( readlink($obj1->linkname) ); +var_dump( realpath($obj1->linkname) ); +var_dump( symlink($filename, $obj2->linkname) ); +var_dump( readlink($obj2->linkname) ); +var_dump( realpath($obj2->linkname) ); + +// deleting the link +unlink($obj1->linkname); +unlink($obj2->linkname); + +echo "\n-- Testing readlink() and realpath() with hardlink, linkname stored inside an object --\n"; +// creating hard links +var_dump( link($filename, $obj1->linkname) ); +var_dump( readlink($obj1->linkname) ); // invalid because readlink doesn't work with hardlink +var_dump( realpath($obj1->linkname) ); +var_dump( link($filename, $obj2->linkname) ); +var_dump( readlink($obj2->linkname) ); // invalid because readlink doesn't work with hardlink +var_dump( realpath($obj2->linkname) ); + +// delete the links +unlink($obj1->linkname); +unlink($obj2->linkname); + +echo "Done\n"; +?> +--CLEAN-- +<?php +$name_prefix = dirname(__FILE__)."/readlink_realpath_variation1"; +unlink("$name_prefix/home/tests/link/readlink_realpath_variation1.tmp"); +rmdir("$name_prefix/home/tests/link/"); +rmdir("$name_prefix/home/tests/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing readlink() and realpath() : usage variations *** + +*** Testing readlink() and realpath() with linkname stored inside a object *** + +-- Testing readlink() and realpath() with softlink, linkname stored inside an object -- +bool(true) +string(%d) "%s/readlink_realpath_variation1/home/tests/link/readlink_realpath_variation1.tmp" +string(%d) "%s/readlink_realpath_variation1/home/tests/link/readlink_realpath_variation1.tmp" +bool(true) +string(%d) "%s/readlink_realpath_variation1/home/tests/link/readlink_realpath_variation1.tmp" +string(%d) "%s/readlink_realpath_variation1/home/tests/link/readlink_realpath_variation1.tmp" + +-- Testing readlink() and realpath() with hardlink, linkname stored inside an object -- +bool(true) + +Warning: readlink(): Invalid argument in %s on line %d +bool(false) +string(%d) "%s/readlink_realpath_variation1/home/readlink_realpath_variation1_link.tmp" +bool(true) + +Warning: readlink(): Invalid argument in %s on line %d +bool(false) +string(%d) "%s/readlink_realpath_variation1_link.tmp" +Done diff --git a/ext/standard/tests/file/readlink_realpath_variation2.phpt b/ext/standard/tests/file/readlink_realpath_variation2.phpt new file mode 100644 index 0000000000..1485a860d6 --- /dev/null +++ b/ext/standard/tests/file/readlink_realpath_variation2.phpt @@ -0,0 +1,104 @@ +--TEST-- +Test readlink() and realpath() functions: usage variation - linkname/filename stored in array +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip no symlinks on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string readlink ( string $path ); + Description: Returns the target of a symbolic link + + Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +echo "*** Testing readlink() and realpath() : usage variations ***\n"; +$name_prefix = dirname(__FILE__); +// create temp dir +mkdir("$name_prefix/readlink_realpath_variation2/home/tests/link/", 0777, true); +// create the file +$filename = "$name_prefix/readlink_realpath_variation2/home/tests/link/readlink_realpath_variation2.tmp"; +$fp = fopen($filename, "w"); +fclose($fp); + +echo "\n*** Testing readlink() and realpath() with linkname stored in an array ***\n"; +$link_arr = array ( + "$name_prefix////readlink_realpath_variation2/home/tests/link/readlink_realpath_variation2_link.tmp", + "$name_prefix/./readlink_realpath_variation2/home/../home//tests//..//..//..//home//readlink_realpath_variation2_link.tmp/" +); + +echo "\n-- Testing readlink() and realpath() with softlink, linkname stored inside an array --\n"; +// creating the links +var_dump( symlink($filename, $link_arr[0]) ); +var_dump( readlink($link_arr[0]) ); +var_dump( realpath($link_arr[0]) ); +var_dump( symlink($filename, $link_arr[1]) ); +var_dump( readlink($link_arr[1]) ); +var_dump( realpath($link_arr[1]) ); + +// deleting the link +unlink($link_arr[0]); +unlink($link_arr[1]); + +echo "\n-- Testing readlink() and realpath() with hardlink, linkname stored inside an array --\n"; +// creating hard links +var_dump( link($filename, $link_arr[0]) ); +var_dump( readlink($link_arr[0]) ); // invalid because readlink doesn't work with hardlink +var_dump( realpath($link_arr[0]) ); +var_dump( link($filename, $link_arr[1]) ); +var_dump( readlink($link_arr[1]) ); // invalid because readlink doesn't work with hardlink +var_dump( realpath($link_arr[1]) ); + +// delete the links +unlink($link_arr[0]); +unlink($link_arr[1]); + +echo "Done\n"; +?> +--CLEAN-- +<?php +$name_prefix = dirname(__FILE__)."/readlink_realpath_variation2"; +unlink("$name_prefix/home/tests/link/readlink_realpath_variation2.tmp"); +rmdir("$name_prefix/home/tests/link/"); +rmdir("$name_prefix/home/tests/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing readlink() and realpath() : usage variations *** + +*** Testing readlink() and realpath() with linkname stored in an array *** + +-- Testing readlink() and realpath() with softlink, linkname stored inside an array -- +bool(true) +string(%d) "%s/readlink_realpath_variation2/home/tests/link/readlink_realpath_variation2.tmp" +string(%d) "%s/readlink_realpath_variation2/home/tests/link/readlink_realpath_variation2.tmp" + +Warning: symlink(): No such file or directory in %s on line %d +bool(false) + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +bool(false) + +Warning: unlink(%s/./readlink_realpath_variation2/home/../home//tests//..//..//..//home//readlink_realpath_variation2_link.tmp/): No such file or directory in %s on line %d + +-- Testing readlink() and realpath() with hardlink, linkname stored inside an array -- +bool(true) + +Warning: readlink(): Invalid argument in %s on line %d +bool(false) +string(%d) "%s/readlink_realpath_variation2/home/tests/link/readlink_realpath_variation2_link.tmp" + +Warning: link(): No such file or directory in %s on line %d +bool(false) + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +bool(false) + +Warning: unlink(%s/./readlink_realpath_variation2/home/../home//tests//..//..//..//home//readlink_realpath_variation2_link.tmp/): No such file or directory in %s on line %d +Done diff --git a/ext/standard/tests/file/readlink_realpath_variation3.phpt b/ext/standard/tests/file/readlink_realpath_variation3.phpt new file mode 100644 index 0000000000..3a157d9d6e --- /dev/null +++ b/ext/standard/tests/file/readlink_realpath_variation3.phpt @@ -0,0 +1,86 @@ +--TEST-- +Test readlink() and realpath() functions: usage variation - invalid args +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip no symlinks on Windows'); +} +?> +--FILE-- +<?php +/* Prototype: string readlink ( string $path ); + Description: Returns the target of a symbolic link + + Prototype: string realpath ( string $path ); + Description: Returns canonicalized absolute pathname +*/ + +echo "*** Testing readlink() and realpath() : usage variations ***\n"; + +echo "\n*** Testing readlink() and realpath() with linkname as empty string, NULL and single space ***\n"; +$link_string = array ( + /* linkname as spaces */ + " ", + ' ', + + /* empty linkname */ + "", + '', + NULL, + null + ); +for($loop_counter = 0; $loop_counter < count($link_string); $loop_counter++) { + echo "-- Iteration"; + echo $loop_counter + 1; + echo " --\n"; + + var_dump( readlink($link_string[$loop_counter]) ); + var_dump( realpath($link_string[$loop_counter]) ); +} + +echo "Done\n"; +?> +--CLEAN-- +<?php +$name_prefix = dirname(__FILE__)."/readlink_realpath_variation2"; +unlink("$name_prefix/home/tests/link/readlink_realpath_variation2.tmp"); +rmdir("$name_prefix/home/tests/link/"); +rmdir("$name_prefix/home/tests/"); +rmdir("$name_prefix/home/"); +rmdir("$name_prefix/"); +?> +--EXPECTF-- +*** Testing readlink() and realpath() : usage variations *** + +*** Testing readlink() and realpath() with linkname as empty string, NULL and single space *** +-- Iteration1 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +%s +-- Iteration2 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +%s +-- Iteration3 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +string(%d) "%s" +-- Iteration4 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +string(%d) "%s" +-- Iteration5 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +string(%d) "%s" +-- Iteration6 -- + +Warning: readlink(): No such file or directory in %s on line %d +bool(false) +string(%d) "%s" +Done |
