Skip to content

Commit 697c2b8

Browse files
author
Oleksandr Manchenko
committed
MTA-1272: Update file iterators to work with symlinks
1 parent 912b4a8 commit 697c2b8

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

dev/tests/functional/lib/Mtf/Util/Generate/Factory/AbstractFactory.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,10 @@ protected function collectItems($type)
161161
} else {
162162
$dirIterator = new \RegexIterator(
163163
new \RecursiveIteratorIterator(
164-
new \RecursiveDirectoryIterator($filePath, \FilesystemIterator::SKIP_DOTS)
164+
new \RecursiveDirectoryIterator(
165+
$filePath,
166+
\FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS
167+
)
165168
),
166169
'/.php$/i'
167170
);
@@ -190,9 +193,10 @@ protected function _processItem(& $items, & $rewrites, $filename, $location, $pa
190193
{
191194
$filename = str_replace('\\', '/', $filename);
192195

193-
$classPath = str_replace(MTF_BP . '/' . $path . '/', '', $filename);
194-
$classPath = str_replace('.php', '', $classPath);
195-
$className = str_replace('/', '\\', $classPath);
196+
$posTestsPath = strpos($filename, $path);
197+
$posClassName = $posTestsPath + strlen($path);
198+
$classPath = str_replace('.php', '', $filename);
199+
$className = str_replace('/', '\\', substr($classPath, $posClassName));
196200

197201
$reflectionClass = new \ReflectionClass($className);
198202
if ($reflectionClass->isAbstract()) {

0 commit comments

Comments
 (0)