kraghuba Thu Jul 26 13:38:24 2007 UTC Added files: (Branch: PHP_5_2) /php-src/ext/standard/tests/file lstat_stat_variation13.phpt lstat_stat_variation14.phpt lstat_stat_variation15.phpt lstat_stat_variation21.phpt lstat_stat_variation16.phpt lstat_stat_variation20.phpt lstat_stat_variation17.phpt lstat_stat_variation10.phpt lstat_stat_variation9.phpt lstat_stat_variation18.phpt lstat_stat_variation11.phpt lstat_stat_variation8.phpt lstat_stat_variation19.phpt lstat_stat_variation12.phpt lstat_stat_variation7.phpt
Modified files: /php-src/ext/standard/tests/file lstat_stat_variation6.phpt lstat_stat_variation5.phpt lstat_stat_variation4.phpt lstat_stat_variation3.phpt lstat_stat_variation2.phpt file.inc lstat_stat_variation1.phpt Log: file.inc : Added dumping of stat array in functions (compare_self_stat() & compare_stats() ) Smaller testcases for lstat_stat_variation[1-7].phpt files
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation6.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/file/lstat_stat_variation6.phpt diff -u php-src/ext/standard/tests/file/lstat_stat_variation6.phpt:1.1.2.2 php-src/ext/standard/tests/file/lstat_stat_variation6.phpt:1.1.2.3 --- php-src/ext/standard/tests/file/lstat_stat_variation6.phpt:1.1.2.2 Sat Jul 21 17:35:37 2007 +++ php-src/ext/standard/tests/file/lstat_stat_variation6.phpt Thu Jul 26 13:38:24 2007 @@ -1,6 +1,5 @@ --TEST-- -Test lstat() and stat() functions: usage variations - dir/file/link names in objects - +Test lstat() and stat() functions: usage variations - effects of touch() on link --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { @@ -16,65 +15,38 @@ Description: Gives information about a file */ -/* test for stats of dir/file/link when their names are stored in objects */ +/* test the effects of touch() on stats of link */ $file_path = dirname(__FILE__); require "$file_path/file.inc"; /* create temp file, link and directory */ -mkdir("$file_path/lstat_stat_variation6/"); // temp dir - -$fp = fopen("$file_path/lstat_stat_variation6.tmp", "w"); // temp file -fclose($fp); - -// temp link -symlink("$file_path/lstat_stat_variation6.tmp", "$file_path/lstat_stat_variation6_link.tmp"); - -/* Checking lstat() and stat() on file/link/directory where filenames, - linknames and directory names are stored in object and array */ - -echo "\n*** Testing lstat() and stat() with filename, linkname - and directory name stored inside a object ***\n"; - -// creating object with members as numeric and non-numeric filename, linkname and directory name -class object_temp { - public $var_name; - public function object_temp($name) { - $this->var_name = $name; - } -} -// directory as member -$obj1 = new object_temp("$file_path/lstat_stat_variation6/"); -$obj2 = new object_temp("$file_path/lstat_stat_variation6a/"); - -// file as member -$obj3 = new object_temp("$file_path/lstat_stat_variation6.tmp"); -$obj4 = new object_temp("$file_path/lstat_stat_variation6a.tmp"); - -// link as member -$obj5 = new object_temp("$file_path/lstat_stat_variation6_link.tmp"); -$obj6 = new object_temp("$file_path/lstat_stat_variation6a_link.tmp"); - -echo "\n-- Testing lstat() and stat() with softlink, linkname stored inside an object --\n"; - -var_dump( lstat($obj5->var_name) ); - -var_dump( symlink($obj5->var_name, $obj6->var_name) ); -var_dump( lstat($obj6->var_name) ); - -echo "\n-- Testing stat() on filename stored inside an object --\n"; -var_dump( stat($obj3->var_name) ); -$fp = fopen("$file_path/lstat_stat_variation6a.tmp", "w"); +$file_name = "$file_path/lstat_stat_variation6.tmp"; +$fp = fopen($file_name, "w"); // temp file fclose($fp); -var_dump( stat($obj4->var_name) ); +$link_name = "$file_path/lstat_stat_variation_link6.tmp"; +symlink($file_name, $link_name); // temp link -echo "\n-- Testing stat() on directory name stored inside an object --\n"; -var_dump( stat($obj1->var_name) ); - -mkdir("$file_path/lstat_stat_variation6a/"); -var_dump( stat($obj2->var_name) ); +// touch a link, check stat, there should be difference in atime +echo "*** Testing lstat() for link after using touch() on the link ***\n"; +$old_stat = lstat($link_name); +// clear the cache +clearstatcache(); +sleep(2); +var_dump( touch($link_name) ); +$new_stat = lstat($link_name); + +// compare self stats +var_dump( compare_self_stat($old_stat) ); +var_dump( compare_self_stat($new_stat) ); + +// compare the stat +$affected_members = array(8, 'atime'); +var_dump( compare_stats($old_stat, $new_stat, $affected_members, "<") ); +// clear the stat +clearstatcache(); echo "\n--- Done ---"; ?> @@ -82,347 +54,14 @@ --CLEAN-- <?php $file_path = dirname(__FILE__); -unlink("$file_path/lstat_stat_variation6_link.tmp"); unlink("$file_path/lstat_stat_variation6.tmp"); -rmdir("$file_path/lstat_stat_variation6"); -unlink("$file_path/lstat_stat_variation6a_link.tmp"); -unlink("$file_path/lstat_stat_variation6a.tmp"); -rmdir("$file_path/lstat_stat_variation6a/"); +unlink("$file_path/lstat_stat_variation_link6.tmp"); ?> - --EXPECTF-- -*** Testing lstat() and stat() with filename, linkname - and directory name stored inside a object *** - --- Testing lstat() and stat() with softlink, linkname stored inside an object -- -array(26) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) - [3]=> - int(%d) - [4]=> - int(%d) - [5]=> - int(%d) - [6]=> - int(%d) - [7]=> - int(%d) - [8]=> - int(%d) - [9]=> - int(%d) - [10]=> - int(%d) - [11]=> - int(%d) - [12]=> - int(%d) - ["dev"]=> - int(%d) - ["ino"]=> - int(%d) - ["mode"]=> - int(%d) - ["nlink"]=> - int(%d) - ["uid"]=> - int(%d) - ["gid"]=> - int(%d) - ["rdev"]=> - int(%d) - ["size"]=> - int(%d) - ["atime"]=> - int(%d) - ["mtime"]=> - int(%d) - ["ctime"]=> - int(%d) - ["blksize"]=> - int(%d) - ["blocks"]=> - int(%d) -} +*** Testing lstat() for link after using touch() on the link *** +bool(true) +bool(true) +bool(true) bool(true) -array(26) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) - [3]=> - int(%d) - [4]=> - int(%d) - [5]=> - int(%d) - [6]=> - int(%d) - [7]=> - int(%d) - [8]=> - int(%d) - [9]=> - int(%d) - [10]=> - int(%d) - [11]=> - int(%d) - [12]=> - int(%d) - ["dev"]=> - int(%d) - ["ino"]=> - int(%d) - ["mode"]=> - int(%d) - ["nlink"]=> - int(%d) - ["uid"]=> - int(%d) - ["gid"]=> - int(%d) - ["rdev"]=> - int(%d) - ["size"]=> - int(%d) - ["atime"]=> - int(%d) - ["mtime"]=> - int(%d) - ["ctime"]=> - int(%d) - ["blksize"]=> - int(%d) - ["blocks"]=> - int(%d) -} - --- Testing stat() on filename stored inside an object -- -array(26) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) - [3]=> - int(%d) - [4]=> - int(%d) - [5]=> - int(%d) - [6]=> - int(%d) - [7]=> - int(%d) - [8]=> - int(%d) - [9]=> - int(%d) - [10]=> - int(%d) - [11]=> - int(%d) - [12]=> - int(%d) - ["dev"]=> - int(%d) - ["ino"]=> - int(%d) - ["mode"]=> - int(%d) - ["nlink"]=> - int(%d) - ["uid"]=> - int(%d) - ["gid"]=> - int(%d) - ["rdev"]=> - int(%d) - ["size"]=> - int(%d) - ["atime"]=> - int(%d) - ["mtime"]=> - int(%d) - ["ctime"]=> - int(%d) - ["blksize"]=> - int(%d) - ["blocks"]=> - int(%d) -} -array(26) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) - [3]=> - int(%d) - [4]=> - int(%d) - [5]=> - int(%d) - [6]=> - int(%d) - [7]=> - int(%d) - [8]=> - int(%d) - [9]=> - int(%d) - [10]=> - int(%d) - [11]=> - int(%d) - [12]=> - int(%d) - ["dev"]=> - int(%d) - ["ino"]=> - int(%d) - ["mode"]=> - int(%d) - ["nlink"]=> - int(%d) - ["uid"]=> - int(%d) - ["gid"]=> - int(%d) - ["rdev"]=> - int(%d) - ["size"]=> - int(%d) - ["atime"]=> - int(%d) - ["mtime"]=> - int(%d) - ["ctime"]=> - int(%d) - ["blksize"]=> - int(%d) - ["blocks"]=> - int(%d) -} - --- Testing stat() on directory name stored inside an object -- -array(26) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) - [3]=> - int(%d) - [4]=> - int(%d) - [5]=> - int(%d) - [6]=> - int(%d) - [7]=> - int(%d) - [8]=> - int(%d) - [9]=> - int(%d) - [10]=> - int(%d) - [11]=> - int(%d) - [12]=> - int(%d) - ["dev"]=> - int(%d) - ["ino"]=> - int(%d) - ["mode"]=> - int(%d) - ["nlink"]=> - int(%d) - ["uid"]=> - int(%d) - ["gid"]=> - int(%d) - ["rdev"]=> - int(%d) - ["size"]=> - int(%d) - ["atime"]=> - int(%d) - ["mtime"]=> - int(%d) - ["ctime"]=> - int(%d) - ["blksize"]=> - int(%d) - ["blocks"]=> - int(%d) -} -array(26) { - [0]=> - int(%d) - [1]=> - int(%d) - [2]=> - int(%d) - [3]=> - int(%d) - [4]=> - int(%d) - [5]=> - int(%d) - [6]=> - int(%d) - [7]=> - int(%d) - [8]=> - int(%d) - [9]=> - int(%d) - [10]=> - int(%d) - [11]=> - int(%d) - [12]=> - int(%d) - ["dev"]=> - int(%d) - ["ino"]=> - int(%d) - ["mode"]=> - int(%d) - ["nlink"]=> - int(%d) - ["uid"]=> - int(%d) - ["gid"]=> - int(%d) - ["rdev"]=> - int(%d) - ["size"]=> - int(%d) - ["atime"]=> - int(%d) - ["mtime"]=> - int(%d) - ["ctime"]=> - int(%d) - ["blksize"]=> - int(%d) - ["blocks"]=> - int(%d) -} --- Done --- http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation5.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/file/lstat_stat_variation5.phpt diff -u php-src/ext/standard/tests/file/lstat_stat_variation5.phpt:1.1.2.2 php-src/ext/standard/tests/file/lstat_stat_variation5.phpt:1.1.2.3 --- php-src/ext/standard/tests/file/lstat_stat_variation5.phpt:1.1.2.2 Sat Jul 21 17:35:37 2007 +++ php-src/ext/standard/tests/file/lstat_stat_variation5.phpt Thu Jul 26 13:38:24 2007 @@ -1,11 +1,12 @@ --TEST-- -Test lstat() and stat() functions: usage variations - effects with changing permissions +Test lstat() and stat() functions: usage variations - effects of touch() on dir --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { - die('skip.. lstat() not available on Windows'); + die('skip.. Not valid for Windows'); } ?> +?> --FILE-- <?php /* Prototype: array lstat ( string $filename ); @@ -15,74 +16,35 @@ Description: Gives information about a file */ -/* test the effects on stats with changing permissions of dir/file/link */ +/* test the effects of touch() on stats of dir */ $file_path = dirname(__FILE__); require "$file_path/file.inc"; -/* create temp file, link and directory */ -mkdir("$file_path/lstat_stat_variation5/"); // temp dir - -$filename = "$file_path/lstat_stat_variation5.tmp"; -$fp = fopen($filename, "w"); // temp file -fclose($fp); +/* create temp directory */ -// temp link -$linkname = "$file_path/lstat_stat_variation5_link.tmp"; -symlink($filename, $linkname); +$dir_name = "$file_path/lstat_stat_variation5"; +mkdir($dir_name); // temp dir -/* Checking lstat() and stat() on file, link and directory after changing permission */ - -// checking lstat() and stat() on links -echo "\n*** Testing lstat() and stat() on links with miscelleneous file permission and content ***\n"; -clearstatcache(); -$old_stat = lstat($linkname); -var_dump( chmod($linkname, 0777) ); -// clear the stat +// touch a directory and check stat, there should be difference in atime +echo "*** Testing stat() for directory after using touch() on the directory ***\n"; +$old_stat = stat($dir_name); +// clear the cache clearstatcache(); sleep(2); -$new_stat = lstat($linkname); -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); -// compare the stat -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys, "=") ); -// clear the stat -clearstatcache(); +var_dump( touch($dir_name) ); +$new_stat = stat($dir_name); -// checking stat() on file -echo "\n*** Testing lstat() and stat() on file with miscelleneous file permission and content ***\n"; -$old_stat = stat($filename); -var_dump( chmod($filename, 0777) ); -// clear the stat -clearstatcache(); -sleep(2); -$new_stat = stat($filename); // compare self stats var_dump( compare_self_stat($old_stat) ); var_dump( compare_self_stat($new_stat) ); + // compare the stat -$affected_members = array(10, 'ctime'); -var_dump( compare_stats($old_stat, $new_stat, $affected_members, "!=") ); -// clear the stat -clearstatcache(); // clear statement cache - -// checking stat() on directory -echo "\n*** Testing stat() on directory with miscelleneous file permission ***\n"; -$dirname = "$file_path/lstat_stat_variation5"; -$old_stat = stat($dirname); -var_dump( chmod($dirname, 0777) ); -// clear the stat +$affected_members = array(8, 9, 10, 'atime', 'mtime', 'ctime'); +var_dump( compare_stats($old_stat, $new_stat, $affected_members, "<") ); +// clear the cache clearstatcache(); -sleep(2); -$new_stat = stat($dirname); -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); -// compare the stat -$affected_members = array(2, 10, 'mode', 'ctime'); -var_dump( compare_stats($old_stat, $new_stat, $affected_members, "!=") ); echo "\n--- Done ---"; ?> @@ -90,24 +52,10 @@ --CLEAN-- <?php $file_path = dirname(__FILE__); -unlink("$file_path/lstat_stat_variation5_link.tmp"); -unlink("$file_path/lstat_stat_variation5.tmp"); rmdir("$file_path/lstat_stat_variation5"); ?> --EXPECTF-- -*** Testing lstat() and stat() on links with miscelleneous file permission and content *** -bool(true) -bool(true) -bool(true) -bool(true) - -*** Testing lstat() and stat() on file with miscelleneous file permission and content *** -bool(true) -bool(true) -bool(true) -bool(true) - -*** Testing stat() on directory with miscelleneous file permission *** +*** Testing stat() for directory after using touch() on the directory *** bool(true) bool(true) bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation4.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/file/lstat_stat_variation4.phpt diff -u php-src/ext/standard/tests/file/lstat_stat_variation4.phpt:1.1.2.2 php-src/ext/standard/tests/file/lstat_stat_variation4.phpt:1.1.2.3 --- php-src/ext/standard/tests/file/lstat_stat_variation4.phpt:1.1.2.2 Sat Jul 21 17:35:37 2007 +++ php-src/ext/standard/tests/file/lstat_stat_variation4.phpt Thu Jul 26 13:38:24 2007 @@ -1,10 +1,9 @@ --TEST-- -Test lstat() and stat() functions: usage variations - effects of is_dir(), is_file() and is_link() - +Test lstat() and stat() functions: usage variations - effects of touch() on file --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { - die('skip.. lstat() not available on Windows'); + die('skip.. Not valid for Windows'); } ?> --FILE-- @@ -16,107 +15,35 @@ Description: Gives information about a file */ -/* test the effects of is_dir(), is_file() and is_link() on stats of dir/file/link */ +/* test the effects of touch() on stats of file */ $file_path = dirname(__FILE__); require "$file_path/file.inc"; -/* create temp file, link and directory */ -$dirname = "$file_path/lstat_stat_variation4"; -mkdir($dirname); // temp dir +/* create temp file */ -$filename = "$file_path/lstat_stat_variation4.tmp"; -$fp = fopen($filename, "w"); // temp file +$file_name = "$file_path/lstat_stat_variation4.tmp"; +$fp = fopen($file_name, "w"); // temp file fclose($fp); -$linkname = "$file_path/lstat_stat_variation4_link.tmp"; -symlink($filename, $linkname); // temp link - -echo "\n*** Checking lstat() and stat() on file, link and directory after accessing it - with is_dir(), is_file() and is_link() functions ***\n"; - -// is_dir() on a directory -echo "-- Testing on Directory --\n"; -$old_stat = stat($dirname); +// touch a file check stat, there should be difference in atime +echo "*** Testing stat() for file after using touch() on the file ***\n"; +$old_stat = stat($file_name); // clear the cache clearstatcache(); sleep(2); -var_dump( is_dir($dirname) ); -$new_stat = stat($dirname); +var_dump( touch($file_name) ); +$new_stat = stat($file_name); // compare self stats var_dump( compare_self_stat($old_stat) ); var_dump( compare_self_stat($new_stat) ); -// compare the stat -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); -// clear the stat -clearstatcache(); - -// is_file() on a file -echo "-- Testing on file --\n"; -$old_stat = stat($filename); -// clear the stat -clearstatcache(); -sleep(2); -var_dump( is_file($filename) ); -$new_stat = stat($filename); -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); // compare the stat -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); -// clear the stat -clearstatcache(); - -// is_link() on a link -echo "-- Testing on link --\n"; -$linkname = "$file_path/lstat_stat_variation4_link.tmp"; -$old_stat = lstat($linkname); -// clear the stat -clearstatcache(); -sleep(2); -var_dump( is_link($linkname) ); -$new_stat = lstat($linkname); -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); -// compare the stat -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); -// clear the stat -clearstatcache(); - -echo "\n*** Checking stat() on a file with read/write permission ***\n"; -$file_handle = fopen($filename, "w"); // create file -fclose($file_handle); -$old_stat = stat($filename); -// clear the stat -clearstatcache(); -sleep(2); -// opening file again in read mode -$file_handle = fopen($filename, "r"); // read file -fclose($file_handle); -$new_stat = stat($filename); -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); -// compare the stat -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); -// clear the stat -clearstatcache(); - -echo "\n*** Checking lstat() and stat() on hard link ***\n"; -$linkname = "$file_path/lstat_stat_variation4_hard.tmp"; -var_dump( link($filename, $linkname) ); -$file_stat = stat($filename); -$link_stat = lstat($linkname); -// compare self stats -var_dump( compare_self_stat($file_stat) ); -var_dump( compare_self_stat($link_stat) ); -// compare the stat -var_dump( compare_stats($file_stat, $link_stat, $all_stat_keys) ); -// clear the stat +$affected_members = array(8, 'atime'); +var_dump( compare_stats($old_stat, $new_stat, $affected_members, "<") ); +// clear the cache clearstatcache(); echo "\n--- Done ---"; @@ -125,36 +52,10 @@ --CLEAN-- <?php $file_path = dirname(__FILE__); -unlink("$file_path/lstat_stat_variation4_hard.tmp"); -unlink("$file_path/lstat_stat_variation4_link.tmp"); unlink("$file_path/lstat_stat_variation4.tmp"); -rmdir("$file_path/lstat_stat_variation4"); ?> --EXPECTF-- -*** Checking lstat() and stat() on file, link and directory after accessing it - with is_dir(), is_file() and is_link() functions *** --- Testing on Directory -- -bool(true) -bool(true) -bool(true) -bool(true) --- Testing on file -- -bool(true) -bool(true) -bool(true) -bool(true) --- Testing on link -- -bool(true) -bool(true) -bool(true) -bool(true) - -*** Checking stat() on a file with read/write permission *** -bool(true) -bool(true) -bool(true) - -*** Checking lstat() and stat() on hard link *** +*** Testing stat() for file after using touch() on the file *** bool(true) bool(true) bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation3.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/file/lstat_stat_variation3.phpt diff -u php-src/ext/standard/tests/file/lstat_stat_variation3.phpt:1.1.2.2 php-src/ext/standard/tests/file/lstat_stat_variation3.phpt:1.1.2.3 --- php-src/ext/standard/tests/file/lstat_stat_variation3.phpt:1.1.2.2 Sat Jul 21 17:35:37 2007 +++ php-src/ext/standard/tests/file/lstat_stat_variation3.phpt Thu Jul 26 13:38:24 2007 @@ -1,10 +1,9 @@ --TEST-- -Test lstat() and stat() functions: usage variations - effects with writing & creating/deleting file/subdir - +Test lstat() and stat() functions: usage variations - effects of rename() on link --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { - die('skip.. lstat() not available on Windows'); + die('skip.. Not valid for Windows'); } ?> --FILE-- @@ -16,67 +15,33 @@ Description: Gives information about a file */ +/* test the effects of rename() on stats of link */ + $file_path = dirname(__FILE__); require "$file_path/file.inc"; -/* test the effects on stats with writing data into a file - and creating/deleting file/subdir from a dir -*/ - -/* create temp file, link and directory */ -mkdir("$file_path/lstat_stat_variation3/"); // temp dir - -$file_name = "$file_path/lstat_stat_variation3.tmp"; -$fp = fopen($file_name, "w"); // temp file +/* create temp file & link */ +$fp = fopen("$file_path/lstat_stat_variation3.tmp", "w"); // temp file fclose($fp); -symlink("$file_path/lstat_stat_variation3.tmp", "$file_path/lstat_stat_variation3_link.tmp"); // temp link +// temp link +symlink("$file_path/lstat_stat_variation3.tmp", "$file_path/lstat_stat_variation_link3.tmp"); -// writing to an empty file -echo "-- Testing stat() on file after data is written in it --\n"; -$fh = fopen($file_name,"w"); -$old_stat = stat($file_name); +// renaming a link +echo "*** Testing lstat() for link after being renamed ***\n"; +$old_linkname = "$file_path/lstat_stat_variation_link3.tmp"; +$new_linkname = "$file_path/lstat_stat_variation_link3a.tmp"; +$old_stat = lstat($old_linkname); clearstatcache(); -fwrite($fh, "Hello World"); -$new_stat = stat($file_name); +var_dump( rename($old_linkname, $new_linkname) ); +$new_stat = lstat($new_linkname); // compare self stats var_dump( compare_self_stat($old_stat) ); var_dump( compare_self_stat($new_stat) ); -// compare the stats -$comp_arr = array(7, 12, 'size', 'blocks'); -var_dump(compare_stats($old_stat, $new_stat, $comp_arr, "<")); -clearstatcache(); -// creating and deleting subdir and files in the dir -echo "-- Testing stat() on dir after subdir and file is created in it --\n"; -$dirname = "$file_path/lstat_stat_variation3"; -$old_stat = stat($dirname); -clearstatcache(); -sleep(2); -mkdir("$dirname/lstat_stat_variation3_subdir"); -$file_handle = fopen("$dirname/lstat_stat_variation3a.tmp", "w"); -fclose($file_handle); -$new_stat = stat($dirname); - -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); -// compare the stats -$affected_members = array(3, 9, 10, 'nlink', 'mtime', 'ctime'); -clearstatcache(); -var_dump(compare_stats($old_stat, $new_stat, $affected_members, "<")); -unlink("$dirname/lstat_stat_variation3a.tmp"); -rmdir("$dirname/lstat_stat_variation3_subdir"); - -// comparing stats after the deletion of subdir and file -echo "-- Testing stat() for comparing stats after the deletion of subdir and file --\n"; -$new_stat1 = stat($dirname); -// compare self stats -var_dump( compare_self_stat($new_stat1) ); -// compare the stats -$affected_members = array(3, 'nlink'); -var_dump(compare_stats($new_stat, $new_stat1, $affected_members, ">")); +// compare the two stats +var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); echo "\n--- Done ---"; ?> @@ -85,19 +50,12 @@ <?php $file_path = dirname(__FILE__); unlink("$file_path/lstat_stat_variation3.tmp"); -rmdir("$file_path/lstat_stat_variation3"); -unlink("$file_path/lstat_stat_variation3_link.tmp"); +unlink("$file_path/lstat_stat_variation_link3a.tmp"); ?> --EXPECTF-- --- Testing stat() on file after data is written in it -- -bool(true) -bool(true) -bool(true) --- Testing stat() on dir after subdir and file is created in it -- -bool(true) +*** Testing lstat() for link after being renamed *** bool(true) bool(true) --- Testing stat() for comparing stats after the deletion of subdir and file -- bool(true) bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation2.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/file/lstat_stat_variation2.phpt diff -u php-src/ext/standard/tests/file/lstat_stat_variation2.phpt:1.1.2.2 php-src/ext/standard/tests/file/lstat_stat_variation2.phpt:1.1.2.3 --- php-src/ext/standard/tests/file/lstat_stat_variation2.phpt:1.1.2.2 Sat Jul 21 17:35:37 2007 +++ php-src/ext/standard/tests/file/lstat_stat_variation2.phpt Thu Jul 26 13:38:24 2007 @@ -1,9 +1,9 @@ --TEST-- -Test lstat() and stat() functions: usage variations - effects of touch() +Test lstat() and stat() functions: usage variations - effects of rename() on dir --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { - die('skip.. lstat() not available on Windows'); + die('skip.. Not valid for Windows'); } ?> --FILE-- @@ -15,82 +15,31 @@ Description: Gives information about a file */ -/* test the effects of touch() on stats of dir/file/link */ +/* test the effects of rename() on stats of dir */ $file_path = dirname(__FILE__); -require "$file_path/file.inc"; +require("file.inc"); +/* create temp directory */ +mkdir("$file_path/lstat_stat_variation1/"); // temp dir -/* create temp file, link and directory */ - -$dir_name = "$file_path/lstat_stat_variation2/"; -mkdir($dir_name); // temp dir -$file_name = "$file_path/lstat_stat_variation2.tmp"; -$fp = fopen($file_name, "w"); // temp file -fclose($fp); -$link_name = "$file_path/lstat_stat_variation_link2.tmp"; -symlink($file_name, $link_name); // temp link - - -echo "\n*** Checking lstat() and stat() on file, link and directory after touching them ***\n"; - -// touch a file -echo "-- Testing stat() for file after using touch() on the file --\n"; -$old_stat = stat($file_name); -// clear the cache +// renaming a directory and check stat +echo "*** Testing stat() for directory after being renamed ***\n"; +$old_dirname = "$file_path/lstat_stat_variation1"; +$new_dirname = "$file_path/lstat_stat_variation1a"; +$old_stat = stat($old_dirname); clearstatcache(); -sleep(2); -var_dump( touch($file_name) ); -$new_stat = stat($file_name); +var_dump( rename($old_dirname, $new_dirname) ); +$new_stat = stat($new_dirname); // compare self stats var_dump( compare_self_stat($old_stat) ); var_dump( compare_self_stat($new_stat) ); -// compare the stat -$affected_members = array(8, 'atime'); -var_dump( compare_stats($old_stat, $new_stat, $affected_members, "<") ); -// clear the cache -clearstatcache(); - - -// touch a directory -echo "-- Testing stat() for directory after using touch() on the directory --\n"; -$old_stat = stat($dir_name); +// compare the two stats +var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); // clear the cache clearstatcache(); -sleep(2); -var_dump( touch($dir_name) ); -$new_stat = stat($dir_name); - -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); - -// compare the stat -$affected_members = array(8, 9, 10, 'atime', 'mtime', 'ctime'); -var_dump( compare_stats($old_stat, $new_stat, $affected_members, "<") ); -// clear the cache -clearstatcache(); - -// touch a link -echo "-- Testing lstat() for link after using touch() on the link --\n"; -$old_stat = lstat($link_name); -// clear the cache -clearstatcache(); -sleep(2); -var_dump( touch($link_name) ); -$new_stat = lstat($link_name); - -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); - -// compare the stat -$affected_members = array(8, 'atime'); -var_dump( compare_stats($old_stat, $new_stat, $affected_members, "<") ); -// clear the stat -clearstatcache(); echo "\n--- Done ---"; ?> @@ -98,23 +47,10 @@ --CLEAN-- <?php $file_path = dirname(__FILE__); -unlink("$file_path/lstat_stat_variation2.tmp"); -rmdir("$file_path/lstat_stat_variation2"); -unlink("$file_path/lstat_stat_variation_link2.tmp"); +rmdir("$file_path/lstat_stat_variation1a"); ?> --EXPECTF-- -*** Checking lstat() and stat() on file, link and directory after touching them *** --- Testing stat() for file after using touch() on the file -- -bool(true) -bool(true) -bool(true) -bool(true) --- Testing stat() for directory after using touch() on the directory -- -bool(true) -bool(true) -bool(true) -bool(true) --- Testing lstat() for link after using touch() on the link -- +*** Testing stat() for directory after being renamed *** bool(true) bool(true) bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/file.inc?r1=1.1.2.5&r2=1.1.2.6&diff_format=u Index: php-src/ext/standard/tests/file/file.inc diff -u php-src/ext/standard/tests/file/file.inc:1.1.2.5 php-src/ext/standard/tests/file/file.inc:1.1.2.6 --- php-src/ext/standard/tests/file/file.inc:1.1.2.5 Fri Jul 20 18:07:02 2007 +++ php-src/ext/standard/tests/file/file.inc Thu Jul 26 13:38:24 2007 @@ -548,7 +548,7 @@ foreach($string_keys as $str_key) { if($stat[$key] != $stat[$str_key]) { - echo "stat[$key] doesn't match with stat[$str_key]\n"; + echo "Error: stat[$key] doesn't match with stat[$str_key]\n"; $flag = false; $key++; } @@ -557,6 +557,13 @@ } } // end of foreach + // if the $return_value is false, i.e all the element do not match then + // dump the stat array so that its easy to figure out the error + if ($return_value == false ) { + echo "\n Dumping stat array ...\n"; + var_dump($stat); + } + return $return_value; }// end of compare_self_stat @@ -570,7 +577,7 @@ $stat2 = second stat array $op = type of the comparision to be perform between elements of stat1 and stat2 "!=" compare for not equal - "==" comprae for equality + "==" compare for equality ">" if each element of stat1 is > than stat2 "<" if each element of stat1 is < than stat2 $fields = contains the key of the elements that needs to be compared. @@ -578,7 +585,10 @@ $flag = specify true to dump the stat1 and stat2 */ -$all_stat_keys = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, "dev", "ino", "mode", "nlink", "uid", "gid", "rdev", "size", "atime", "mtime", "ctime", "blksize", "blocks"); +$all_stat_keys = array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + "dev", "ino", "mode", "nlink", "uid", "gid", + "rdev", "size", "atime", "mtime", "ctime", + "blksize", "blocks"); function compare_stats($stat1, $stat2, $fields, $op = "==", $flag = false ) { // dump the stat if requested @@ -597,7 +607,7 @@ case "==": if ( $stat1[ $fields[$index] ] != $stat2[ $fields[$index] ] ) { $result = false; - echo "stat1 do not match with stat2 at key value: $fields[$index]\n"; + echo "Error: stat1 do not match with stat2 at key value: $fields[$index]\n"; } break; @@ -606,25 +616,34 @@ // do nothing as its not equal, else will take care of if equal } else { $result = false; - echo "stat1 equals stat2 at key value: $fields[$index]\n"; + echo "Error: stat1 equals stat2 at key value: $fields[$index]\n"; } break; case ">": if ( $stat1[ $fields[$index] ] <= $stat2[ $fields[$index] ] ) { $result = false; - echo "stat1 is not greater than stat2 at key value: $fields[$index]\n"; + echo "Error: stat1 is not greater than stat2 at key value: $fields[$index]\n"; } break; case "<": if ( $stat1[ $fields[$index] ] >= $stat2[ $fields[$index] ] ) { $result = false; - echo "stat1 is not lesser than stat2 at key value: $fields[$index]\n"; + echo "Error: stat1 is not lesser than stat2 at key value: $fields[$index]\n"; } break; } } + // if the result is false(i.e values are not as expected), + // dump the stat array so that easy to figure out the error + if ( $result == false ) { + echo "\n Dumping stat array 1...\n"; + var_dump($stat1); + echo "\n Dumping stat array 2...\n"; + var_dump($stat2); + } + return $result; } http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation1.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u Index: php-src/ext/standard/tests/file/lstat_stat_variation1.phpt diff -u php-src/ext/standard/tests/file/lstat_stat_variation1.phpt:1.1.2.2 php-src/ext/standard/tests/file/lstat_stat_variation1.phpt:1.1.2.3 --- php-src/ext/standard/tests/file/lstat_stat_variation1.phpt:1.1.2.2 Sat Jul 21 17:35:37 2007 +++ php-src/ext/standard/tests/file/lstat_stat_variation1.phpt Thu Jul 26 13:38:24 2007 @@ -1,9 +1,9 @@ --TEST-- -Test lstat() and stat() functions: usage variations - effects of rename() +Test lstat() and stat() functions: usage variations - effects of rename() on file --SKIPIF-- <?php if (substr(PHP_OS, 0, 3) == 'WIN') { - die('skip.. lstat() not available on Windows'); + die('skip.. Not valid for Windows'); } ?> --FILE-- @@ -15,23 +15,17 @@ Description: Gives information about a file */ -/* test the effects of rename() on stats of dir/file/link */ +/* test the effects of rename() on stats of file */ $file_path = dirname(__FILE__); require "$file_path/file.inc"; -/* create temp file, link and directory */ -mkdir("$file_path/lstat_stat_variation1/"); // temp dir +/* create temp file */ $fp = fopen("$file_path/lstat_stat_variation1.tmp", "w"); // temp file fclose($fp); -// temp link -symlink("$file_path/lstat_stat_variation1.tmp", "$file_path/lstat_stat_variation_link1.tmp"); - -echo "*** Checking lstat() and stat() on file, link and directory ater renaming them ***\n"; - -// renaming a file -echo "-- Testing stat() for files after being renamed --\n"; +// renaming a file and check stat +echo "*** Testing stat() for files after being renamed ***\n"; $file_path = dirname(__FILE__); $old_filename = "$file_path/lstat_stat_variation1.tmp"; $new_filename = "$file_path/lstat_stat_variation1a.tmp"; @@ -49,40 +43,6 @@ // clear the cache clearstatcache(); -// renaming a directory -echo "-- Testing stat() for directory after being renamed --\n"; -$old_dirname = "$file_path/lstat_stat_variation1"; -$new_dirname = "$file_path/lstat_stat_variation1a"; -$old_stat = stat($old_dirname); -clearstatcache(); -var_dump( rename($old_dirname, $new_dirname) ); -$new_stat = stat($new_dirname); - -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); - -// compare the two stats -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); -// clear the cache -clearstatcache(); - -// renaming a link -echo "-- Testing lstat() for link after being renamed --\n"; -$old_linkname = "$file_path/lstat_stat_variation_link1.tmp"; -$new_linkname = "$file_path/lstat_stat_variation_link1a.tmp"; -$old_stat = lstat($old_linkname); -clearstatcache(); -var_dump( rename($old_linkname, $new_linkname) ); -$new_stat = lstat($new_linkname); - -// compare self stats -var_dump( compare_self_stat($old_stat) ); -var_dump( compare_self_stat($new_stat) ); - -// compare the two stats -var_dump( compare_stats($old_stat, $new_stat, $all_stat_keys) ); - echo "\n--- Done ---"; ?> @@ -90,22 +50,9 @@ <?php $file_path = dirname(__FILE__); unlink("$file_path/lstat_stat_variation1a.tmp"); -rmdir("$file_path/lstat_stat_variation1a"); -unlink("$file_path/lstat_stat_variation_link1a.tmp"); ?> --EXPECTF-- -*** Checking lstat() and stat() on file, link and directory ater renaming them *** --- Testing stat() for files after being renamed -- -bool(true) -bool(true) -bool(true) -bool(true) --- Testing stat() for directory after being renamed -- -bool(true) -bool(true) -bool(true) -bool(true) --- Testing lstat() for link after being renamed -- +*** Testing stat() for files after being renamed *** bool(true) bool(true) bool(true) http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation13.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation13.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation13.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation14.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation14.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation14.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation15.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation15.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation15.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation21.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation21.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation21.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation16.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation16.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation16.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation20.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation20.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation20.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation17.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation17.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation17.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation10.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation10.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation10.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation9.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation9.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation9.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation18.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation18.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation18.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation11.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation11.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation11.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation8.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation8.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation8.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation19.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation19.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation19.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation12.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation12.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation12.phpt http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/lstat_stat_variation7.phpt?view=markup&rev=1.1 Index: php-src/ext/standard/tests/file/lstat_stat_variation7.phpt +++ php-src/ext/standard/tests/file/lstat_stat_variation7.phpt
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php