summaryrefslogtreecommitdiff
path: root/kolab.org/www/drupal-7.26/modules/simpletest/simpletest.install
diff options
context:
space:
mode:
Diffstat (limited to 'kolab.org/www/drupal-7.26/modules/simpletest/simpletest.install')
-rw-r--r--kolab.org/www/drupal-7.26/modules/simpletest/simpletest.install182
1 files changed, 182 insertions, 0 deletions
diff --git a/kolab.org/www/drupal-7.26/modules/simpletest/simpletest.install b/kolab.org/www/drupal-7.26/modules/simpletest/simpletest.install
new file mode 100644
index 0000000..6c6f569
--- /dev/null
+++ b/kolab.org/www/drupal-7.26/modules/simpletest/simpletest.install
@@ -0,0 +1,182 @@
+<?php
+
+/**
+ * @file
+ * Install, update and uninstall functions for the simpletest module.
+ */
+
+/**
+ * Minimum value of PHP memory_limit for SimpleTest.
+ */
+define('SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT', '64M');
+
+/**
+ * Implements hook_requirements().
+ */
+function simpletest_requirements($phase) {
+ $requirements = array();
+ $t = get_t();
+
+ $has_curl = function_exists('curl_init');
+ $has_hash = function_exists('hash_hmac');
+ $has_domdocument = method_exists('DOMDocument', 'loadHTML');
+ $open_basedir = ini_get('open_basedir');
+
+ $requirements['curl'] = array(
+ 'title' => $t('cURL'),
+ 'value' => $has_curl ? $t('Enabled') : $t('Not found'),
+ );
+ if (!$has_curl) {
+ $requirements['curl']['severity'] = REQUIREMENT_ERROR;
+ $requirements['curl']['description'] = $t('The testing framework could not be installed because the PHP <a href="@curl_url">cURL</a> library is not available.', array('@curl_url' => 'http://php.net/manual/en/curl.setup.php'));
+ }
+ $requirements['hash'] = array(
+ 'title' => $t('hash'),
+ 'value' => $has_hash ? $t('Enabled') : $t('Not found'),
+ );
+ if (!$has_hash) {
+ $requirements['hash']['severity'] = REQUIREMENT_ERROR;
+ $requirements['hash']['description'] = $t('The testing framework could not be installed because the PHP <a href="@hash_url">hash</a> extension is disabled.', array('@hash_url' => 'http://php.net/manual/en/book.hash.php'));
+ }
+
+ $requirements['php_domdocument'] = array(
+ 'title' => $t('PHP DOMDocument class'),
+ 'value' => $has_domdocument ? $t('Enabled') : $t('Not found'),
+ );
+ if (!$has_domdocument) {
+ $requirements['php_domdocument']['severity'] = REQUIREMENT_ERROR;
+ $requirements['php_domdocument']['description'] = $t('The testing framework requires the DOMDocument class to be available. Check the configure command at the <a href="@link-phpinfo">PHP info page</a>.', array('@link-phpinfo' => url('admin/reports/status/php')));
+ }
+
+ // SimpleTest currently needs 2 cURL options which are incompatible with
+ // having PHP's open_basedir restriction set.
+ // See http://drupal.org/node/674304.
+ $requirements['php_open_basedir'] = array(
+ 'title' => $t('PHP open_basedir restriction'),
+ 'value' => $open_basedir ? $t('Enabled') : $t('Disabled'),
+ );
+ if ($open_basedir) {
+ $requirements['php_open_basedir']['severity'] = REQUIREMENT_ERROR;
+ $requirements['php_open_basedir']['description'] = $t('The testing framework requires the PHP <a href="@open_basedir-url">open_basedir</a> restriction to be disabled. Check your webserver configuration or contact your web host.', array('@open_basedir-url' => 'http://php.net/manual/en/ini.core.php#ini.open-basedir'));
+ }
+
+ // Check the current memory limit. If it is set too low, SimpleTest will fail
+ // to load all tests and throw a fatal error.
+ $memory_limit = ini_get('memory_limit');
+ if (!drupal_check_memory_limit(SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT, $memory_limit)) {
+ $requirements['php_memory_limit']['severity'] = REQUIREMENT_ERROR;
+ $requirements['php_memory_limit']['description'] = $t('The testing framework requires the PHP memory limit to be at least %memory_minimum_limit. The current value is %memory_limit. <a href="@url">Follow these steps to continue</a>.', array('%memory_limit' => $memory_limit, '%memory_minimum_limit' => SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT, '@url' => 'http://drupal.org/node/207036'));
+ }
+
+ return $requirements;
+}
+
+/**
+ * Implements hook_schema().
+ */
+function simpletest_schema() {
+ $schema['simpletest'] = array(
+ 'description' => 'Stores simpletest messages',
+ 'fields' => array(
+ 'message_id' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => 'Primary Key: Unique simpletest message ID.',
+ ),
+ 'test_id' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => 'Test ID, messages belonging to the same ID are reported together',
+ ),
+ 'test_class' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'The name of the class that created this message.',
+ ),
+ 'status' => array(
+ 'type' => 'varchar',
+ 'length' => 9,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'Message status. Core understands pass, fail, exception.',
+ ),
+ 'message' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'description' => 'The message itself.',
+ ),
+ 'message_group' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'The message group this message belongs to. For example: warning, browser, user.',
+ ),
+ 'function' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'Name of the assertion function or method that created this message.',
+ ),
+ 'line' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => 'Line number on which the function is called.',
+ ),
+ 'file' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => 'Name of the file where the function is called.',
+ ),
+ ),
+ 'primary key' => array('message_id'),
+ 'indexes' => array(
+ 'reporter' => array('test_class', 'message_id'),
+ ),
+ );
+ $schema['simpletest_test_id'] = array(
+ 'description' => 'Stores simpletest test IDs, used to auto-incrament the test ID so that a fresh test ID is used.',
+ 'fields' => array(
+ 'test_id' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => 'Primary Key: Unique simpletest ID used to group test results together. Each time a set of tests
+ are run a new test ID is used.',
+ ),
+ 'last_prefix' => array(
+ 'type' => 'varchar',
+ 'length' => 60,
+ 'not null' => FALSE,
+ 'default' => '',
+ 'description' => 'The last database prefix used during testing.',
+ ),
+ ),
+ 'primary key' => array('test_id'),
+ );
+ return $schema;
+}
+
+/**
+ * Implements hook_uninstall().
+ */
+function simpletest_uninstall() {
+ drupal_load('module', 'simpletest');
+ simpletest_clean_database();
+
+ // Remove settings variables.
+ variable_del('simpletest_httpauth_method');
+ variable_del('simpletest_httpauth_username');
+ variable_del('simpletest_httpauth_password');
+ variable_del('simpletest_clear_results');
+ variable_del('simpletest_verbose');
+
+ // Remove generated files.
+ file_unmanaged_delete_recursive('public://simpletest');
+}