diff options
author | Pierre Joye <pajoye@php.net> | 2009-06-16 00:07:05 +0000 |
---|---|---|
committer | Pierre Joye <pajoye@php.net> | 2009-06-16 00:07:05 +0000 |
commit | 18d5751a9e8da170ca02ddbe06120c3993c9bf1e (patch) | |
tree | 43d5341a69919e3cd6141b406e708846cb3354f4 /ext/standard/tests/file/windows_acls | |
parent | da9b80e30948d31d42de2c2cdf93398691f0c27c (diff) | |
download | php-git-18d5751a9e8da170ca02ddbe06120c3993c9bf1e.tar.gz |
- Windows ACL cache support, update existing tests and add a new one
Diffstat (limited to 'ext/standard/tests/file/windows_acls')
4 files changed, 70 insertions, 3 deletions
diff --git a/ext/standard/tests/file/windows_acls/bug44859.phpt b/ext/standard/tests/file/windows_acls/bug44859.phpt index 0716ee5ac4..bb22a5cd8e 100644 --- a/ext/standard/tests/file/windows_acls/bug44859.phpt +++ b/ext/standard/tests/file/windows_acls/bug44859.phpt @@ -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"; diff --git a/ext/standard/tests/file/windows_acls/bug44859_2.phpt b/ext/standard/tests/file/windows_acls/bug44859_2.phpt index 8326eb473e..3cc4ed1ba1 100644 --- a/ext/standard/tests/file/windows_acls/bug44859_2.phpt +++ b/ext/standard/tests/file/windows_acls/bug44859_2.phpt @@ -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); diff --git a/ext/standard/tests/file/windows_acls/bug44859_4.phpt b/ext/standard/tests/file/windows_acls/bug44859_4.phpt new file mode 100644 index 0000000000..fff90662e8 --- /dev/null +++ b/ext/standard/tests/file/windows_acls/bug44859_4.phpt @@ -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. diff --git a/ext/standard/tests/file/windows_acls/common.inc b/ext/standard/tests/file/windows_acls/common.inc index 6bcaf2b327..2a1adeb0a4 100644 --- a/ext/standard/tests/file/windows_acls/common.inc +++ b/ext/standard/tests/file/windows_acls/common.inc @@ -123,7 +123,6 @@ function create_file($name, $perms) { } touch($name); - $dst = realpath($name); icacls_set($name, PHPT_ACL_GRANT, $perms); } |