1
0
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:
Pierre Joye
2009-06-16 00:07:05 +00:00
parent da9b80e309
commit 18d5751a9e
7 changed files with 162 additions and 15 deletions

View File

@@ -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";

View File

@@ -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);

View 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.

View File

@@ -123,7 +123,6 @@ function create_file($name, $perms) {
}
touch($name);
$dst = realpath($name);
icacls_set($name, PHPT_ACL_GRANT, $perms);
}