Annotation of embedaddon/php/ext/standard/tests/file/005_variation-win32.phpt, revision 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>