Issue #1460764 by klausi: Missing test coverage for a D7 install with non-required modules installed but disabled.
parent
ded5c02ea8
commit
3da6b98435
|
@ -0,0 +1,57 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Definition of Drupal\system\Tests\Upgrade\ModulesDisabledUpgradePathTest.
|
||||
*/
|
||||
|
||||
namespace Drupal\system\Tests\Upgrade;
|
||||
|
||||
/**
|
||||
* Tests upgrading with all non-required modules installed but disabled.
|
||||
*
|
||||
* Loads a filled installation of Drupal 7 with disabled modules and runs the
|
||||
* upgrade process on it.
|
||||
*/
|
||||
class ModulesDisabledUpgradePathTest extends UpgradePathTestBase {
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
'name' => 'Modules disabled upgrade test',
|
||||
'description' => 'Upgrade path test for disabled modules.',
|
||||
'group' => 'Upgrade path',
|
||||
);
|
||||
}
|
||||
|
||||
public function setUp() {
|
||||
$this->databaseDumpFiles = array(
|
||||
drupal_get_path('module', 'system') . '/tests/upgrade/drupal-7.filled.standard_all.database.php.gz',
|
||||
drupal_get_path('module', 'system') . '/tests/upgrade/drupal-7.all-disabled.database.php',
|
||||
);
|
||||
parent::setUp();
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests an upgrade with all non-required modules installed but disabled.
|
||||
*/
|
||||
public function testDisabledUpgrade() {
|
||||
$this->assertTrue($this->performUpgrade(), 'The upgrade was completed successfully.');
|
||||
|
||||
// Get enabled modules.
|
||||
$enabled = module_list();
|
||||
// Get all available modules.
|
||||
$available = system_rebuild_module_data();
|
||||
// Filter out hidden test modules.
|
||||
foreach ($available as $module => $data) {
|
||||
if (!empty($data->info['hidden'])) {
|
||||
unset($available[$module]);
|
||||
}
|
||||
}
|
||||
$to_enable = array_diff_key($available, $enabled);
|
||||
module_enable(array_keys($to_enable));
|
||||
// Check for updates.
|
||||
require_once DRUPAL_ROOT . '/core/includes/update.inc';
|
||||
require_once DRUPAL_ROOT . '/core/includes/install.inc';
|
||||
$updates = update_get_update_list();
|
||||
$this->assertEqual($updates, array(), 'No pending updates after enabling all modules.');
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Database additions for upgrade path tests when all non-required modules are
|
||||
* disabled.
|
||||
*
|
||||
* The drupal-7.filled.standard_all.database.php file is imported before
|
||||
* this dump, so the two form the database structure expected in tests
|
||||
* altogether.
|
||||
*/
|
||||
|
||||
db_update('system')
|
||||
->fields(array(
|
||||
'status' => 0,
|
||||
))
|
||||
->condition('type', 'module')
|
||||
->condition('name', array('filter', 'field', 'field_sql_storage', 'entity',
|
||||
'system', 'text', 'user'), 'NOT IN')
|
||||
->execute();
|
Loading…
Reference in New Issue