]> granicus.if.org Git - php/commitdiff
Don't check directory nlink in stat tests
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 30 Mar 2020 08:52:25 +0000 (10:52 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 30 Mar 2020 08:54:03 +0000 (10:54 +0200)
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.

ext/standard/tests/file/lstat_stat_variation8.phpt
ext/standard/tests/file/lstat_stat_variation9.phpt [deleted file]

index db7f87f7f7968e9280d7b12e4aaabf0fa8dfc659..5dc45e02f5edd67e16f3b3f6ad0a7ff462226cd2 100644 (file)
@@ -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, "<"));
 
diff --git a/ext/standard/tests/file/lstat_stat_variation9.phpt b/ext/standard/tests/file/lstat_stat_variation9.phpt
deleted file mode 100644 (file)
index a73b126..0000000
+++ /dev/null
@@ -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 ---