2009-05-17 19:44:27 +00:00
|
|
|
--TEST--
|
|
|
|
bug #44859 (incorrect result with NTFS ACL permissions, is_writable)
|
|
|
|
--SKIPIF--
|
|
|
|
<?php
|
|
|
|
include_once __DIR__ . '/common.inc';
|
|
|
|
skipif();
|
|
|
|
?>
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
include_once __DIR__ . '/common.inc';
|
|
|
|
|
|
|
|
$iteration = array(
|
|
|
|
PHPT_ACL_READ => false,
|
|
|
|
PHPT_ACL_NONE => false,
|
|
|
|
PHPT_ACL_WRITE => true,
|
|
|
|
PHPT_ACL_WRITE|PHPT_ACL_READ => true,
|
|
|
|
);
|
|
|
|
|
|
|
|
echo "Testing file:\n";
|
|
|
|
$i = 1;
|
|
|
|
$path = __DIR__ . '/a.txt';
|
|
|
|
foreach ($iteration as $perms => $exp) {
|
|
|
|
create_file($path, $perms);
|
2009-06-16 00:07:05 +00:00
|
|
|
clearstatcache(true, $path);
|
2009-05-17 19:44:27 +00:00
|
|
|
echo 'Iteration #' . $i++ . ': ';
|
|
|
|
if (is_writable($path) == $exp) {
|
|
|
|
echo "passed.\n";
|
|
|
|
} else {
|
|
|
|
var_dump(is_writable($path), $exp);
|
|
|
|
echo "failed.\n";
|
|
|
|
}
|
|
|
|
delete_file($path);
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "Testing directory:\n";
|
|
|
|
$path = __DIR__ . '/adir';
|
|
|
|
$i = 1;
|
|
|
|
foreach ($iteration as $perms => $exp) {
|
|
|
|
create_file($path, $perms);
|
2009-06-16 00:07:05 +00:00
|
|
|
clearstatcache(true, $path);
|
2009-05-17 19:44:27 +00:00
|
|
|
echo 'Iteration #' . $i++ . ': ';
|
|
|
|
if (is_writable($path) == $exp) {
|
|
|
|
echo "passed.\n";
|
|
|
|
} else {
|
|
|
|
var_dump(is_writable($path), $exp);
|
|
|
|
echo "failed.\n";
|
|
|
|
}
|
|
|
|
delete_file($path);
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
Testing file:
|
|
|
|
Iteration #1: passed.
|
|
|
|
Iteration #2: passed.
|
|
|
|
Iteration #3: passed.
|
|
|
|
Iteration #4: passed.
|
|
|
|
Testing directory:
|
|
|
|
Iteration #1: passed.
|
|
|
|
Iteration #2: passed.
|
|
|
|
Iteration #3: passed.
|
|
|
|
Iteration #4: passed.
|