Annotation of embedaddon/php/ext/standard/tests/file/readlink_realpath_basic1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test readlink() and realpath functions: basic functionality - diff. path notation for links(Bug #42038)
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) == 'WIN') {
6: die('skip no symlinks on Windows');
7: }
8: ?>
9: --FILE--
10: <?php
11: /* Prototype: string readlink ( string $path );
12: Description: Returns the target of a symbolic link
13:
14: Prototype: string realpath ( string $path );
15: Description: Returns canonicalized absolute pathname
16: */
17:
18: /* creating directories, symbolic links and files */
19: $file_path = dirname(__FILE__);
20: mkdir("$file_path/readlink_realpath_basic1/home/test/", 0777, true);
21:
22: $file_handle1 = fopen("$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp", "w");
23: $file_handle2 = fopen("$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp", "w");
24: $file_handle3 = fopen("$file_path/readlink_realpath_basic1/readlink_realpath_basic1.tmp", "w");
25: fclose($file_handle1);
26: fclose($file_handle2);
27: fclose($file_handle3);
28:
29: symlink("$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp",
30: "$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1_link.tmp");
31: symlink("$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp",
32: "$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1_link.tmp");
33:
34:
35: echo "*** Testing readlink() and realpath(): with valid and invalid path ***\n";
36: $linknames = array (
37: /* linknames resulting in valid paths */
38: "$file_path/readlink_realpath_basic1/home/readlink_realpath_basic1_link.tmp",
39: "$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1_link.tmp",
40: "$file_path/readlink_realpath_basic1//home/test//../test/./readlink_realpath_basic1_link.tmp",
41:
42: /* linknames with invalid linkpath */
43: "$file_path///readlink_realpath_basic1/home//..//././test//readlink_realpath_basic1_link.tmp",
44: "$file_path/readlink_realpath_basic1/home/../home/../test/../readlink_realpath_basic1_link.tmp",
45: "$file_path/readlink_realpath_basic1/..readlink_realpath_basic1_link.tmp",
46: "$file_path/readlink_realpath_basic1/home/test/readlink_realpath_basic1_link.tmp/"
47: );
48:
49: $counter = 1;
50: /* loop through $files to read the linkpath of
51: the link created from each $file in the above array */
52: foreach($linknames as $link) {
53: echo "\n-- Iteration $counter --\n";
54: var_dump( readlink($link) );
55: var_dump( realpath($link) );
56: $counter++;
57: }
58:
59: echo "Done\n";
60: ?>
61: --CLEAN--
62: <?php
63: $name_prefix = dirname(__FILE__)."/readlink_realpath_basic1";
64: unlink("$name_prefix/home/test/readlink_realpath_basic1.tmp");
65: unlink("$name_prefix/home/readlink_realpath_basic1.tmp");
66: unlink("$name_prefix/readlink_realpath_basic1.tmp");
67: unlink("$name_prefix/home/test/readlink_realpath_basic1_link.tmp");
68: unlink("$name_prefix/home/readlink_realpath_basic1_link.tmp");
69: rmdir("$name_prefix/home/test/");
70: rmdir("$name_prefix/home/");
71: rmdir("$name_prefix/");
72: ?>
73: --EXPECTF--
74: *** Testing readlink() and realpath(): with valid and invalid path ***
75:
76: -- Iteration 1 --
77: string(%d) "%s/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp"
78: string(%d) "%s/readlink_realpath_basic1/home/readlink_realpath_basic1.tmp"
79:
80: -- Iteration 2 --
81: string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp"
82: string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp"
83:
84: -- Iteration 3 --
85: string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp"
86: string(%d) "%s/readlink_realpath_basic1/home/test/readlink_realpath_basic1.tmp"
87:
88: -- Iteration 4 --
89:
90: Warning: readlink(): No such file or directory in %s on line %d
91: bool(false)
92: bool(false)
93:
94: -- Iteration 5 --
95:
96: Warning: readlink(): No such file or directory in %s on line %d
97: bool(false)
98: bool(false)
99:
100: -- Iteration 6 --
101:
102: Warning: readlink(): No such file or directory in %s on line %d
103: bool(false)
104: %s
105:
106: -- Iteration 7 --
107:
108: Warning: readlink(): %s in %s on line %d
109: bool(false)
110: %s
111: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>