Annotation of embedaddon/php/ext/standard/tests/file/lstat_stat_variation21.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test lstat() and stat() functions: usage variations - effects of truncate()
3: --SKIPIF--
4: <?php
5: if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
6: if (substr(PHP_OS, 0, 3) == 'WIN') {
7: die('skip.. Not valid for Windows');
8: }
9: ?>
10: --FILE--
11: <?php
12: /* Prototype: array lstat ( string $filename );
13: Description: Gives information about a file or symbolic link
14:
15: Prototype: array stat ( string $filename );
16: Description: Gives information about a file
17: */
18:
19: /* test the effects of truncate() on stats of a file */
20:
21: $file_path = dirname(__FILE__);
22: require "$file_path/file.inc";
23:
24:
25: /* create temp file */
26: $filename = "$file_path/lstat_stat_variation21.tmp";
27: $fp = fopen($filename, "w"); // temp file
28: fclose($fp);
29:
30: /* ftruncate the current file and check stat() on the file */
31:
32: echo "*** Testing stat() on file by truncating it to given size ***\n";
33: $old_stat = stat($filename);
34: // clear the cache
35: clearstatcache();
36: sleep(2);
37: // opening file in r/w mode
38: $file_handle = fopen($filename, "r+");
39: var_dump( ftruncate($file_handle, 512) ); // truncate it
40: fclose($file_handle);
41:
42: $new_stat = stat($filename);
43: // compare self stats
44: var_dump( compare_self_stat($old_stat) );
45: var_dump( compare_self_stat($new_stat) );
46: // compare the stat
47: $affected_members = array(7, 9, 10, 'size', 'mtime', 'ctime');
48: var_dump( compare_stats($old_stat, $new_stat, $affected_members, '!=') );
49:
50: echo "\n--- Done ---";
51: ?>
52:
53: --CLEAN--
54: <?php
55: $file_path = dirname(__FILE__);
56: unlink("$file_path/lstat_stat_variation21.tmp");
57: ?>
58: --EXPECTF--
59: *** Testing stat() on file by truncating it to given size ***
60: bool(true)
61: bool(true)
62: bool(true)
63: bool(true)
64:
65: --- Done ---
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>