8000 [Filesystem] Fix false positive in ->remove() · symfony/symfony@8b5f53b · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 8b5f53b

Browse files
[Filesystem] Fix false positive in ->remove()
1 parent 6d5dbf7 commit 8b5f53b

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/Symfony/Component/Filesystem/Filesystem.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,9 @@ public function remove($files)
156156
$error = error_get_last();
157157
throw new IOException(sprintf('Failed to remove directory "%s": %s.', $file, $error['message']));
158158
}
159-
} elseif ($this->exists($file)) {
160-
if (!@unlink($file)) {
161-
$error = error_get_last();
159+
} elseif (!@unlink($file)) {
160+
$error = error_get_last();
161+
if (file_exists($file)) {
162162
throw new IOException(sprintf('Failed to remove file "%s": %s.', $file, $error['message']));
163163
}
164164
}

src/Symfony/Component/Filesystem/Tests/FilesystemTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ public static function setUpBeforeClass()
3838
if ('\\' === DIRECTORY_SEPARATOR && null === self::$symlinkOnWindows) {
3939
$target = tempnam(sys_get_temp_dir(), 'sl');
4040
$link = sys_get_temp_dir().'/sl'.microtime(true).mt_rand();
41-
if (@symlink($target, $link)) {
42-
self::$symlinkOnWindows = @is_link($link);
41+
if (self::$symlinkOnWindows = @symlink($target, $link)) {
4342
unlink($link);
4443
}
4544
unlink($target);
@@ -61,6 +60,7 @@ protected function tearDown()
6160
foreach ($this->longPathNamesWindows as $path) {
6261
exec('DEL '.$path);
6362
}
63+
$this->longPathNamesWindows = array();
6464
}
6565

6666
$this->filesystem->remove($this->workspace);
@@ -1089,7 +1089,7 @@ private function markAsSkippedIfChmodIsMissing()
10891089

10901090
private function markAsSkippedIfPosixIsMissing()
10911091
{
1092-
if ('\\' === DIRECTORY_SEPARATOR || !function_exists('posix_isatty')) {
1092+
if (!function_exists('posix_isatty')) {
10931093
$this->markTestSkipped('POSIX is not supported');
10941094
}
10951095
}

0 commit comments

Comments
 (0)
0