mirror of
https://github.com/php/php-src.git
synced 2026-04-03 22:22:18 +02:00
Don't check directory nlink in stat tests
It seems like on many filesystems nlink for directories is the number of subdirectories (plus two, due to . and ..). However, this is not a POSIX requirement, and some filesystems don't implement it this way. This seems to be the case for whatever is used on the Travis AArch64 builders now.
This commit is contained in:
@@ -39,8 +39,8 @@ $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');
|
||||
// compare the stat
|
||||
$affected_members = array(9, 10, 'mtime', 'ctime');
|
||||
clearstatcache();
|
||||
var_dump(compare_stats($old_stat, $new_stat, $affected_members, "<"));
|
||||
|
||||
|
||||
@@ -1,67 +0,0 @@
|
||||
--TEST--
|
||||
Test lstat() and stat() functions: usage variations - deleting file/subdir
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (substr(PHP_OS, 0, 3) == 'WIN') {
|
||||
die('skip.. Not valid for Windows');
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype: array lstat ( string $filename );
|
||||
Description: Gives information about a file or symbolic link
|
||||
|
||||
Prototype: array stat ( string $filename );
|
||||
Description: Gives information about a file
|
||||
*/
|
||||
|
||||
$file_path = __DIR__;
|
||||
require "$file_path/file.inc";
|
||||
|
||||
/* test the effects on stats by deleting file/subdir from a dir
|
||||
*/
|
||||
|
||||
echo "*** Testing stat() for comparing stats after the deletion of subdir and file ***\n";
|
||||
|
||||
/* first create the dir/subdir and files, record the stat */
|
||||
@rmdir("$file_path/lstat_stat_variation9/"); // ensure that dir doesn't exists
|
||||
mkdir("$file_path/lstat_stat_variation9/"); // temp dir
|
||||
|
||||
// creating and deleting subdir and files in the dir
|
||||
$dirname = "$file_path/lstat_stat_variation9";
|
||||
@rmdir("$dirname/lstat_stat_variation9_subdir"); // ensure that dir doesn't exists
|
||||
mkdir("$dirname/lstat_stat_variation9_subdir");
|
||||
$file_handle = fopen("$dirname/lstat_stat_variation9a.tmp", "w");
|
||||
fclose($file_handle);
|
||||
|
||||
$old_stat = stat($dirname);
|
||||
|
||||
/* now delete the surdir and file and record the stat */
|
||||
unlink("$dirname/lstat_stat_variation9a.tmp");
|
||||
rmdir("$dirname/lstat_stat_variation9_subdir");
|
||||
|
||||
// comparing stats after the deletion of subdir and file
|
||||
$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, 'nlink');
|
||||
var_dump(compare_stats($old_stat, $new_stat, $affected_members, ">"));
|
||||
|
||||
echo "\n--- Done ---";
|
||||
?>
|
||||
--CLEAN--
|
||||
<?php
|
||||
$file_path = __DIR__;
|
||||
$dirname = "$file_path/lstat_stat_variation9";
|
||||
rmdir($dirname);
|
||||
?>
|
||||
--EXPECT--
|
||||
*** Testing stat() for comparing stats after the deletion of subdir and file ***
|
||||
bool(true)
|
||||
bool(true)
|
||||
bool(true)
|
||||
|
||||
--- Done ---
|
||||
Reference in New Issue
Block a user