diff --git a/tests/integration/Core/Tester.php b/tests/integration/Core/Tester.php index 33975db81a..d0348ee98b 100644 --- a/tests/integration/Core/Tester.php +++ b/tests/integration/Core/Tester.php @@ -145,6 +145,11 @@ class Tester protected function saveTestConfigData($optionName, $data) { $configData = $this->getTestConfigData(); + + if ($configData[$optionName] === $data) { + return true; + } + $configData[$optionName] = $data; $fileManager = new \Espo\Core\Utils\File\Manager(); @@ -230,9 +235,13 @@ class Tester protected function install() { $fileManager = new \Espo\Core\Utils\File\Manager(); + $configData = $this->getTestConfigData(); $latestEspoDir = Utils::getLatestBuildedPath($this->buildedPath); - $configData = $this->getTestConfigData(); + + if (empty($latestEspoDir)) { + die("EspoCRM build is not found. Please run \"grunt\" in your terminal.\n"); + } if (!isset($configData['siteUrl'])) { $mainConfigData = include('data/config.php'); @@ -286,11 +295,19 @@ class Tester { $configData = $this->getTestConfigData(); - $fullReset = false; + $fullReset = true; + + if (file_exists($latestEspoDir . '/application')) { + $modifiedTime = filemtime($latestEspoDir . '/application'); + + if ( + !$this->getParam('fullReset') && + isset($configData['lastModifiedTime']) && + $configData['lastModifiedTime'] == $modifiedTime + ) { + $fullReset = false; + } - $modifiedTime = filemtime($latestEspoDir . '/application'); - if ($this->getParam('fullReset') || !isset($configData['lastModifiedTime']) || $configData['lastModifiedTime'] != $modifiedTime) { - $fullReset = true; $this->saveTestConfigData('lastModifiedTime', $modifiedTime); } diff --git a/tests/integration/Core/Utils.php b/tests/integration/Core/Utils.php index 84884b417c..09e7b9c347 100644 --- a/tests/integration/Core/Utils.php +++ b/tests/integration/Core/Utils.php @@ -46,7 +46,7 @@ class Utils while ($folderName = $buildDir->read()) { if ($folderName === '.'|| $folderName === '..' || empty($folderName)) continue; - $pattern = '/^EspoCRM-([0-9]+)\.([0-9]+)(?:\.([0-9]+))?(?:-((a|alpha|b|beta|beta\.|pre|rc)[0-9]+)?)?$/'; + $pattern = '/^EspoCRM-([0-9]+)\.([0-9]+)(?:\.([0-9]+))?(?:-((a|alpha|b|beta|pre|rc)(\.[0-9]+)?)?)?$/'; if (preg_match($pattern, $folderName)) { $archives[] = $folderName;