Annotation of embedaddon/php/ext/standard/tests/file/006_error.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fileperms(), chmod() functions: error conditions
3: --SKIPIF--
4: <?php
5: if (substr(PHP_OS, 0, 3) == 'WIN') {
6: die('skip Not on Windows');
7: }
8: // Skip if being run by root
9: $filename = dirname(__FILE__)."/006_root_check.tmp";
10: $fp = fopen($filename, 'w');
11: fclose($fp);
12: if(fileowner($filename) == 0) {
13: unlink ($filename);
14: die('skip cannot be run as root');
15: }
16:
17: unlink($filename);
18:
19: ?>
20: --FILE--
21: <?php
22: /*
23: Prototype: int fileperms ( string $filename )
24: Description: Returns the permissions on the file, or FALSE in case of an error
25:
26: Prototype: bool chmod ( string $filename, int $mode )
27: Description: Attempts to change the mode of the file specified by
28: filename to that given in mode
29: */
30:
31: echo "*** Testing error conditions for fileperms(), chmod() ***\n";
32:
33: /* With standard files and dirs */
34: var_dump( chmod("/etc/passwd", 0777) );
35: printf("%o", fileperms("/etc/passwd") );
36: echo "\n";
37: clearstatcache();
38:
39: var_dump( chmod("/etc", 0777) );
40: printf("%o", fileperms("/etc") );
41: echo "\n";
42: clearstatcache();
43:
44: /* With non-existing file or dir */
45: var_dump( chmod("/no/such/file/dir", 0777) );
46: var_dump( fileperms("/no/such/file/dir") );
47: echo "\n";
48:
49: /* With args less than expected */
50: $fp = fopen(dirname(__FILE__)."/006_error.tmp", "w");
51: fclose($fp);
52: var_dump( chmod(dirname(__FILE__)."/006_error.tmp") );
53: var_dump( chmod("nofile") );
54: var_dump( chmod() );
55: var_dump( fileperms() );
56:
57: /* With args greater than expected */
58: var_dump( chmod(dirname(__FILE__)."/006_error.tmp", 0755, TRUE) );
59: var_dump( fileperms(dirname(__FILE__)."/006_error.tmp", 0777) );
60: var_dump( fileperms("nofile", 0777) );
61:
62: echo "\n*** Done ***\n";
63: ?>
64: --CLEAN--
65: <?php
66: unlink( dirname(__FILE__)."/006_error.tmp");
67: ?>
68: --EXPECTF--
69: *** Testing error conditions for fileperms(), chmod() ***
70:
71: Warning: chmod(): %s in %s on line %d
72: bool(false)
73: 100%d44
74:
75: Warning: chmod(): %s in %s on line %d
76: bool(false)
77: 40755
78:
79: Warning: chmod(): No such file or directory in %s on line %d
80: bool(false)
81:
82: Warning: fileperms(): stat failed for /no/such/file/dir in %s on line %d
83: bool(false)
84:
85:
86: Warning: chmod() expects exactly 2 parameters, 1 given in %s on line %d
87: NULL
88:
89: Warning: chmod() expects exactly 2 parameters, 1 given in %s on line %d
90: NULL
91:
92: Warning: chmod() expects exactly 2 parameters, 0 given in %s on line %d
93: NULL
94:
95: Warning: fileperms() expects exactly 1 parameter, 0 given in %s on line %d
96: NULL
97:
98: Warning: chmod() expects exactly 2 parameters, 3 given in %s on line %d
99: NULL
100:
101: Warning: fileperms() expects exactly 1 parameter, 2 given in %s on line %d
102: NULL
103:
104: Warning: fileperms() expects exactly 1 parameter, 2 given in %s on line %d
105: NULL
106:
107: *** Done ***
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>