Annotation of embedaddon/php/ext/standard/tests/file/005_variation-win32.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test fileatime(), filemtime(), filectime() & touch() functions : usage variation
                      3: --SKIPIF--
                      4: <?php
                      5: if (substr(PHP_OS, 0, 3) != 'WIN') {
                      6:     die('skip Windows-only test');
                      7: }
                      8: ?>
                      9: --FILE--
                     10: <?php
                     11: /*
                     12:    Prototype: int fileatime ( string $filename );
                     13:    Description: Returns the time the file was last accessed, or FALSE 
                     14:      in case of an error. The time is returned as a Unix timestamp.
                     15: 
                     16:    Prototype: int filemtime ( string $filename );
                     17:    Description: Returns the time the file was last modified, or FALSE 
                     18:      in case of an error. 
                     19: 
                     20:    Prototype: int filectime ( string $filename );
                     21:    Description: Returns the time the file was last changed, or FALSE
                     22:      in case of an error. The time is returned as a Unix timestamp.
                     23: 
                     24:    Prototype: bool touch ( string $filename [, int $time [, int $atime]] );
                     25:    Description: Attempts to set the access and modification times of the file
                     26:      named in the filename parameter to the value given in time.
                     27: */
                     28: 
                     29: /*
                     30:    Prototype: void stat_fn(string $filename);
                     31:    Description: Prints access, modification and change times of a file
                     32: */
                     33: function stat_fn( $filename ) {
                     34:   echo "-- File access time is => "; 
                     35:   print( @date( 'Y:M:D:H:i:s', fileatime($filename) ) )."\n";
                     36:   clearstatcache();
                     37:   echo "-- File modification time is => "; 
                     38:   print( @date( 'Y:M:D:H:i:s', filemtime($filename) ) )."\n";
                     39:   clearstatcache();
                     40:   echo "-- inode change time is => "; 
                     41:   print( @date( 'Y:M:D:H:i:s', filectime($filename) ) )."\n";
                     42:   clearstatcache();
                     43: 
                     44: }
                     45: 
                     46: echo "*** Testing fileattime(), filemtime(), filectime() & touch() : usage variations ***\n";
                     47: $file_path = dirname(__FILE__);
                     48: // create files 
                     49: $file_handle = fopen("$file_path/005_variation1.tmp", "w");
                     50: fclose($file_handle);
                     51: stat_fn("$file_path/005_variation1.tmp");
                     52: sleep(2);
                     53: 
                     54: $file_handle = fopen("$file_path/005_variation2.tmp", "w");
                     55: fclose($file_handle);
                     56: stat_fn("$file_path/005_variation2.tmp");
                     57: sleep(2);
                     58: 
                     59: $file_handle = fopen("$file_path/005_variation3.tmp", "w");
                     60: fclose($file_handle);
                     61: stat_fn("$file_path/005_variation3.tmp");
                     62: 
                     63: // delete files
                     64: unlink("$file_path/005_variation1.tmp");
                     65: unlink("$file_path/005_variation2.tmp");
                     66: unlink("$file_path/005_variation3.tmp");
                     67: 
                     68: echo "\n-- Checking different times, just after creating the file --\n";
                     69: $file_name = "$file_path/005_variation1.tmp";
                     70: $file_write_handle = fopen($file_name, "w");
                     71: fclose($file_write_handle);
                     72: stat_fn($file_name);
                     73: sleep(2);
                     74: 
                     75: /* filectime + 2 */
                     76: echo "\n-- Checking different times, after changing the file permission --\n";
                     77: chmod($file_name, 0777);
                     78: stat_fn($file_name);
                     79: sleep(2);
                     80: 
                     81: /* filemtime + 2 & filectime + 2 */
                     82: echo "\n-- Checking different times, after writing into the file --\n";
                     83: $file_write_handle = fopen($file_name, "w");
                     84: fwrite($file_write_handle, b"Hello, world");
                     85: fclose($file_write_handle);
                     86: stat_fn($file_name);
                     87: sleep(2);
                     88: 
                     89: /* fileatime + 2 */
                     90: echo "\n-- Checking different times, after reading from the file --\n";
                     91: $file_read_handle = fopen($file_name ,"r");
                     92: fread($file_read_handle, 10);
                     93: fclose( $file_read_handle);
                     94: stat_fn($file_name);
                     95: sleep(2);
                     96: 
                     97: /* No change */
                     98: echo "\n-- Checking different times, after making a copy of the file --\n";
                     99: $file_copy = "$file_path/005_variation_copy.tmp";
                    100: copy($file_name, $file_copy);
                    101: stat_fn($file_name);
                    102: sleep(2);
                    103: 
                    104: /* fileatime + 2 */
                    105: echo "\n-- Checking different times, after performing is_file() operation on the file --\n";
                    106: is_file($file_name);
                    107: stat_fn($file_name);
                    108: sleep(2);
                    109: 
                    110: 
                    111: echo "\n*** Testing touch() function with different time values ***\n";
                    112: $file_name2 = $file_path."/005_variation_touch.tmp";
                    113: $file_handle = fopen($file_name2, "w");
                    114: fclose($file_handle);
                    115: sleep(2);
                    116: 
                    117: /* Time is not mentioned */
                    118: var_dump( touch($file_name2) ); //set to current system time
                    119: stat_fn($file_name2);
                    120: sleep(2);
                    121: 
                    122: /* set to access(creation time of the file) time */
                    123: var_dump( touch($file_name2, @date(fileatime($file_name2))) ); 
                    124: stat_fn($file_name2);
                    125: sleep(2);
                    126: 
                    127: /* set to access time of $file_name2 */
                    128: var_dump( touch($file_path."/005_variation_touch_fly.tmp", @date(fileatime($file_name2)), time()) );
                    129: stat_fn($file_name2);
                    130: sleep(2);
                    131: 
                    132: /* set to default value, with Invalid timestamps */
                    133: var_dump( touch($file_name2, 10) );
                    134: stat_fn($file_name2);
                    135: var_dump( touch($file_name2, 10, 20) );
                    136: stat_fn($file_name2);
                    137:  
                    138: /* touch() after renaming the file */ 
                    139: rename($file_name2, "$file_path/005_variation_touch_new.tmp");
                    140: stat_fn("$file_path/005_variation_touch_new.tmp");
                    141: 
                    142: echo "Done\n";
                    143: ?>
                    144: --CLEAN--
                    145: <?php
                    146: $file_path = dirname(__FILE__);
                    147: unlink($file_path."/005_variation_softlink.tmp");
                    148: unlink($file_path."/005_variation_hardlink.tmp");
                    149: unlink($file_path."/005_variation1.tmp");
                    150: unlink($file_path."/005_variation_copy.tmp");
                    151: unlink($file_path."/005_variation_touch.tmp");
                    152: unlink($file_path."/005_variation_touch_fly.tmp");
                    153: unlink($file_path."/005_variation_touch_new.tmp");
                    154: ?>
                    155: --EXPECTF--
                    156: *** Testing fileattime(), filemtime(), filectime() & touch() : usage variations ***
                    157: -- File access time is => %d:%s:%s:%d:%d:%d
                    158: -- File modification time is => %d:%s:%s:%d:%d:%d
                    159: -- inode change time is => %d:%s:%s:%d:%d:%d
                    160: -- File access time is => %d:%s:%s:%d:%d:%d
                    161: -- File modification time is => %d:%s:%s:%d:%d:%d
                    162: -- inode change time is => %d:%s:%s:%d:%d:%d
                    163: -- File access time is => %d:%s:%s:%d:%d:%d
                    164: -- File modification time is => %d:%s:%s:%d:%d:%d
                    165: -- inode change time is => %d:%s:%s:%d:%d:%d
                    166: 
                    167: -- Checking different times, just after creating the file --
                    168: -- File access time is => %d:%s:%s:%d:%d:%d
                    169: -- File modification time is => %d:%s:%s:%d:%d:%d
                    170: -- inode change time is => %d:%s:%s:%d:%d:%d
                    171: 
                    172: -- Checking different times, after changing the file permission --
                    173: -- File access time is => %d:%s:%s:%d:%d:%d
                    174: -- File modification time is => %d:%s:%s:%d:%d:%d
                    175: -- inode change time is => %d:%s:%s:%d:%d:%d
                    176: 
                    177: -- Checking different times, after writing into the file --
                    178: -- File access time is => %d:%s:%s:%d:%d:%d
                    179: -- File modification time is => %d:%s:%s:%d:%d:%d
                    180: -- inode change time is => %d:%s:%s:%d:%d:%d
                    181: 
                    182: -- Checking different times, after reading from the file --
                    183: -- File access time is => %d:%s:%s:%d:%d:%d
                    184: -- File modification time is => %d:%s:%s:%d:%d:%d
                    185: -- inode change time is => %d:%s:%s:%d:%d:%d
                    186: 
                    187: -- Checking different times, after making a copy of the file --
                    188: -- File access time is => %d:%s:%s:%d:%d:%d
                    189: -- File modification time is => %d:%s:%s:%d:%d:%d
                    190: -- inode change time is => %d:%s:%s:%d:%d:%d
                    191: 
                    192: -- Checking different times, after performing is_file() operation on the file --
                    193: -- File access time is => %d:%s:%s:%d:%d:%d
                    194: -- File modification time is => %d:%s:%s:%d:%d:%d
                    195: -- inode change time is => %d:%s:%s:%d:%d:%d
                    196: 
                    197: *** Testing touch() function with different time values ***
                    198: bool(true)
                    199: -- File access time is => %d:%s:%s:%d:%d:%d
                    200: -- File modification time is => %d:%s:%s:%d:%d:%d
                    201: -- inode change time is => %d:%s:%s:%d:%d:%d
                    202: bool(true)
                    203: -- File access time is => %d:%s:%s:%d:%d:%d
                    204: -- File modification time is => %d:%s:%s:%d:%d:%d
                    205: -- inode change time is => %d:%s:%s:%d:%d:%d
                    206: bool(true)
                    207: -- File access time is => %d:%s:%s:%d:%d:%d
                    208: -- File modification time is => %d:%s:%s:%d:%d:%d
                    209: -- inode change time is => %d:%s:%s:%d:%d:%d
                    210: bool(true)
                    211: -- File access time is => %d:%s:%s:%d:%d:%d
                    212: -- File modification time is => %d:%s:%s:%d:%d:%d
                    213: -- inode change time is => %d:%s:%s:%d:%d:%d
                    214: bool(true)
                    215: -- File access time is => %d:%s:%s:%d:%d:%d
                    216: -- File modification time is => %d:%s:%s:%d:%d:%d
                    217: -- inode change time is => %d:%s:%s:%d:%d:%d
                    218: -- File access time is => %d:%s:%s:%d:%d:%d
                    219: -- File modification time is => %d:%s:%s:%d:%d:%d
                    220: -- inode change time is => %d:%s:%s:%d:%d:%d
                    221: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>