Skip to content

Commit

Permalink
Merge pull request #5413 from magento-obsessive-owls/PB-416-2.4
Browse files Browse the repository at this point in the history
[Owls] Add redundant dependencies whitelist
  • Loading branch information
omiroshnichenko committed Mar 1, 2020
2 parents a3c2af0 + 71e275a commit 690500f
Showing 1 changed file with 31 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,13 @@ class DependencyTest extends \PHPUnit\Framework\TestCase
*/
private static $routesWhitelist = null;

/**
* Redundant dependencies whitelist
*
* @var array|null
*/
private static $redundantDependenciesWhitelist = null;

/**
* @var RouteMapper
*/
Expand Down Expand Up @@ -185,6 +192,7 @@ public static function setUpBeforeClass()
self::_prepareMapLayoutHandles();

self::getLibraryWhiteLists();
self::getRedundantDependenciesWhiteLists();

self::_initDependencies();
self::_initThemes();
Expand All @@ -206,6 +214,26 @@ private static function getLibraryWhiteLists()
}
}

/**
* Initialize redundant dependencies whitelist
*
* @return array
*/
private static function getRedundantDependenciesWhiteLists(): array
{
if (is_null(self::$redundantDependenciesWhitelist)) {
$redundantDependenciesWhitelistFilePattern =
realpath(__DIR__) . '/_files/dependency_test/whitelist/redundant_dependencies_*.php';
$redundantDependenciesWhitelist = [];
foreach (glob($redundantDependenciesWhitelistFilePattern) as $fileName) {
//phpcs:ignore Magento2.Performance.ForeachArrayMerge
$redundantDependenciesWhitelist = array_merge($redundantDependenciesWhitelist, include $fileName);
}
self::$redundantDependenciesWhitelist = $redundantDependenciesWhitelist;
}
return self::$redundantDependenciesWhitelist;
}

/**
* Initialize default themes
*/
Expand Down Expand Up @@ -532,6 +560,9 @@ public function testRedundant()
foreach (array_keys(self::$mapDependencies) as $module) {
$result = [];
$redundant = $this->_getDependencies($module, self::TYPE_HARD, self::MAP_TYPE_REDUNDANT);
if (isset(self::$redundantDependenciesWhitelist[$module])) {
$redundant = array_diff($redundant, self::$redundantDependenciesWhitelist[$module]);
}
if (!empty($redundant)) {
$result[] = sprintf(
"\r\nModule %s: %s [%s]",
Expand Down

0 comments on commit 690500f

Please sign in to comment.