From c417d7a1a574c5c53df88417db3d663626729802 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Tue, 8 Mar 2016 08:52:42 +0100 Subject: [PATCH] [Filesystem] Cleanup/sync with 2.3 --- .../Filesystem/Tests/FilesystemTest.php | 4 ++-- .../Filesystem/Tests/FilesystemTestCase.php | 21 ++++++++----------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php b/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php index 3b4e346c0a..6d63a42aa1 100644 --- a/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php +++ b/src/Symfony/Component/Filesystem/Tests/FilesystemTest.php @@ -347,7 +347,7 @@ class FilesystemTest extends FilesystemTestCase // create symlink to nonexistent dir rmdir($basePath.'dir'); - $this->assertFalse(is_dir($basePath.'dir-link')); + $this->assertFalse('\\' === DIRECTORY_SEPARATOR ? @readlink($basePath.'dir-link') : is_dir($basePath.'dir-link')); $this->filesystem->remove($basePath); @@ -383,7 +383,7 @@ class FilesystemTest extends FilesystemTestCase $file = str_repeat('T', 259 - strlen($basePath)); $path = $basePath.$file; exec('TYPE NUL >>'.$file); // equivalent of touch, we can not use the php touch() here because it suffers from the same limitation - self::$longPathNamesWindows[] = $path; // save this so we can clean up later + $this->longPathNamesWindows[] = $path; // save this so we can clean up later chdir($oldPath); $this->filesystem->exists($path); } diff --git a/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php b/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php index e1955c38b7..1f245f49b5 100644 --- a/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php +++ b/src/Symfony/Component/Filesystem/Tests/FilesystemTestCase.php @@ -17,7 +17,7 @@ class FilesystemTestCase extends \PHPUnit_Framework_TestCase { private $umask; - static protected $longPathNamesWindows = array(); + protected $longPathNamesWindows = array(); /** * @var \Symfony\Component\Filesystem\Filesystem @@ -33,12 +33,6 @@ class FilesystemTestCase extends \PHPUnit_Framework_TestCase public static function setUpBeforeClass() { - if (!empty(self::$longPathNamesWindows)) { - foreach (self::$longPathNamesWindows as $path) { - exec('DEL '.$path); - } - } - if ('\\' === DIRECTORY_SEPARATOR && null === self::$symlinkOnWindows) { $target = tempnam(sys_get_temp_dir(), 'sl'); $link = sys_get_temp_dir().'/sl'.microtime(true).mt_rand(); @@ -52,14 +46,21 @@ class FilesystemTestCase extends \PHPUnit_Framework_TestCase protected function setUp() { $this->umask = umask(0); + $this->filesystem = new Filesystem(); $this->workspace = rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.time().mt_rand(0, 1000); mkdir($this->workspace, 0777, true); $this->workspace = realpath($this->workspace); - $this->filesystem = new Filesystem(); } protected function tearDown() { + if (!empty($this->longPathNamesWindows)) { + foreach ($this->longPathNamesWindows as $path) { + exec('DEL '.$path); + } + $this->longPathNamesWindows = array(); + } + $this->filesystem->remove($this->workspace); umask($this->umask); } @@ -102,10 +103,6 @@ class FilesystemTestCase extends \PHPUnit_Framework_TestCase protected function markAsSkippedIfSymlinkIsMissing($relative = false) { - if (!function_exists('symlink')) { - $this->markTestSkipped('Function symlink is required.'); - } - if ('\\' === DIRECTORY_SEPARATOR && false === self::$symlinkOnWindows) { $this->markTestSkipped('symlink requires "Create symbolic links" privilege on Windows'); }