From b9145ca9962e31fd397aa6fd5187aad2d1cca0a6 Mon Sep 17 00:00:00 2001 From: odain Date: Thu, 6 Aug 2020 10:51:34 +0200 Subject: [PATCH] =?UTF-8?q?N=C2=B03060=20-=20filter=20modules=20autoinstal?= =?UTF-8?q?led=20in=20checklist=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iTopModuleXmlInstallationChecklistTest.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php b/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php index 1f7bb4521..926a50942 100644 --- a/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php +++ b/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php @@ -65,7 +65,9 @@ class iTopModuleXmlInstallationChecklistTest extends ItopTestCase } } - $this->assertArraySubset($this->GetModulesFromDatamodels(APPROOT.'/datamodels'), $aDeclaredModules, false, "$sInstallationXmlPath does not refer to all provided modules. Refered modules:\n " . var_export($aDeclaredModules, true)); + $aModulesFromDatamodels = $this->GetModulesFromDatamodels(APPROOT.'/datamodels'); + $this->assertArraySubset($aModulesFromDatamodels, $aDeclaredModules, false, "$sInstallationXmlPath does not refer to all provided modules. Refered modules:\n " . var_export($aDeclaredModules, true)); + $this->assertArraySubset($aDeclaredModules, $aModulesFromDatamodels, false, "Not all modules are contained in $sInstallationXmlPath. Refered modules:\n " . var_export($aModulesFromDatamodels, true));²² } public function GetModulesFromDatamodels($sFolder) @@ -79,10 +81,16 @@ class iTopModuleXmlInstallationChecklistTest extends ItopTestCase { $aModules = array_merge($aModules, $this->GetModulesFromDatamodels($sPath)); } - else if (preg_match("/datamodel\..*\.xml/", basename($sPath))) + else if (preg_match("/module\..*\.php/", basename($sPath))) { - $sModule = basename(dirname($sPath)); - $aModules[$sModule] = $sModule; + $sModulePhpContent = file_get_contents($sPath); + if (strpos($sModulePhpContent, "SetupWebPage::AddModule(")!==false + && strpos($sModulePhpContent, "'mandatory' => true,")===false + && strpos($sModulePhpContent, "'visible' => false,")===false) + { + $sModule = basename(dirname($sPath)); + $aModules[$sModule] = $sModule; + } } } }