diff options
author | Dries Buytaert <dries@buytaert.net> | 2008-08-11 17:46:06 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2008-08-11 17:46:06 +0000 |
commit | 8d11f75d89cb38a7f3add3c4eed9e856fdc41846 (patch) | |
tree | 9558879680e6af19dce03fcd959262f26068f93b /modules/simpletest | |
parent | f76ea7023f734bb24b443fa89c1ec5e9772aa2c0 (diff) | |
download | brdo-8d11f75d89cb38a7f3add3c4eed9e856fdc41846.tar.gz brdo-8d11f75d89cb38a7f3add3c4eed9e856fdc41846.tar.bz2 |
- Patch #291750 by boombatower: remove test results after displayed, makes tests work on PostgreSQL.
Diffstat (limited to 'modules/simpletest')
-rw-r--r-- | modules/simpletest/simpletest.module | 26 |
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))); + } +} |