diff options
author | Dries Buytaert <dries@buytaert.net> | 2010-05-26 07:31:47 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2010-05-26 07:31:47 +0000 |
commit | 7d0f0aed7d28123065f0e7c180427ef1e544f5db (patch) | |
tree | 9a60089f6be3c6363e7db3327f75db45b3ddf21d /modules/simpletest | |
parent | fe0c128c71dc912250947bf90f6225357330c1c3 (diff) | |
download | brdo-7d0f0aed7d28123065f0e7c180427ef1e544f5db.tar.gz brdo-7d0f0aed7d28123065f0e7c180427ef1e544f5db.tar.bz2 |
- Patch #592800 by cpliakas, Berdir, aufumy: critical bug: dependent modules are still installed when required modules return errors in hook_requirements().
Diffstat (limited to 'modules/simpletest')
-rw-r--r-- | modules/simpletest/tests/requirements1_test.info | 9 | ||||
-rw-r--r-- | modules/simpletest/tests/requirements1_test.install | 22 | ||||
-rw-r--r-- | modules/simpletest/tests/requirements1_test.module | 8 | ||||
-rw-r--r-- | modules/simpletest/tests/requirements2_test.info | 10 | ||||
-rw-r--r-- | modules/simpletest/tests/requirements2_test.module | 8 | ||||
-rw-r--r-- | modules/simpletest/tests/system_test.module | 3 |
6 files changed, 60 insertions, 0 deletions
diff --git a/modules/simpletest/tests/requirements1_test.info b/modules/simpletest/tests/requirements1_test.info new file mode 100644 index 000000000..6b075dfdf --- /dev/null +++ b/modules/simpletest/tests/requirements1_test.info @@ -0,0 +1,9 @@ +; $Id$ +name = Requirements 1 Test +description = "Tests that a module is not installed when it fails hook_requirements('install')." +package = Core +version = VERSION +core = 7.x +files[] = requirements1_test.install +files[] = requirements1_test.module +hidden = TRUE diff --git a/modules/simpletest/tests/requirements1_test.install b/modules/simpletest/tests/requirements1_test.install new file mode 100644 index 000000000..28b7fb666 --- /dev/null +++ b/modules/simpletest/tests/requirements1_test.install @@ -0,0 +1,22 @@ +<?php +// $Id$ + +/** + * Implements hook_requirements(). + */ +function requirements1_test_requirements($phase) { + $requirements = array(); + // Ensure translations don't break at install time. + $t = get_t(); + + // Always fails requirements. + if ('install' == $phase) { + $requirements['requirements1_test'] = array( + 'title' => $t('Requirements 1 Test'), + 'severity' => REQUIREMENT_ERROR, + 'description' => $t('Requirements 1 Test failed requirements.'), + ); + } + + return $requirements; +} diff --git a/modules/simpletest/tests/requirements1_test.module b/modules/simpletest/tests/requirements1_test.module new file mode 100644 index 000000000..20bfc0a35 --- /dev/null +++ b/modules/simpletest/tests/requirements1_test.module @@ -0,0 +1,8 @@ +<?php +// $Id$ + +/** + * @file + * Tests that a module is not installed when it fails + * hook_requirements('install'). + */ diff --git a/modules/simpletest/tests/requirements2_test.info b/modules/simpletest/tests/requirements2_test.info new file mode 100644 index 000000000..9f2ae0abf --- /dev/null +++ b/modules/simpletest/tests/requirements2_test.info @@ -0,0 +1,10 @@ +; $Id$ +name = Requirements 2 Test +description = "Tests that a module is not installed when the one it depends on fails hook_requirements('install)." +dependencies[] = requirements1_test +dependencies[] = comment +package = Core +version = VERSION +core = 7.x +files[] = requirements2_test.module +hidden = TRUE diff --git a/modules/simpletest/tests/requirements2_test.module b/modules/simpletest/tests/requirements2_test.module new file mode 100644 index 000000000..03eb94dd7 --- /dev/null +++ b/modules/simpletest/tests/requirements2_test.module @@ -0,0 +1,8 @@ +<?php +// $Id$ + +/** + * @file + * Tests that a module is not installed when the one it depends on fails + * hook_requirements('install'). + */ diff --git a/modules/simpletest/tests/system_test.module b/modules/simpletest/tests/system_test.module index 5fa2fdc85..b902fd6ca 100644 --- a/modules/simpletest/tests/system_test.module +++ b/modules/simpletest/tests/system_test.module @@ -220,6 +220,9 @@ function system_test_system_info_alter(&$info, $file, $type) { if ($file->name == 'system_dependencies_test') { $info['hidden'] = FALSE; } + if ($file->name == 'requirements1_test' || $file->name == 'requirements2_test') { + $info['hidden'] = FALSE; + } } /** |