From 13b38eadd5b66fb20877aa5c99d1b1c76aa4db30 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sun, 17 May 2009 10:49:40 +0000 Subject: - Patch #407294 by Litrik: provide hooks to allow other modules to listen to SimpleTest results. Java-lamp, here I come! --- modules/simpletest/simpletest.api.php | 57 +++++++++++++++++++++++++++++++++++ modules/simpletest/simpletest.module | 6 ++++ 2 files changed, 63 insertions(+) create mode 100644 modules/simpletest/simpletest.api.php (limited to 'modules/simpletest') diff --git a/modules/simpletest/simpletest.api.php b/modules/simpletest/simpletest.api.php new file mode 100644 index 000000000..a1cc808de --- /dev/null +++ b/modules/simpletest/simpletest.api.php @@ -0,0 +1,57 @@ +results + */ +function hook_test_finished($results) { +} + + +/** + * @} End of "addtogroup hooks". + */ diff --git a/modules/simpletest/simpletest.module b/modules/simpletest/simpletest.module index caceeda66..d4aa9f6cf 100644 --- a/modules/simpletest/simpletest.module +++ b/modules/simpletest/simpletest.module @@ -127,6 +127,9 @@ function simpletest_run_tests($test_list, $reporter = 'drupal') { 'init_message' => t('Processing test @num of @max - %test.', array('%test' => $info['name'], '@num' => '1', '@max' => count($test_list))), ); batch_set($batch); + + module_invoke_all('test_group_started'); + // Normally, the forms portion of the batch API takes care of calling // batch_process(), but in the process it saves the whole $form into the // database (which is huge for the test selection form). @@ -164,6 +167,8 @@ function _simpletest_batch_operation($test_list_init, $test_id, &$context) { $size = count($test_list); $info = $test->getInfo(); + module_invoke_all('test_finished', $test->results); + // Gather results and compose the report. $test_results[$test_class] = $test->results; foreach ($test_results[$test_class] as $key => $value) { @@ -195,6 +200,7 @@ function _simpletest_batch_finished($success, $results, $operations, $elapsed) { else { drupal_set_message(t('The tests did not successfully finish.'), 'error'); } + module_invoke_all('test_group_finished'); } /** -- cgit v1.2.3