Commit 1ecf2d13 authored by webchick's avatar webchick
Browse files

#808162 by carlos8f, agentrickard: Fixed update.php fails when optional modules disabled.

parent edb84630
......@@ -364,8 +364,8 @@ function system_requirements($phase) {
if ($phase == 'update') {
$files = system_rebuild_module_data();
foreach ($files as $module => $file) {
// Ignore disabled modules.
if (!$file->status) {
// Ignore disabled modules and install profiles.
if (!$file->status || preg_match('/\.profile$/', $file->filename)) {
// Check the module's PHP version.
......@@ -1739,6 +1739,31 @@ class UpdateScriptFunctionalTest extends DrupalWebTestCase {
* Tests the detection of requirements for the update script to proceed.
function testUpdateRequirements() {
$this->drupalGet($this->update_url, array('external' => TRUE));
// Test if disabling a module that another enabled module depends on will
// prevent the update from proceeding.
module_disable(array('block'), FALSE);
$this->assertFalse(module_exists('block'), t('Block module is disabled.'));
$this->assertTrue(module_exists('dashboard'), t('Dashboard module is enabled.'));
$this->drupalGet($this->update_url, array('external' => TRUE));
$this->assertText(t('Unresolved dependency'), t('The update process cannot proceed when a module dependency is not enabled.'));
// Test if modules required by the current install profile are not required
// to be enabled for an update to proceed.
$this->assertTrue(module_exists('block'), t('Block module is enabled.'));
$this->assertFalse(module_exists('overlay'), t('Overlay module is disabled.'));
$this->drupalGet($this->update_url, array('external' => TRUE));
$this->assertNoText(t('Unresolved dependency'), t('The update process can proceed when modules from the install profile are disabled.'));
* Tests the effect of using the update script on the theme system.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment