summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-08-11 17:46:06 +0000
committerDries Buytaert <dries@buytaert.net>2008-08-11 17:46:06 +0000
commit8d11f75d89cb38a7f3add3c4eed9e856fdc41846 (patch)
tree9558879680e6af19dce03fcd959262f26068f93b
parentf76ea7023f734bb24b443fa89c1ec5e9772aa2c0 (diff)
downloadbrdo-8d11f75d89cb38a7f3add3c4eed9e856fdc41846.tar.gz
brdo-8d11f75d89cb38a7f3add3c4eed9e856fdc41846.tar.bz2
- Patch #291750 by boombatower: remove test results after displayed, makes tests work on PostgreSQL.
-rw-r--r--modules/simpletest/simpletest.module26
1 files changed, 25 insertions, 1 deletions
diff --git a/modules/simpletest/simpletest.module b/modules/simpletest/simpletest.module
index ae13665cc..9c36d15d4 100644
--- a/modules/simpletest/simpletest.module
+++ b/modules/simpletest/simpletest.module
@@ -63,7 +63,7 @@ function simpletest_test_form() {
$tests = simpletest_categorize_tests($uncategorized_tests);
if (isset($_SESSION['test_id'])) {
$results = db_query("SELECT * FROM {simpletest} WHERE test_id = %d ORDER BY test_class, message_id", $_SESSION['test_id']);
- unset($_SESSION['test_id']);
+
$summary = array(
'#theme' => 'simpletest_result_summary',
'#pass' => 0,
@@ -113,6 +113,14 @@ function simpletest_test_form() {
}
unset($element);
}
+
+ // Clear test results.
+ if (variable_get('simpletest_clear_results', TRUE)) {
+ db_query('DELETE FROM {simpletest} WHERE test_id = %d', $_SESSION['test_id']);
+ db_query('DELETE FROM {simpletest_test_id} WHERE test_id = %d', $_SESSION['test_id']);
+ }
+ unset($_SESSION['test_id']);
+
$all_ok = TRUE;
foreach ($form['results'] as $group => &$elements) {
$group_ok = TRUE;
@@ -462,6 +470,7 @@ function simpletest_categorize_tests($tests) {
function simpletest_clean_environment() {
simpletest_clean_database();
simpletest_clean_temporary_directories();
+ simpletest_clean_results_table();
}
/**
@@ -552,3 +561,18 @@ function simpletest_clean_temporary_directory($path) {
}
rmdir($path);
}
+
+/**
+ * Clear the test results tables.
+ */
+function simpletest_clean_results_table() {
+ if (variable_get('simpletest_clear_results', TRUE)) {
+ $count = db_result(db_query('SELECT COUNT(test_id) FROM {simpletest_test_id}'));
+
+ // Clear test results.
+ db_query('DELETE FROM {simpletest}');
+ db_query('DELETE FROM {simpletest_test_id}');
+
+ drupal_set_message(t('Removed @count test results.', array('@count' => $count)));
+ }
+}