@@ -154,6 +154,13 @@ class DependencyTest extends \PHPUnit\Framework\TestCase
154154 */
155155 private static $ routesWhitelist = null ;
156156
157+ /**
158+ * Redundant dependencies whitelist
159+ *
160+ * @var array|null
161+ */
162+ private static $ redundantDependenciesWhitelist = null ;
163+
157164 /**
158165 * @var RouteMapper
159166 */
@@ -185,6 +192,7 @@ public static function setUpBeforeClass()
185192 self ::_prepareMapLayoutHandles ();
186193
187194 self ::getLibraryWhiteLists ();
195+ self ::getRedundantDependenciesWhiteLists ();
188196
189197 self ::_initDependencies ();
190198 self ::_initThemes ();
@@ -206,6 +214,26 @@ private static function getLibraryWhiteLists()
206214 }
207215 }
208216
217+ /**
218+ * Initialize redundant dependencies whitelist
219+ *
220+ * @return array
221+ */
222+ private static function getRedundantDependenciesWhiteLists (): array
223+ {
224+ if (is_null (self ::$ redundantDependenciesWhitelist )) {
225+ $ redundantDependenciesWhitelistFilePattern =
226+ realpath (__DIR__ ) . '/_files/dependency_test/whitelist/redundant_dependencies_*.php ' ;
227+ $ redundantDependenciesWhitelist = [];
228+ foreach (glob ($ redundantDependenciesWhitelistFilePattern ) as $ fileName ) {
229+ //phpcs:ignore Magento2.Performance.ForeachArrayMerge
230+ $ redundantDependenciesWhitelist = array_merge ($ redundantDependenciesWhitelist , include $ fileName );
231+ }
232+ self ::$ redundantDependenciesWhitelist = $ redundantDependenciesWhitelist ;
233+ }
234+ return self ::$ redundantDependenciesWhitelist ;
235+ }
236+
209237 /**
210238 * Initialize default themes
211239 */
@@ -532,6 +560,9 @@ public function testRedundant()
532560 foreach (array_keys (self ::$ mapDependencies ) as $ module ) {
533561 $ result = [];
534562 $ redundant = $ this ->_getDependencies ($ module , self ::TYPE_HARD , self ::MAP_TYPE_REDUNDANT );
563+ if (isset (self ::$ redundantDependenciesWhitelist [$ module ])) {
564+ $ redundant = array_diff ($ redundant , self ::$ redundantDependenciesWhitelist [$ module ]);
565+ }
535566 if (!empty ($ redundant )) {
536567 $ result [] = sprintf (
537568 "\r\nModule %s: %s [%s] " ,
0 commit comments