Commit 212768 by dries
- Patch #407294 by Litrik: provide hooks to allow other modules to listen to SimpleTest results. Java-lamp, here I come!
<?php
// $Id$
/**
* @file
* Hooks provided by the SimpleTest module.
*/
/**
* @addtogroup hooks
* @{
*/
/**
* A test group has started.
*
* This hook is called just once at the beginning of a test group.
*
* @return
* None.
*
*/
function hook_test_group_started() {
}
/**
* A test group has finished.
*
* This hook is called just once at the end of a test group.
*
* @return
* None.
*
*/
function hook_test_group_finished() {
}
/**
* An individual test has finished.
*
* This hook is called when an individual test has finished.
*
* @param
* $results The results of the test as gathered by DrupalWebTestCase.
*
* @return
* None.
*
* @see DrupalWebTestCase->results
*/
function hook_test_finished($results) {
}
/**
* @} End of "addtogroup hooks".
*/
--- modules/simpletest/simpletest.module 2009/05/17 08:46:48 1.43
+++ modules/simpletest/simpletest.module 2009/05/17 10:49:40 1.44
@@ -127,6 +127,9 @@
'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 @@
$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 @@
else {
drupal_set_message(t('The tests did not successfully finish.'), 'error');
}
+ module_invoke_all('test_group_finished');
}
/**
// $Id$
/**
* @file
* Hooks provided by the SimpleTest module.
*/
/**
* @addtogroup hooks
* @{
*/
/**
* A test group has started.
*
* This hook is called just once at the beginning of a test group.
*
* @return
* None.
*
*/
function hook_test_group_started() {
}
/**
* A test group has finished.
*
* This hook is called just once at the end of a test group.
*
* @return
* None.
*
*/
function hook_test_group_finished() {
}
/**
* An individual test has finished.
*
* This hook is called when an individual test has finished.
*
* @param
* $results The results of the test as gathered by DrupalWebTestCase.
*
* @return
* None.
*
* @see DrupalWebTestCase->results
*/
function hook_test_finished($results) {
}
/**
* @} End of "addtogroup hooks".
*/
--- modules/simpletest/simpletest.module 2009/05/17 08:46:48 1.43
+++ modules/simpletest/simpletest.module 2009/05/17 10:49:40 1.44
@@ -127,6 +127,9 @@
'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 @@
$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 @@
else {
drupal_set_message(t('The tests did not successfully finish.'), 'error');
}
+ module_invoke_all('test_group_finished');
}
/**