From b0609e86d1afe9120f6fe7c6635243ae9f76de02 Mon Sep 17 00:00:00 2001 From: odain Date: Thu, 6 Aug 2020 11:00:53 +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 | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php b/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php index 926a50942..7c1907f03 100644 --- a/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php +++ b/test/releaseChecklist/iTopModuleXmlInstallationChecklistTest.php @@ -49,6 +49,10 @@ class iTopModuleXmlInstallationChecklistTest extends ItopTestCase public function testAllModuleAreIncludedInInstallationXml() { $sInstallationXmlPath = APPROOT.'datamodels/2.x/installation.xml'; + if (!is_file($sInstallationXmlPath)) + { + $sInstallationXmlPath = APPROOT.'datamodels/1.x/installation.xml'; + } $this->assertTrue(is_file($sInstallationXmlPath), "$sInstallationXmlPath does not exist"); $sInstallationXmlContent = file_get_contents($sInstallationXmlPath); @@ -67,7 +71,7 @@ class iTopModuleXmlInstallationChecklistTest extends ItopTestCase $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));²² + $this->assertArraySubset($aDeclaredModules, $aModulesFromDatamodels, false, "Not all modules are contained in $sInstallationXmlPath. Refered modules:\n " . var_export($aModulesFromDatamodels, true)); } public function GetModulesFromDatamodels($sFolder) @@ -84,10 +88,16 @@ class iTopModuleXmlInstallationChecklistTest extends ItopTestCase else if (preg_match("/module\..*\.php/", basename($sPath))) { $sModulePhpContent = file_get_contents($sPath); - if (strpos($sModulePhpContent, "SetupWebPage::AddModule(")!==false - && strpos($sModulePhpContent, "'mandatory' => true,")===false - && strpos($sModulePhpContent, "'visible' => false,")===false) + if (strpos($sModulePhpContent, "SetupWebPage::AddModule")!==false + && strpos($sModulePhpContent, "'mandatory' => true")===false) { + //filter modules autoselected due to below condition + if (strpos($sModulePhpContent, "'mandatory' => false")!==false + && strpos($sModulePhpContent, "'visible' => false")!==false) + { + continue; + } + $sModule = basename(dirname($sPath)); $aModules[$sModule] = $sModule; }