diff options
author | webchick <webchick@24967.no-reply.drupal.org> | 2012-02-28 23:05:40 -0800 |
---|---|---|
committer | webchick <webchick@24967.no-reply.drupal.org> | 2012-02-28 23:05:40 -0800 |
commit | a71a3f59c82ec2b3b027817fafd0f5edad2e54ab (patch) | |
tree | bf7875de10115a6451ec167d6c28b71966e35df1 /modules/simpletest | |
parent | bb3f7e97c33671539d61158e16cac965c72080d0 (diff) | |
download | brdo-a71a3f59c82ec2b3b027817fafd0f5edad2e54ab.tar.gz brdo-a71a3f59c82ec2b3b027817fafd0f5edad2e54ab.tar.bz2 |
Issue #911354 by adrian, boombatower, jhedstrom, sun, yhahn, langworthy, dixon_, jrbeeman: Fixed Tests in profiles/[name]/modules cannot be run and cannot use a different profile for running tests.
Diffstat (limited to 'modules/simpletest')
-rw-r--r-- | modules/simpletest/drupal_web_test_case.php | 6 | ||||
-rw-r--r-- | modules/simpletest/simpletest.test | 88 |
2 files changed, 94 insertions, 0 deletions
diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php index a457a89b3..42bab12ce 100644 --- a/modules/simpletest/drupal_web_test_case.php +++ b/modules/simpletest/drupal_web_test_case.php @@ -1344,6 +1344,12 @@ class DrupalWebTestCase extends DrupalTestCase { variable_set('file_private_path', $private_files_directory); variable_set('file_temporary_path', $temp_files_directory); + // Set the 'simpletest_parent_profile' variable to add the parent profile's + // search path to the child site's search paths. + // @see drupal_system_listing() + // @todo This may need to be primed like 'install_profile' above. + variable_set('simpletest_parent_profile', $this->originalProfile); + // Include the testing profile. variable_set('install_profile', $this->profile); $profile_details = install_profile_info($this->profile, 'en'); diff --git a/modules/simpletest/simpletest.test b/modules/simpletest/simpletest.test index dbe2ec0f3..c67b004ea 100644 --- a/modules/simpletest/simpletest.test +++ b/modules/simpletest/simpletest.test @@ -567,3 +567,91 @@ class SimpleTestBrokenSetUp extends DrupalWebTestCase { } } } + +/** + * Verifies that tests bundled with installation profile modules are found. + */ +class SimpleTestInstallationProfileModuleTestsTestCase extends DrupalWebTestCase { + /** + * Use the Testing profile. + * + * The Testing profile contains drupal_system_listing_compatible_test.test, + * which attempts to: + * - run tests using the Minimal profile (which does not contain the + * drupal_system_listing_compatible_test.module) + * - but still install the drupal_system_listing_compatible_test.module + * contained in the Testing profile. + * + * @see DrupalSystemListingCompatibleTestCase + */ + protected $profile = 'testing'; + + public static function getInfo() { + return array( + 'name' => 'Installation profile module tests', + 'description' => 'Verifies that tests bundled with installation profile modules are found.', + 'group' => 'SimpleTest', + ); + } + + function setUp() { + parent::setUp(array('simpletest')); + + $this->admin_user = $this->drupalCreateUser(array('administer unit tests')); + $this->drupalLogin($this->admin_user); + } + + /** + * Tests existence of test case located in an installation profile module. + */ + function testInstallationProfileTests() { + $this->drupalGet('admin/config/development/testing'); + $this->assertText('Installation profile module tests helper'); + $edit = array( + 'DrupalSystemListingCompatibleTestCase' => TRUE, + ); + $this->drupalPost(NULL, $edit, t('Run tests')); + $this->assertText('DrupalSystemListingCompatibleTestCase test executed.'); + } +} + +/** + * Verifies that tests in other installation profiles are not found. + * + * @see SimpleTestInstallationProfileModuleTestsTestCase + */ +class SimpleTestOtherInstallationProfileModuleTestsTestCase extends DrupalWebTestCase { + /** + * Use the Minimal profile. + * + * The Testing profile contains drupal_system_listing_compatible_test.test, + * which should not be found. + * + * @see SimpleTestInstallationProfileModuleTestsTestCase + * @see DrupalSystemListingCompatibleTestCase + */ + protected $profile = 'minimal'; + + public static function getInfo() { + return array( + 'name' => 'Other Installation profiles', + 'description' => 'Verifies that tests in other installation profiles are not found.', + 'group' => 'SimpleTest', + ); + } + + function setUp() { + parent::setUp(array('simpletest')); + + $this->admin_user = $this->drupalCreateUser(array('administer unit tests')); + $this->drupalLogin($this->admin_user); + } + + /** + * Tests that tests located in another installation profile do not appear. + */ + function testOtherInstallationProfile() { + $this->drupalGet('admin/config/development/testing'); + $this->assertNoText('Installation profile module tests helper'); + } +} |