Index: modules/comment/comment.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.test,v
retrieving revision 1.27
diff -u -r1.27 comment.test
--- modules/comment/comment.test	25 Mar 2009 16:54:24 -0000	1.27
+++ modules/comment/comment.test	30 Mar 2009 21:12:30 -0000
@@ -229,7 +229,7 @@
 }
 
 class CommentInterfaceTest extends CommentHelperCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Comment interface'),
       'description' => t('Test comment user interfaces.'),
@@ -359,7 +359,7 @@
 }
 
 class CommentAnonymous extends CommentHelperCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Anonymous comments'),
       'description' => t('Test anonymous comments.'),
@@ -455,7 +455,7 @@
 }
 
 class CommentApprovalTest extends CommentHelperCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Comment approval'),
       'description' => t('Test comment approval functionality.'),
@@ -537,7 +537,7 @@
  * Functional tests for the comment module blocks.
  */
 class CommentBlockFunctionalTest extends CommentHelperCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Comment blocks'),
       'description' => t('Test comment block functionality.'),
@@ -606,7 +606,7 @@
  * Unit tests for comment module integration with RSS feeds.
  */
 class CommentRSSUnitTest extends CommentHelperCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Comment RSS'),
       'description' => t('Test comments as part of an RSS feed.'),
Index: modules/help/help.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/help/help.test,v
retrieving revision 1.5
diff -u -r1.5 help.test
--- modules/help/help.test	8 Mar 2009 03:39:57 -0000	1.5
+++ modules/help/help.test	30 Mar 2009 21:12:31 -0000
@@ -5,7 +5,7 @@
   protected $big_user;
   protected $any_user;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Help functionality'),
       'description' => t('Verify help display and user access to help based on persmissions.'),
Index: modules/simpletest/tests/graph.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/graph.test,v
retrieving revision 1.1
diff -u -r1.1 graph.test
--- modules/simpletest/tests/graph.test	14 Jan 2009 12:18:37 -0000	1.1
+++ modules/simpletest/tests/graph.test	30 Mar 2009 21:12:35 -0000
@@ -10,7 +10,7 @@
  * Unit tests for the graph handling features.
  */
 class GraphUnitTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Graph'),
       'description' => t('Graph handling unit tests.'),
Index: modules/simpletest/tests/common.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/common.test,v
retrieving revision 1.31
diff -u -r1.31 common.test
--- modules/simpletest/tests/common.test	30 Mar 2009 05:13:45 -0000	1.31
+++ modules/simpletest/tests/common.test	30 Mar 2009 21:12:33 -0000
@@ -6,7 +6,7 @@
  */
 class CommonLUnitTest extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Tests for the l() function'),
       'description' => t('Confirm that url() works correctly with various input.'),
@@ -30,7 +30,7 @@
   protected $exact_test_cases;
   protected $rounded_test_cases;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Size parsing test'),
       'description' => t('Parse a predefined amount of bytes and compare the output with the expected value.'),
@@ -134,7 +134,7 @@
     '"Drupal, although it rhymes with sloopal, is as awesome as a troopal!"' => 'Drupal, although it rhymes with sloopal, is as awesome as a troopal!',
   );
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Drupal tags handling'),
       'description' => t("Performs tests on Drupal's handling of tags, both explosion and implosion tactics used."),
@@ -184,7 +184,7 @@
  * Test the Drupal CSS system.
  */
 class CascadingStylesheetsTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Cascading stylesheets'),
       'description' => t('Tests adding various cascading stylesheets to the page.'),
@@ -278,7 +278,7 @@
  * Test drupal_http_request().
  */
 class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Drupal HTTP request'),
       'description' => t("Performs tests on Drupal's HTTP request mechanism."),
@@ -359,7 +359,7 @@
  * Testing drupal_set_content and drupal_get_content.
  */
 class DrupalSetContentTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Drupal set/get content'),
       'description' => t('Performs tests on setting and retrieiving content from theme regions.'),
@@ -410,7 +410,7 @@
    */
   var $preprocess_js = NULL;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('JavaScript'),
       'description' => t('Tests the JavaScript system.'),
@@ -562,7 +562,7 @@
  * Tests for drupal_render().
  */
 class DrupalRenderUnitTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Drupal render'),
       'description' => t('Performs unit tests on drupal_render().'),
@@ -627,7 +627,7 @@
  * Tests Drupal error and exception handlers.
  */
 class DrupalErrorHandlerUnitTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Drupal error handlers'),
       'description' => t('Performs tests on the Drupal error and exception handler.'),
@@ -739,7 +739,7 @@
  * Test for valid_url().
  */
 class ValidUrlTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Valid Url'),
       'description' => t("Performs tests on Drupal's valid url function."),
@@ -847,7 +847,7 @@
  * Tests for CRUD API functions.
  */
 class DrupalDataApiTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Data API functions'),
       'description' => t('Tests the performance of CRUD APIs.'),
@@ -904,7 +904,7 @@
    */
   protected $collectedErrors = array();
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('SimpleTest error collecter'),
       'description' => t('Performs tests on the Simpletest error and exception collecter.'),
Index: modules/simpletest/tests/actions.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/actions.test,v
retrieving revision 1.2
diff -u -r1.2 actions.test
--- modules/simpletest/tests/actions.test	25 Nov 2008 13:14:28 -0000	1.2
+++ modules/simpletest/tests/actions.test	30 Mar 2009 21:12:32 -0000
@@ -2,7 +2,7 @@
 // $Id: actions.test,v 1.2 2008/11/25 13:14:28 dries Exp $
 
 class ActionsConfigurationTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Actions configuration'),
       'description' => t('Tests complex actions configuration by adding, editing, and deleting a complex action.'),
Index: modules/simpletest/tests/database_test.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/database_test.test,v
retrieving revision 1.46
diff -u -r1.46 database_test.test
--- modules/simpletest/tests/database_test.test	14 Mar 2009 17:45:55 -0000	1.46
+++ modules/simpletest/tests/database_test.test	30 Mar 2009 21:12:34 -0000
@@ -171,7 +171,7 @@
  */
 class DatabaseConnectionTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Connection tests'),
       'description' => t('Tests of the core database system.'),
@@ -239,7 +239,7 @@
  */
 class DatabaseFetchTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Fetch tests'),
       'description' => t('Test the Database system\'s various fetch capabilities.'),
@@ -320,7 +320,7 @@
  */
 class DatabaseFetch2TestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Fetch tests, part 2'),
       'description' => t('Test the Database system\'s various fetch capabilities.'),
@@ -385,7 +385,7 @@
  */
 class DatabaseInsertTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Insert tests'),
       'description' => t('Test the Insert query builder.'),
@@ -519,7 +519,7 @@
  */
 class DatabaseInsertLOBTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Insert tests, LOB fields'),
       'description' => t('Test the Insert query builder with LOB fields.'),
@@ -559,7 +559,7 @@
  */
 class DatabaseInsertDefaultsTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Insert tests, default fields'),
       'description' => t('Test the Insert query builder with default values.'),
@@ -612,7 +612,7 @@
  */
 class DatabaseUpdateTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Update tests'),
       'description' => t('Test the Update query builder.'),
@@ -683,7 +683,7 @@
  */
 class DatabaseUpdateComplexTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Update tests, Complex'),
       'description' => t('Test the Update query builder, complex queries.'),
@@ -804,7 +804,7 @@
  */
 class DatabaseUpdateLOBTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Update tests, LOB'),
       'description' => t('Test the Update query builder with LOB fields.'),
@@ -856,7 +856,7 @@
  */
 class DatabaseDeleteTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Delete tests'),
       'description' => t('Test the Delete query builder.'),
@@ -883,7 +883,7 @@
  */
 class DatabaseMergeTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Merge tests'),
       'description' => t('Test the Merge query builder.'),
@@ -1071,7 +1071,7 @@
  */
 class DatabaseSelectTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Select tests'),
       'description' => t('Test the Select query builder.'),
@@ -1242,7 +1242,7 @@
  */
 class DatabaseSelectSubqueryTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Select tests, subqueries'),
       'description' => t('Test the Select query builder.'),
@@ -1308,7 +1308,7 @@
  */
 class DatabaseSelectOrderedTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Select tests, ordered'),
       'description' => t('Test the Select query builder.'),
@@ -1395,7 +1395,7 @@
  */
 class DatabaseSelectComplexTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Select tests, complex'),
       'description' => t('Test the Select query builder with more complex queries.'),
@@ -1598,7 +1598,7 @@
 
 class DatabaseSelectPagerDefaultTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Pager query tests'),
       'description' => t('Test the pager query extender.'),
@@ -1678,7 +1678,7 @@
 
 class DatabaseSelectTableSortDefaultTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Tablesort query tests'),
       'description' => t('Test the tablesort query extender.'),
@@ -1723,7 +1723,7 @@
  */
 class DatabaseTaggingTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Query tagging tests'),
       'description' => t('Test the tagging capabilities of the Select builder.'),
@@ -1806,7 +1806,7 @@
  */
 class DatabaseAlterTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Query altering tests'),
       'description' => t('Test the hook_query_alter capabilities of the Select builder.'),
@@ -1890,7 +1890,7 @@
  */
 class DatabaseAlter2TestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Query altering tests, part 2'),
       'description' => t('Test the hook_query_alter capabilities of the Select builder.'),
@@ -1952,7 +1952,7 @@
  */
 class DatabaseRegressionTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Regression tests'),
       'description' => t('Regression tests cases for the database layer.'),
@@ -2002,7 +2002,7 @@
  */
 class DatabaseLoggingTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Query logging'),
       'description' => t('Test the query logging facility.'),
@@ -2127,7 +2127,7 @@
  * Range query tests.
  */
 class DatabaseRangeQueryTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Range query test'),
       'description' => t('Test the Range query functionality.'),
@@ -2158,7 +2158,7 @@
  * Temporary query tests.
  */
 class DatabaseTemporaryQueryTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Temporary query test'),
       'description' => t('Test the temporary query functionality.'),
@@ -2208,7 +2208,7 @@
  * database system interprets SQL syntax in an expected fashion.
  */
 class DatabaseAnsiSyntaxTestCase extends DatabaseTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('ANSI SQL syntax tests'),
       'description' => t('Test ANSI SQL syntax interpretation.'),
@@ -2249,7 +2249,7 @@
  * Test invalid data handling.
  */
 class DatabaseInvalidDataTestCase extends DatabaseTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Invalid data'),
       'description' => t('Test handling of some invalid data.'),
@@ -2322,7 +2322,7 @@
  * Drupal-specific SQL syntax tests.
  */
 class DatabaseQueryTestCase extends DatabaseTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Custom query syntax tests'),
       'description' => t('Test Drupal\'s extended prepared statement syntax..'),
@@ -2366,7 +2366,7 @@
  */
 class DatabaseTransactionTestCase extends DatabaseTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Transaction tests'),
       'description' => t('Test the transaction abstraction system.'),
Index: modules/simpletest/tests/form.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/form.test,v
retrieving revision 1.6
diff -u -r1.6 form.test
--- modules/simpletest/tests/form.test	28 Mar 2009 18:09:11 -0000	1.6
+++ modules/simpletest/tests/form.test	30 Mar 2009 21:12:35 -0000
@@ -8,7 +8,7 @@
 
 class FormsTestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Required field validation'),
       'description' => t('Carriage returns, tabs, and spaces are not valid content for a required field.'),
@@ -78,7 +78,7 @@
  * Test form type functions for expected behavior.
  */
 class FormsTestTypeCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Form type-specific tests'),
       'description' => t('Test form type functions for expected behavior.'),
@@ -116,7 +116,7 @@
  */
 class FormsElementsTableSelectFunctionalTest extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Tableselect form element type test'),
       'description' => t('Test the tableselect element for expected behavior'),
@@ -320,7 +320,7 @@
  */
 class FormsFormCleanIdFunctionalTest extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('form_clean_id() test'),
       'description' => t('Test the function form_clean_id() for expected behavior'),
@@ -350,7 +350,7 @@
  */
 class FormAPITestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Drupal Execute and Batch API'),
       'description' => t('Tests the compatibility of drupal_execute and the Batch API'),
Index: modules/simpletest/tests/unicode.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/unicode.test,v
retrieving revision 1.2
diff -u -r1.2 unicode.test
--- modules/simpletest/tests/unicode.test	2 Jan 2009 22:09:53 -0000	1.2
+++ modules/simpletest/tests/unicode.test	30 Mar 2009 21:12:35 -0000
@@ -18,7 +18,7 @@
    */
   protected $extendedMode = FALSE;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Unicode handling'),
       'description' => t('Tests Drupal Unicode handling.'),
Index: modules/simpletest/tests/menu.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/menu.test,v
retrieving revision 1.7
diff -u -r1.7 menu.test
--- modules/simpletest/tests/menu.test	14 Mar 2009 20:56:06 -0000	1.7
+++ modules/simpletest/tests/menu.test	30 Mar 2009 21:12:35 -0000
@@ -7,7 +7,7 @@
  */
 
 class MenuIncTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Hook menu tests'),
       'description' => t('Test menu hook functionality.'),
@@ -65,7 +65,7 @@
  * Tests rebuilding the menu by setting 'menu_rebuild_needed.'
  */
 class MenuRebuildTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Menu rebuild test'),
       'description' => t('Test rebuilding of menu.'),
Index: modules/simpletest/tests/registry.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/registry.test,v
retrieving revision 1.5
diff -u -r1.5 registry.test
--- modules/simpletest/tests/registry.test	8 Dec 2008 21:41:54 -0000	1.5
+++ modules/simpletest/tests/registry.test	30 Mar 2009 21:12:35 -0000
@@ -2,7 +2,7 @@
 // $Id: registry.test,v 1.5 2008/12/08 21:41:54 dries Exp $
 
 class RegistryParseFileTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Registry parse file test'),
       'description' => t('Parse a simple file and check that its resources are saved to the database.'),
@@ -51,7 +51,7 @@
 class RegistryParseFilesTestCase extends DrupalWebTestCase {
   protected $fileTypes = array('new', 'existing_changed');
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Registry parse files test'),
       'description' => t('Read two a simple files from disc, and check that their resources are saved to the database.'),
Index: modules/simpletest/tests/file.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/file.test,v
retrieving revision 1.26
diff -u -r1.26 file.test
--- modules/simpletest/tests/file.test	14 Mar 2009 23:01:37 -0000	1.26
+++ modules/simpletest/tests/file.test	30 Mar 2009 21:12:34 -0000
@@ -249,7 +249,7 @@
  *  This will run tests against the file_space_used() function.
  */
 class FileSpaceUsedTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File space used tests'),
       'description' => t('Tests the file_space_used() function.'),
@@ -309,7 +309,7 @@
  *  This will run tests against the file validation functions (file_validate_*).
  */
 class FileValidatorTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File validator tests'),
       'description' => t('Tests the functions used to validate uploaded files.'),
@@ -467,7 +467,7 @@
  *  Tests the file_unmanaged_save_data() function.
  */
 class FileUnmanagedSaveDataTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Unmanaged file save data'),
       'description' => t('Tests the unmanaged file save data function.'),
@@ -511,7 +511,7 @@
    */
   var $maxFidBefore;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File uploading'),
       'description' => t('Tests the file uploading functions.'),
@@ -639,7 +639,7 @@
  * Directory related tests.
  */
 class FileDirectoryTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File paths and directories'),
       'description' => t('Tests operations dealing with directories.'),
@@ -804,7 +804,7 @@
  * Tests the file_scan_directory() function.
  */
 class FileScanDirectoryTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File scan directory'),
       'description' => t('Tests the file_scan_directory() function.'),
@@ -932,7 +932,7 @@
  * Deletion related tests.
  */
 class FileUnmanagedDeleteTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Unmanaged file delete'),
       'description' => t('Tests the unmanaged file delete function.'),
@@ -978,7 +978,7 @@
  * Deletion related tests.
  */
 class FileUnmanagedDeleteRecursiveTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Unmanaged recursive file delete'),
       'description' => t('Tests the unmanaged file delete recursive function.'),
@@ -1055,7 +1055,7 @@
  * Unmanaged move related tests.
  */
 class FileUnmanagedMoveTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Unmanaged file moving'),
       'description' => t('Tests the unmanaged file move function.'),
@@ -1127,7 +1127,7 @@
  * Unmanaged copy related tests.
  */
 class FileUnmanagedCopyTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Unmanaged file copying'),
       'description' => t('Tests the unmanaged file copy function.'),
@@ -1214,7 +1214,7 @@
  * Deletion related tests.
  */
 class FileDeleteTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File delete'),
       'description' => t('Tests the file delete function.'),
@@ -1245,7 +1245,7 @@
  * Move related tests
  */
 class FileMoveTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File moving'),
       'description' => t('Tests the file move function.'),
@@ -1406,7 +1406,7 @@
  * Copy related tests.
  */
 class FileCopyTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File copying'),
       'description' => t('Tests the file copy function.'),
@@ -1552,7 +1552,7 @@
  * Tests the file_load() function.
  */
 class FileLoadTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File loading'),
       'description' => t('Tests the file_load() function.'),
@@ -1649,7 +1649,7 @@
  * Tests the file_save() function.
  */
 class FileSaveTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File saving'),
       'description' => t('Tests the file_save() function.'),
@@ -1705,7 +1705,7 @@
  * Tests the file_validate() function..
  */
 class FileValidateTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File validate'),
       'description' => t('Tests the file_validate() function.'),
@@ -1744,7 +1744,7 @@
  *  Tests the file_save_data() function.
  */
 class FileSaveDataTest extends FileHookTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File save data'),
       'description' => t('Tests the file save data function.'),
@@ -1875,7 +1875,7 @@
  * Tests for download/file transfer functions.
  */
 class FileDownloadTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File download'),
       'description' => t('Tests for file download/transfer functions.'),
@@ -1921,7 +1921,7 @@
  * Tests for file_munge_filename() and file_unmunge_filename().
  */
 class FileNameMungingTest extends FileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('File naming'),
       'description' => t('Test filename munging and unmunging.'),
Index: modules/simpletest/tests/schema.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/schema.test,v
retrieving revision 1.4
diff -u -r1.4 schema.test
--- modules/simpletest/tests/schema.test	14 Mar 2009 20:34:17 -0000	1.4
+++ modules/simpletest/tests/schema.test	30 Mar 2009 21:12:35 -0000
@@ -10,7 +10,7 @@
  * Unit tests for the Schema API.
  */
 class SchemaTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Schema API'),
       'description' => t('Tests table creation and modification via the schema API.'),
Index: modules/simpletest/tests/module.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/module.test,v
retrieving revision 1.1
diff -u -r1.1 module.test
--- modules/simpletest/tests/module.test	3 Jan 2009 08:45:28 -0000	1.1
+++ modules/simpletest/tests/module.test	30 Mar 2009 21:12:35 -0000
@@ -10,7 +10,7 @@
  * Unit tests for the module API.
  */
 class ModuleUnitTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Module API'),
       'description' => t('Test low-level module functions.'),
Index: modules/simpletest/tests/cache.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/cache.test,v
retrieving revision 1.3
diff -u -r1.3 cache.test
--- modules/simpletest/tests/cache.test	8 Dec 2008 21:41:54 -0000	1.3
+++ modules/simpletest/tests/cache.test	30 Mar 2009 21:12:33 -0000
@@ -102,7 +102,7 @@
 }
 
 class CacheSavingCase extends CacheTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Cache saving test'),
       'description' => t('Check our variables are saved and restored the right way.'),
@@ -163,7 +163,7 @@
 }
 
 class CacheClearCase extends CacheTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Cache clear test'),
       'description' => t('Check our clearing is done the proper way.'),
Index: modules/simpletest/tests/bootstrap.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/bootstrap.test,v
retrieving revision 1.12
diff -u -r1.12 bootstrap.test
--- modules/simpletest/tests/bootstrap.test	31 Jan 2009 16:50:57 -0000	1.12
+++ modules/simpletest/tests/bootstrap.test	30 Mar 2009 21:12:32 -0000
@@ -3,7 +3,7 @@
 
 class BootstrapIPAddressTestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('IP address and HTTP_HOST test'),
       'description' => t('Get the IP address from the current visitor from the server variables, check hostname validation.'),
@@ -82,7 +82,7 @@
 
 class BootstrapPageCacheTestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Page cache test'),
       'description' => t('Enable the page cache and test it with conditional HTTP requests.'),
@@ -136,7 +136,7 @@
     parent::setUp('system_test');
   }
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Variable test'),
       'description' => t('Make sure the variable system functions correctly.'),
@@ -182,7 +182,7 @@
  */
 class HookBootExitTestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Boot and exit hook invocation'),
       'description' => t('Test that hook_boot() and hook_exit() are called correctly.'),
Index: modules/simpletest/tests/xmlrpc.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/xmlrpc.test,v
retrieving revision 1.6
diff -u -r1.6 xmlrpc.test
--- modules/simpletest/tests/xmlrpc.test	30 Dec 2008 16:43:18 -0000	1.6
+++ modules/simpletest/tests/xmlrpc.test	30 Mar 2009 21:12:35 -0000
@@ -2,7 +2,7 @@
 // $Id: xmlrpc.test,v 1.6 2008/12/30 16:43:18 dries Exp $
 
 class XMLRPCValidator1IncTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('XML-RPC validator'),
       'description'  => t('See !validator-link.', array('!validator-link' => l('the xmlrpc validator1 specification', 'http://www.xmlrpc.com/validator1Docs'))),
@@ -122,7 +122,7 @@
 }
 
 class XMLRPCMessagesTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('XML-RPC message'),
       'description' => t('Test large messages.'),
Index: modules/simpletest/tests/session.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/session.test,v
retrieving revision 1.11
diff -u -r1.11 session.test
--- modules/simpletest/tests/session.test	20 Mar 2009 19:18:10 -0000	1.11
+++ modules/simpletest/tests/session.test	30 Mar 2009 21:12:35 -0000
@@ -7,7 +7,7 @@
  */
 
 class SessionTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Session tests'),
       'description' => t('Drupal session handling tests.'),
Index: modules/simpletest/tests/image.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/image.test,v
retrieving revision 1.2
diff -u -r1.2 image.test
--- modules/simpletest/tests/image.test	10 Mar 2009 09:43:01 -0000	1.2
+++ modules/simpletest/tests/image.test	30 Mar 2009 21:12:35 -0000
@@ -14,7 +14,7 @@
   protected $file;
   protected $image;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Image toolkit tests'),
       'description' => t('Check image tookit functions.'),
@@ -203,7 +203,7 @@
   protected $width = 40;
   protected $height = 20;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Image GD manipulation tests'),
       'description' => t('Check that core image manipulations work properly: scale, resize, rotate, crop, scale and crop, and desaturate.'),
Index: modules/contact/contact.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/contact/contact.test,v
retrieving revision 1.15
diff -u -r1.15 contact.test
--- modules/contact/contact.test	8 Mar 2009 05:08:22 -0000	1.15
+++ modules/contact/contact.test	30 Mar 2009 21:12:30 -0000
@@ -5,7 +5,7 @@
  * Test the sitewide contact form.
  */
 class ContactSitewideTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Site-wide contact form'),
       'description' => t('Tests site-wide contact form functionality.'),
@@ -256,7 +256,7 @@
  * Test the personal contact form.
  */
 class ContactPersonalTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Personal contact form'),
       'description' => t('Tests personal contact form functionality.'),
Index: modules/tracker/tracker.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/tracker/tracker.test,v
retrieving revision 1.6
diff -u -r1.6 tracker.test
--- modules/tracker/tracker.test	9 Feb 2009 16:27:35 -0000	1.6
+++ modules/tracker/tracker.test	30 Mar 2009 21:12:36 -0000
@@ -6,7 +6,7 @@
   protected $other_user;
   protected $new_node;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Tracker'),
       'description' => t('Create nodes and check for their display in the tracker listings.'),
Index: modules/user/user.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.test,v
retrieving revision 1.32
diff -u -r1.32 user.test
--- modules/user/user.test	25 Mar 2009 16:31:18 -0000	1.32
+++ modules/user/user.test	30 Mar 2009 21:12:36 -0000
@@ -2,7 +2,7 @@
 // $Id: user.test,v 1.32 2009/03/25 16:31:18 dries Exp $
 
 class UserRegistrationTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('User registration'),
       'description' => t('Registers a user, fails login, resets password, successfully logs in with the one time password, changes password, logs out, successfully logs in with the new password, visits profile page.'),
@@ -102,7 +102,7 @@
 
 
 class UserValidationTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Username/e-mail validation'),
       'description' => t('Verify that username/email validity checks behave as designed.'),
@@ -153,7 +153,7 @@
 }
 
 class UserCancelTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Cancel account'),
       'description' => t('Ensure that account cancellation methods work as expected.'),
@@ -494,7 +494,7 @@
   protected $user;
   protected $_directory_test;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Upload user picture'),
       'description' => t('Assure that dimension check, extension check and image scaling work as designed.'),
@@ -714,7 +714,7 @@
   protected $admin_user;
   protected $rid;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Role permissions'),
       'description' => t('Verify that role permissions can be added and removed via the permissions page.'),
@@ -761,7 +761,7 @@
 }
 
 class UserAdminTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('User admininstration'),
       'description' => t('Test user admininstration page functionality.'),
@@ -814,7 +814,7 @@
  * Tests for user-configurable time zones.
  */
 class UserTimeZoneFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('User time zones'),
       'description' => t('Set a user time zone and verify that dates are displayed in local time.'),
@@ -874,7 +874,7 @@
  * Test user autocompletion.
  */
 class UserAutocompleteTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('User autocompletion'),
       'description' => t('Test user autocompletion functionality.'),
@@ -914,7 +914,7 @@
  * Test user blocks.
  */
 class UserBlocksUnitTests extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('User blocks'),
       'description' => t('Test user blocks.'),
Index: modules/path/path.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/path/path.test,v
retrieving revision 1.6
diff -u -r1.6 path.test
--- modules/path/path.test	9 Jan 2009 07:44:00 -0000	1.6
+++ modules/path/path.test	30 Mar 2009 21:12:32 -0000
@@ -2,7 +2,7 @@
 // $Id: path.test,v 1.6 2009/01/09 07:44:00 dries Exp $
 
 class PathTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Path alias functionality'),
       'description' => t('Add, edit, delete, and change alias and verify its consistency in the database.'),
@@ -126,7 +126,7 @@
 }
 
 class PathLanguageTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Path aliases with translated nodes'),
       'description' => t('Confirm that paths work with translated nodes'),
Index: modules/blog/blog.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/blog/blog.test,v
retrieving revision 1.7
diff -u -r1.7 blog.test
--- modules/blog/blog.test	20 Mar 2009 19:18:10 -0000	1.7
+++ modules/blog/blog.test	30 Mar 2009 21:12:29 -0000
@@ -6,7 +6,7 @@
   protected $own_user;
   protected $any_user;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Blog functionality'),
       'description' => t('Create, view, edit, delete, and change blog entries and verify its consistency in the database.'),
Index: modules/field/modules/field_sql_storage/field_sql_storage.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/modules/field_sql_storage/field_sql_storage.test,v
retrieving revision 1.1
diff -u -r1.1 field_sql_storage.test
--- modules/field/modules/field_sql_storage/field_sql_storage.test	3 Feb 2009 17:30:11 -0000	1.1
+++ modules/field/modules/field_sql_storage/field_sql_storage.test	30 Mar 2009 21:12:30 -0000
@@ -2,7 +2,7 @@
 // $Id: field_sql_storage.test,v 1.1 2009/02/03 17:30:11 dries Exp $
 
 class FieldSqlStorageTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Field SQL storage tests'),
       'description'  => t("Test field SQL storage module."),
Index: modules/block/block.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/block/block.test,v
retrieving revision 1.13
diff -u -r1.13 block.test
--- modules/block/block.test	20 Mar 2009 19:18:09 -0000	1.13
+++ modules/block/block.test	30 Mar 2009 21:12:29 -0000
@@ -4,7 +4,7 @@
 class BlockTestCase extends DrupalWebTestCase {
   protected $regions;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block functionality'),
       'description' => t('Add, edit and delete custom block. Configure and move a module-defined block.'),
@@ -152,7 +152,7 @@
 }
 
 class NonDefaultBlockAdmin extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Non default theme admin'),
       'description' => t('Check the administer page for non default theme.'),
Index: modules/book/book.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.test,v
retrieving revision 1.7
diff -u -r1.7 book.test
--- modules/book/book.test	23 Dec 2008 14:32:08 -0000	1.7
+++ modules/book/book.test	30 Mar 2009 21:12:29 -0000
@@ -4,7 +4,7 @@
 class BookTestCase extends DrupalWebTestCase {
   protected $book;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Book functionality'),
       'description' => t('Create a book, add pages, and test book interface.'),
@@ -174,7 +174,7 @@
 }
 
 class BookBlockTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block availability'),
       'description' => t('Check if the book navigation block is available.'),
Index: modules/menu/menu.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.test,v
retrieving revision 1.7
diff -u -r1.7 menu.test
--- modules/menu/menu.test	16 Mar 2009 20:31:11 -0000	1.7
+++ modules/menu/menu.test	30 Mar 2009 21:12:31 -0000
@@ -7,7 +7,7 @@
   protected $menu;
   protected $items;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Menu link creation/deletion'),
       'description' => t('Add a custom menu, add menu links to the custom menu and Navigation menu, check their data, and delete them using the menu module UI.'),
Index: modules/node/node.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.test,v
retrieving revision 1.18
diff -u -r1.18 node.test
--- modules/node/node.test	30 Mar 2009 05:35:35 -0000	1.18
+++ modules/node/node.test	30 Mar 2009 21:12:32 -0000
@@ -6,7 +6,7 @@
  */
 class NodeLoadMultipleUnitTest extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Load multiple nodes'),
       'description' => t('Test the loading of multiple nodes.'),
@@ -85,7 +85,7 @@
   protected $nodes;
   protected $logs;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node revisions'),
       'description' => t('Create a node with revisions and test viewing, reverting, and deleting revisions.'),
@@ -167,7 +167,7 @@
 }
 
 class NodeTeaserTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node teaser'),
       'description' => t('Test node_teaser() with different strings and lengths.'),
@@ -312,7 +312,7 @@
 }
 
 class PageEditTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node edit'),
       'description' => t('Create a node and test node edit functionality.'),
@@ -366,7 +366,7 @@
 }
 
 class PagePreviewTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node preview'),
       'description' => t('Test node preview functionality.'),
@@ -403,7 +403,7 @@
 }
 
 class PageCreationTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node creation'),
       'description' => t('Create a node and test saving it.'),
@@ -438,7 +438,7 @@
 }
 
 class PageViewTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node edit permissions'),
       'description' => t('Create a node and test edit permissions.'),
@@ -477,7 +477,7 @@
 }
 
 class NodeTitleXSSTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
      return array(
       'name' => t('Node title XSS filtering'),
       'description' => t('Create a node with dangerous tags in its title and test that they are escaped.'),
@@ -511,7 +511,7 @@
 }
 
 class NodeBlockTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block availability'),
       'description' => t('Check if the syndicate block is available.'),
@@ -544,7 +544,7 @@
  * Check that the post information displays when enabled for a content type.
  */
 class NodePostSettingsTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node post information display'),
       'description' => t('Check that the post information (submitted by Username on date) text displays appropriately.'),
@@ -610,7 +610,7 @@
  * sitewide RSS feed at rss.xml.
  */
 class NodeRSSContentTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Node RSS Content'),
       'description' => t('Ensure that data added to nodes by other modules appears in RSS feeds.'),
Index: modules/php/php.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/php/php.test,v
retrieving revision 1.7
diff -u -r1.7 php.test
--- modules/php/php.test	21 Jan 2009 16:58:42 -0000	1.7
+++ modules/php/php.test	30 Mar 2009 21:12:32 -0000
@@ -37,7 +37,7 @@
  * Tests to make sure the PHP filter actually evaluates PHP code when used.
  */
 class PHPFilterTestCase extends PHPTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('PHP filter functionality'),
       'description' => t('Make sure that PHP filter properly evaluates PHP code when enabled.'),
@@ -80,7 +80,7 @@
  * Tests to make sure access to the PHP filter is properly restricted.
  */
 class PHPAccessTestCase extends PHPTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('PHP filter access check'),
       'description' => t('Make sure that users who don\'t have access to the PHP filter can\'t see it.'),
Index: modules/forum/forum.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/forum/forum.test,v
retrieving revision 1.15
diff -u -r1.15 forum.test
--- modules/forum/forum.test	13 Feb 2009 05:42:24 -0000	1.15
+++ modules/forum/forum.test	30 Mar 2009 21:12:31 -0000
@@ -11,7 +11,7 @@
   protected $root_forum;
   protected $nids;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Forum functionality'),
       'description' => t('Create, view, edit, delete, and change forum entries and verify its consistency in the database.'),
Index: modules/system/system.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.test,v
retrieving revision 1.39
diff -u -r1.39 system.test
--- modules/system/system.test	11 Feb 2009 05:33:18 -0000	1.39
+++ modules/system/system.test	30 Mar 2009 21:12:36 -0000
@@ -58,7 +58,7 @@
  * Test module enabling/disabling functionality.
  */
 class EnableDisableTestCase extends ModuleTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Enable/disable modules'),
       'description' => t('Enable/disable core module and confirm table creation/deletion.'),
@@ -118,7 +118,7 @@
  * Test module dependency functionality.
  */
 class ModuleDependencyTestCase extends ModuleTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Module dependencies'),
       'description' => t('Enable module without dependency enabled.'),
@@ -157,7 +157,7 @@
  * Test required modules functionality.
  */
 class ModuleRequiredTestCase extends ModuleTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Required modules'),
       'description' => t('Attempt disabling of required modules.'),
@@ -184,7 +184,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('IP address blocking'),
       'description' => t('Test IP address blocking.'),
@@ -254,7 +254,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Cron run'),
       'description' => t('Test cron run.'),
@@ -325,7 +325,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Admin overview'),
       'description' => t('Confirm that the admin overview page appears as expected.'),
@@ -392,7 +392,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Fingerprinting meta tag'),
       'description' => t('Confirm that the fingerprinting meta tag appears as expected.'),
@@ -420,7 +420,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('403 functionality'),
       'description' => t("Tests page access denied functionality, including custom 403 pages."),
@@ -481,7 +481,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('404 functionality'),
       'description' => t("Tests page not found functionality, including custom 404 pages."),
@@ -540,7 +540,7 @@
  * Tests generic date and time handling capabilities of Drupal.
  */
 class DateTimeFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Date and time'),
       'description' => t('Configure date and time settings. Test date formatting and time zone handling, including daylight saving time.'),
@@ -587,7 +587,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('HTML in page titles'),
       'description' => t('Tests correct handling or conversion by drupal_set_title() and drupal_get_title().'),
@@ -649,7 +649,7 @@
  */
 class FrontPageTestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Front page'),
       'description' => t('Tests front page functionality and administration.'),
@@ -700,7 +700,7 @@
 }
 
 class SystemBlockTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block functionality'),
       'description' => t('Configure and move powered-by block.'),
@@ -754,7 +754,7 @@
   /**
    * Implementation of getInfo().
    */
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('System setting forms'),
       'description' => t('Tests correctness of system_settings_form() processing.'),
@@ -833,7 +833,7 @@
  * Tests for the theme interface functionality.
  */
 class SystemThemeFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Theme interface functionality'),
       'description' => t('Tests the theme interface functionality by enabling and switching themes, and using an administration theme.'),
Index: modules/trigger/trigger.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/trigger/trigger.test,v
retrieving revision 1.6
diff -u -r1.6 trigger.test
--- modules/trigger/trigger.test	8 Mar 2009 04:25:07 -0000	1.6
+++ modules/trigger/trigger.test	30 Mar 2009 21:12:36 -0000
@@ -5,7 +5,7 @@
   var $_cleanup_roles = array();
   var $_cleanup_users = array();
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Trigger content (node) actions'),
       'description' => t('Perform various tests with content actions.') ,
Index: modules/dblog/dblog.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/dblog/dblog.test,v
retrieving revision 1.16
diff -u -r1.16 dblog.test
--- modules/dblog/dblog.test	14 Mar 2009 23:01:36 -0000	1.16
+++ modules/dblog/dblog.test	30 Mar 2009 21:12:30 -0000
@@ -5,7 +5,7 @@
   protected $big_user;
   protected $any_user;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('DBLog functionality'),
       'description' => t('Generate events and verify dblog entries; verify user access to log reports based on persmissions.'),
Index: modules/simpletest/simpletest.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.module,v
retrieving revision 1.38
diff -u -r1.38 simpletest.module
--- modules/simpletest/simpletest.module	22 Feb 2009 17:55:30 -0000	1.38
+++ modules/simpletest/simpletest.module	30 Mar 2009 21:12:32 -0000
@@ -89,7 +89,8 @@
     $header = array(t('Message'), t('Group'), t('Filename'), t('Line'), t('Function'), array('colspan' => 2, 'data' => t('Status')));
     while ($result = db_fetch_object($results)) {
       $class = $result->test_class;
-      $info = $uncategorized_tests[$class]->getInfo();
+      $method = new ReflectionMethod($class, 'getInfo');
+      $info = $method->invoke(NULL);
       $group = $info['group'];
       $selected_tests[$group][$class] = TRUE;
       if (!isset($group_summary[$group])) {
@@ -130,7 +131,8 @@
     foreach ($form['results'] as $group => &$elements) {
       $group_ok = TRUE;
       foreach ($elements as $class => &$element) {
-        $info = $uncategorized_tests[$class]->getInfo();
+        $method = new ReflectionMethod($class, 'getInfo');
+        $info = $method->invoke(NULL);;
         $ok = $element['summary']['#fail'] + $element['summary']['#exception'] == 0;
         $element += array(
           '#type' => 'fieldset',
@@ -166,15 +168,13 @@
     $form['tests']['table'][$group_name] = array(
       '#collapsed' => TRUE,
     );
-    foreach ($test_group as $test) {
-      $test_info = $test->getInfo();
-      $test_class = get_class($test);
-      $is_selected = isset($selected_tests[$group_name][$test_class]);
-      $form['tests']['table'][$group_name][$test_class] = array(
+    foreach ($test_group as $class => $info) {
+      $is_selected = isset($selected_tests[$group_name][$class]);
+      $form['tests']['table'][$group_name][$class] = array(
         '#type' => 'checkbox',
-        '#title' => $test_info['name'],
+        '#title' => $info['name'],
         '#default_value' => $is_selected,
-        '#description' => $test_info['description'],
+        '#description' => $info['description'],
       );
       if ($is_selected) {
         $form['tests']['table'][$group_name]['#collapsed'] = FALSE;
@@ -475,18 +475,17 @@
       include_once DRUPAL_ROOT . '/' . $file;
     }
     $classes = array_values(array_diff(get_declared_classes(), $existing_classes));
-    $formatted_classes = array();
     foreach ($classes as $key => $class) {
-      if (method_exists($class, 'getInfo')) {
-        $formatted_classes[$class] = new $class;
+      if (!method_exists($class, 'getInfo')) {
+        unset($classes[$key]);
       }
     }
   }
-  if (count($formatted_classes) == 0) {
+  if (count($classes) == 0) {
     drupal_set_message('No test cases found.', 'error');
     return FALSE;
   }
-  return $formatted_classes;
+  return $classes;
 }
 
 /**
@@ -498,9 +497,10 @@
  */
 function simpletest_categorize_tests($tests) {
   $groups = array();
-  foreach ($tests as $test => $instance) {
-    $info = $instance->getInfo();
-    $groups[$info['group']][$test] = $instance;
+  foreach ($tests as $test) {
+    $method = new ReflectionMethod($test, 'getInfo');
+    $info = $method->invoke(NULL);
+    $groups[$info['group']][$test] = $info;
   }
   uksort($groups, 'strnatcasecmp');
   return $groups;
Index: modules/simpletest/simpletest.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.test,v
retrieving revision 1.16
diff -u -r1.16 simpletest.test
--- modules/simpletest/simpletest.test	22 Jan 2009 12:46:06 -0000	1.16
+++ modules/simpletest/simpletest.test	30 Mar 2009 21:12:32 -0000
@@ -13,7 +13,7 @@
    */
   protected $test_ids = array();
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('SimpleTest functionality'),
       'description' => t('Test SimpleTest\'s web interface: check that the intended tests were
Index: modules/field/modules/text/text.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/modules/text/text.test,v
retrieving revision 1.2
diff -u -r1.2 text.test
--- modules/field/modules/text/text.test	26 Mar 2009 13:31:25 -0000	1.2
+++ modules/field/modules/text/text.test	30 Mar 2009 21:12:30 -0000
@@ -4,7 +4,7 @@
 class TextFieldTestCase extends DrupalWebTestCase {
   protected $instance;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Text Field'),
       'description'  => t("Test the creation of text fields."),
Index: modules/filter/filter.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.test,v
retrieving revision 1.17
diff -u -r1.17 filter.test
--- modules/filter/filter.test	27 Mar 2009 00:40:42 -0000	1.17
+++ modules/filter/filter.test	30 Mar 2009 21:12:31 -0000
@@ -2,7 +2,7 @@
 // $Id: filter.test,v 1.17 2009/03/27 00:40:42 webchick Exp $
 
 class FilterAdminTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Filter administration functionality'),
       'description' => t('Thoroughly test the administrative interface of the filter module.'),
@@ -181,7 +181,7 @@
 class FilterTestCase extends DrupalWebTestCase {
   protected $format;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Core filters'),
       'description' => t('Filter each filter individually: Convert URLs into links, Convert line breaks, Correct broken HTML, Escape all HTML, Limit allowed HTML tags.'),
Index: modules/field/field.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/field.test,v
retrieving revision 1.8
diff -u -r1.8 field.test
--- modules/field/field.test	30 Mar 2009 05:24:38 -0000	1.8
+++ modules/field/field.test	30 Mar 2009 21:12:30 -0000
@@ -4,7 +4,7 @@
 // TODO : use drupalCreateField() / drupalCreateFieldInstance() all over ?
 
 class FieldAttachTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Field attach tests'),
       'description'  => t("Test Field Attach API functions."),
@@ -606,7 +606,7 @@
 
 class FieldInfoTestCase extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Field info tests'),
       'description'  => t("Get information about existing fields, instances and bundles."),
@@ -712,7 +712,7 @@
 }
 
 class FieldFormTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Field form tests'),
       'description'  => t("Test Field form handling."),
@@ -919,7 +919,7 @@
 }
 
 class FieldTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Field tests'),
       'description'  => t("Create / read /update a field."),
@@ -1063,7 +1063,7 @@
 class FieldInstanceTestCase extends DrupalWebTestCase {
   protected $field;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name'  => t('Field instance tests'),
       'description'  => t("Create field entities by attaching fields to entities."),
Index: modules/blogapi/blogapi.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/blogapi/blogapi.test,v
retrieving revision 1.9
diff -u -r1.9 blogapi.test
--- modules/blogapi/blogapi.test	22 Feb 2009 17:55:29 -0000	1.9
+++ modules/blogapi/blogapi.test	30 Mar 2009 21:12:29 -0000
@@ -2,7 +2,7 @@
 // $Id: blogapi.test,v 1.9 2009/02/22 17:55:29 dries Exp $
 
 class BlogAPITestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Blog API functionality'),
       'description' => t('Create, edit, and delete post; upload file; and set/get categories.'),
Index: modules/taxonomy/taxonomy.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/taxonomy/taxonomy.test,v
retrieving revision 1.27
diff -u -r1.27 taxonomy.test
--- modules/taxonomy/taxonomy.test	30 Mar 2009 05:18:49 -0000	1.27
+++ modules/taxonomy/taxonomy.test	30 Mar 2009 21:12:36 -0000
@@ -43,7 +43,7 @@
 */
 class TaxonomyVocabularyFunctionalTest extends TaxonomyWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Taxonomy vocabulary interface'),
       'description' => t('Test the taxonomy vocabulary interface.'),
@@ -173,7 +173,7 @@
  */
 class TaxonomyVocabularyUnitTest extends TaxonomyWebTestCase {
 
-function getInfo() {
+public static function getInfo() {
      return array(
        'name' => t('Taxonomy vocabularies'),
        'description' => t('Test loading, saving and deleting vocabularies.'),
@@ -282,7 +282,7 @@
  */
 class TaxonomyTermUnitTest extends TaxonomyWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Taxonomy term unit tests'),
       'description' => t('Unit tests for taxonomy term functions.'),
@@ -357,7 +357,7 @@
  */
 class TaxonomyTermTestCase extends TaxonomyWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Taxonomy term functions and forms.'),
       'description' => t('Test load, save and delete for taxonomy terms.'),
@@ -563,7 +563,7 @@
  */
 class TaxonomyLoadMultipleUnitTest extends TaxonomyWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Taxonomy term multiple loading'),
       'description' => t('Test the loading of multiple taxonomy terms at once'),
@@ -629,7 +629,7 @@
  * Tests for taxonomy hook invocation.
  */
 class TaxonomyHooksTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Taxonomy term hooks'),
       'description' => t('Hooks for taxonomy term load/save/delete.'),
Index: modules/syslog/syslog.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/syslog/syslog.test,v
retrieving revision 1.5
diff -u -r1.5 syslog.test
--- modules/syslog/syslog.test	25 Nov 2008 13:14:28 -0000	1.5
+++ modules/syslog/syslog.test	30 Mar 2009 21:12:35 -0000
@@ -2,7 +2,7 @@
 // $Id: syslog.test,v 1.5 2008/11/25 13:14:28 dries Exp $
 
 class SyslogTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Syslog functionality'),
       'description' => t('Test syslog settings.'),
Index: modules/search/search.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/search/search.test,v
retrieving revision 1.16
diff -u -r1.16 search.test
--- modules/search/search.test	8 Mar 2009 05:16:20 -0000	1.16
+++ modules/search/search.test	30 Mar 2009 21:12:32 -0000
@@ -7,7 +7,7 @@
 define('SEARCH_TYPE_2', '_test2_');
 
 class SearchMatchTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Search engine queries'),
       'description' => t('Indexes content and queries it.'),
@@ -197,7 +197,7 @@
 class SearchBikeShed extends DrupalWebTestCase {
   protected $searching_user;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Bike shed'),
       'description' => t('Tests the bike shed text on the no results page.'),
@@ -227,7 +227,7 @@
 class SearchAdvancedSearchForm extends DrupalWebTestCase {
   protected $node;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Advanced search form'),
       'description' => t('Indexes content and tests the advanced search form.'),
@@ -288,7 +288,7 @@
 }
 
 class SearchRankingTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Search engine ranking'),
       'description' => t('Indexes content and tests ranking factors.'),
@@ -371,7 +371,7 @@
 }
 
 class SearchBlockTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block availability'),
       'description' => t('Check if the search form block is available.'),
Index: modules/statistics/statistics.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/statistics/statistics.test,v
retrieving revision 1.6
diff -u -r1.6 statistics.test
--- modules/statistics/statistics.test	30 Dec 2008 16:43:18 -0000	1.6
+++ modules/statistics/statistics.test	30 Mar 2009 21:12:35 -0000
@@ -2,7 +2,7 @@
 // $Id: statistics.test,v 1.6 2008/12/30 16:43:18 dries Exp $
 
 class StatisticsBlockVisitorsTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Top visitor blocking'),
       'description' => t('Tests blocking of IP addresses via the top visitors report.'),
Index: modules/translation/translation.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/translation/translation.test,v
retrieving revision 1.8
diff -u -r1.8 translation.test
--- modules/translation/translation.test	17 Mar 2009 04:22:50 -0000	1.8
+++ modules/translation/translation.test	30 Mar 2009 21:12:36 -0000
@@ -4,7 +4,7 @@
 class TranslationTestCase extends DrupalWebTestCase {
   protected $book;
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Translation functionality'),
       'description' => t('Create a page with translation, modify the page outdating translation, and update translation.'),
Index: modules/upload/upload.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/upload/upload.test,v
retrieving revision 1.13
diff -u -r1.13 upload.test
--- modules/upload/upload.test	22 Feb 2009 17:55:30 -0000	1.13
+++ modules/upload/upload.test	30 Mar 2009 21:12:36 -0000
@@ -2,7 +2,7 @@
 // $Id: upload.test,v 1.13 2009/02/22 17:55:30 dries Exp $
 
 class UploadTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Upload functionality'),
       'description' => t('Check content uploaded to nodes.'),
Index: modules/locale/locale.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.test,v
retrieving revision 1.19
diff -u -r1.19 locale.test
--- modules/locale/locale.test	24 Feb 2009 16:46:52 -0000	1.19
+++ modules/locale/locale.test	30 Mar 2009 21:12:31 -0000
@@ -23,7 +23,7 @@
  * Functional tests for the language configuration forms.
  */
 class LocaleConfigurationTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Language configuration'),
       'description' => t('Adds a new locale and tests changing its status and the default language.'),
@@ -165,7 +165,7 @@
  * Functional test for string translation and validation.
  */
 class LocaleTranslationFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('String translate, search and validate'),
       'description' => t('Adds a new locale and translates its name. Checks the validation of translation strings and search results.'),
@@ -528,7 +528,7 @@
  * Functional tests for the import of translation files.
  */
 class LocaleImportFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Translation import'),
       'description' => t('Tests the importation of locale files.'),
@@ -778,7 +778,7 @@
  * Functional tests for the export of translation files.
  */
 class LocaleExportFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Translation export'),
       'description' => t('Tests the exportation of locale files.'),
@@ -860,7 +860,7 @@
  * Locale uninstall with English UI functional test.
  */
 class LocaleUninstallFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Locale uninstall (EN)'),
       'description' => t('Tests the uninstall process using the built-in UI language.'),
@@ -966,7 +966,7 @@
  * to test with this new language.
  */
 class LocaleUninstallFrenchFunctionalTest extends LocaleUninstallFunctionalTest {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Locale uninstall (FR)'),
       'description' => t('Tests the uninstall process using French as UI language.'),
@@ -986,7 +986,7 @@
  */
 class LanguageSwitchingFunctionalTest extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Language switching'),
       'description' => t('Tests for the language switching feature.'),
@@ -1065,7 +1065,7 @@
  * Functional tests for a user's ability to change their default language.
  */
 class LocaleUserLanguageFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('User language settings'),
       'description' => t("Tests user's ability to change their default language."),
@@ -1160,7 +1160,7 @@
  * Functional tests for configuring a different path alias per language.
  */
 class LocalePathFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Path language settings'),
       'description' => t('Checks you can configure a language for individual url aliases.'),
@@ -1243,7 +1243,7 @@
  * Functional tests for multilingual support on nodes.
  */
 class LocaleContentFunctionalTest extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Content language settings'),
       'description' => t('Checks you can enable multilingual support on content types and configure a language for a node.'),
Index: modules/aggregator/aggregator.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.test,v
retrieving revision 1.19
diff -u -r1.19 aggregator.test
--- modules/aggregator/aggregator.test	1 Mar 2009 07:21:02 -0000	1.19
+++ modules/aggregator/aggregator.test	30 Mar 2009 21:12:29 -0000
@@ -243,7 +243,7 @@
 }
 
 class AddFeedTestCase extends AggregatorTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Add feed functionality'),
       'description' => t('Add feed test.'),
@@ -272,7 +272,7 @@
 }
 
 class UpdateFeedTestCase extends AggregatorTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Update feed functionality'),
       'description' => t('Update feed test.'),
@@ -314,7 +314,7 @@
 }
 
 class RemoveFeedTestCase extends AggregatorTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Remove feed functionality'),
       'description' => t('Remove feed test.'),
@@ -342,7 +342,7 @@
 }
 
 class UpdateFeedItemTestCase extends AggregatorTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Update feed item functionality'),
       'description' => t('Update feed items from a feed.'),
@@ -403,7 +403,7 @@
 }
 
 class RemoveFeedItemTestCase extends AggregatorTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Remove feed item functionality'),
       'description' => t('Remove feed items from a feed.'),
@@ -443,7 +443,7 @@
 class CategorizeFeedItemTestCase extends AggregatorTestCase {
   private static $prefix = 'simpletest_aggregator_';
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Categorize feed item functionality'),
       'description' => t('Test feed item categorization.'),
@@ -502,7 +502,7 @@
 class ImportOPMLTestCase extends AggregatorTestCase {
   private static $prefix = 'simpletest_aggregator_';
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Import feeds from OPML functionality'),
       'description' => t('Test OPML import.'),
Index: modules/poll/poll.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/poll/poll.test,v
retrieving revision 1.15
diff -u -r1.15 poll.test
--- modules/poll/poll.test	1 Feb 2009 06:48:15 -0000	1.15
+++ modules/poll/poll.test	30 Mar 2009 21:12:32 -0000
@@ -74,7 +74,7 @@
 }
 
 class PollCreateTestCase extends PollTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array('name' => t('Poll create'), 'description' => 'Adds "more choices", previews and creates a poll.', 'group' => t('Poll'));
   }
 
@@ -90,7 +90,7 @@
 }
 
 class PollVoteTestCase extends PollTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array('name' => t('Poll vote'), 'description' => 'Vote on a poll', 'group' => t('Poll'));
   }
 
@@ -125,7 +125,7 @@
 }
 
 class PollBlockTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block availability'),
       'description' => t('Check if the most recent poll block is available.'),
@@ -159,7 +159,7 @@
  */
 class PollJSAddChoice extends DrupalWebTestCase {
 
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Poll add choice'),
       'description' => t('Submits a POST request for an additional poll choice.'),
Index: modules/profile/profile.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.test,v
retrieving revision 1.11
diff -u -r1.11 profile.test
--- modules/profile/profile.test	8 Jan 2009 19:09:49 -0000	1.11
+++ modules/profile/profile.test	30 Mar 2009 21:12:32 -0000
@@ -114,7 +114,7 @@
 }
 
 class ProfileTestFields extends ProfileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => 'Test single fields',
       'description' => t('Testing profile module with add/edit/delete textfield, textarea, list, checkbox, and url fields into profile page') ,
@@ -149,7 +149,7 @@
 }
 
 class ProfileTestSelect extends ProfileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => 'Test select field',
       'description' => t('Testing profile module with add/edit/delete a select field') ,
@@ -174,7 +174,7 @@
 }
 
 class ProfileTestDate extends ProfileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => 'Test date field',
       'description' => t('Testing profile module with add/edit/delete a date field') ,
@@ -210,7 +210,7 @@
 }
 
 class ProfileTestWeights extends ProfileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => 'Test field weights',
       'description' => t('Testing profile modules weigting of fields') ,
@@ -239,7 +239,7 @@
  * Test profile field autocompletion and access.
  */
 class ProfileTestAutocomplete extends ProfileTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Autocompletion'),
       'description' => t('Test profile fields with autocompletion.'),
@@ -292,7 +292,7 @@
 }
 
 class ProfileBlockTestCase extends DrupalWebTestCase {
-  function getInfo() {
+  public static function getInfo() {
     return array(
       'name' => t('Block availability'),
       'description' => t('Check if the author-information block is available.'),
