mirror of
https://github.com/php/php-src.git
synced 2026-03-26 17:22:15 +01:00
- Windows ACL cache support, update existing tests and add a new one
This commit is contained in:
@@ -21,6 +21,7 @@ $i = 1;
|
||||
$path = __DIR__ . '/a.txt';
|
||||
foreach ($iteration as $perms => $exp) {
|
||||
create_file($path, $perms);
|
||||
clearstatcache(true, $path);
|
||||
echo 'Iteration #' . $i++ . ': ';
|
||||
if (is_writable($path) == $exp) {
|
||||
echo "passed.\n";
|
||||
@@ -36,6 +37,7 @@ $path = __DIR__ . '/adir';
|
||||
$i = 1;
|
||||
foreach ($iteration as $perms => $exp) {
|
||||
create_file($path, $perms);
|
||||
clearstatcache(true, $path);
|
||||
echo 'Iteration #' . $i++ . ': ';
|
||||
if (is_writable($path) == $exp) {
|
||||
echo "passed.\n";
|
||||
|
||||
@@ -21,11 +21,12 @@ $i = 1;
|
||||
$path = __DIR__ . '/a.txt';
|
||||
foreach ($iteration as $perms => $exp) {
|
||||
create_file($path, $perms);
|
||||
clearstatcache(true, $path);
|
||||
echo 'Iteration #' . $i++ . ': ';
|
||||
if (is_readable($path) == $exp) {
|
||||
echo "passed.\n";
|
||||
} else {
|
||||
var_dump(is_writable($path), $exp);
|
||||
var_dump(is_readable($path), $exp);
|
||||
echo "failed.\n";
|
||||
}
|
||||
delete_file($path);
|
||||
@@ -36,11 +37,12 @@ $path = __DIR__ . '/adir';
|
||||
$i = 1;
|
||||
foreach ($iteration as $perms => $exp) {
|
||||
create_file($path, $perms);
|
||||
clearstatcache(true, $path);
|
||||
echo 'Iteration #' . $i++ . ': ';
|
||||
if (is_readable($path) == $exp) {
|
||||
echo "passed.\n";
|
||||
} else {
|
||||
var_dump(is_writable($path), $exp);
|
||||
var_dump(is_readable($path), $exp);
|
||||
echo "failed.\n";
|
||||
}
|
||||
delete_file($path);
|
||||
|
||||
64
ext/standard/tests/file/windows_acls/bug44859_4.phpt
Normal file
64
ext/standard/tests/file/windows_acls/bug44859_4.phpt
Normal file
@@ -0,0 +1,64 @@
|
||||
--TEST--
|
||||
bug #44859 (incorrect result with NTFS ACL permissions, is_readable)
|
||||
--CREDIT--
|
||||
Venkat Raman Don
|
||||
--SKIPIF--
|
||||
<?php
|
||||
include_once __DIR__ . '/common.inc';
|
||||
skipif();
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
include_once __DIR__ . '/common.inc';
|
||||
|
||||
$iteration = array(
|
||||
PHPT_ACL_READ => true,
|
||||
PHPT_ACL_NONE => false,
|
||||
PHPT_ACL_WRITE => false,
|
||||
PHPT_ACL_WRITE|PHPT_ACL_READ => true,
|
||||
);
|
||||
|
||||
echo "Testing file with relative path:\n";
|
||||
$i = 1;
|
||||
$path = './a.txt';
|
||||
foreach ($iteration as $perms => $exp) {
|
||||
create_file($path, $perms);
|
||||
clearstatcache(true, $path);
|
||||
echo 'Iteration #' . $i++ . ': ';
|
||||
if (is_readable($path) == $exp) {
|
||||
echo "passed.\n";
|
||||
} else {
|
||||
var_dump(is_readable($path), $exp);
|
||||
echo "failed.\n";
|
||||
}
|
||||
delete_file($path);
|
||||
}
|
||||
|
||||
echo "Testing directory with relative path:\n";
|
||||
$path = 'adir';
|
||||
$i = 1;
|
||||
foreach ($iteration as $perms => $exp) {
|
||||
create_file($path, $perms);
|
||||
clearstatcache(true, $path);
|
||||
echo 'Iteration #' . $i++ . ': ';
|
||||
if (is_readable($path) == $exp) {
|
||||
echo "passed.\n";
|
||||
} else {
|
||||
var_dump(is_readable($path), $exp);
|
||||
echo "failed.\n";
|
||||
}
|
||||
delete_file($path);
|
||||
}
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
Testing file with relative path:
|
||||
Iteration #1: passed.
|
||||
Iteration #2: passed.
|
||||
Iteration #3: passed.
|
||||
Iteration #4: passed.
|
||||
Testing directory with relative path:
|
||||
Iteration #1: passed.
|
||||
Iteration #2: passed.
|
||||
Iteration #3: passed.
|
||||
Iteration #4: passed.
|
||||
@@ -123,7 +123,6 @@ function create_file($name, $perms) {
|
||||
}
|
||||
|
||||
touch($name);
|
||||
$dst = realpath($name);
|
||||
icacls_set($name, PHPT_ACL_GRANT, $perms);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user