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>