Index: includes/database/mysql/schema.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/mysql/schema.inc,v
retrieving revision 1.41
diff -u -p -r1.41 schema.inc
--- includes/database/mysql/schema.inc	2 Aug 2010 18:55:17 -0000	1.41
+++ includes/database/mysql/schema.inc	19 Sep 2010 01:07:44 -0000
@@ -81,7 +81,7 @@ class DatabaseSchema_mysql extends Datab
 
     // Provide defaults if needed.
     $table += array(
-      'mysql_engine' => 'InnoDB',
+      'mysql_engine' => isset($info['mysql_engine']) ? $info['mysql_engine'] : 'InnoDB',
       'mysql_character_set' => 'utf8',
     );
 
Index: modules/simpletest/drupal_web_test_case.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/drupal_web_test_case.php,v
retrieving revision 1.232
diff -u -p -r1.232 drupal_web_test_case.php
--- modules/simpletest/drupal_web_test_case.php	11 Sep 2010 21:14:31 -0000	1.232
+++ modules/simpletest/drupal_web_test_case.php	19 Sep 2010 01:17:50 -0000
@@ -1171,6 +1171,9 @@ class DrupalWebTestCase extends DrupalTe
       $connection_info[$target]['prefix'] = array(
         'default' => $value['prefix']['default'] . $this->databasePrefix,
       );
+      if ($mysql_engine = variable_get('simpletest_mysql_engine', NULL)) {
+        $connection_info[$target]['mysql_engine'] = $mysql_engine;
+      }
     }
     Database::addConnectionInfo('default', 'default', $connection_info['default']);
 
Index: modules/simpletest/simpletest.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.pages.inc,v
retrieving revision 1.31
diff -u -p -r1.31 simpletest.pages.inc
--- modules/simpletest/simpletest.pages.inc	24 Jul 2010 17:28:26 -0000	1.31
+++ modules/simpletest/simpletest.pages.inc	19 Sep 2010 01:17:08 -0000
@@ -435,6 +435,13 @@ function simpletest_settings_form($form,
     '#type' => 'fieldset',
     '#title' => t('General'),
   );
+  $form['general']['simpletest_mysql_engine'] = array(
+    '#type' => 'select',
+    '#title' => t('MySQL table engine'),
+    '#options' => array(NULL => t('- Default -')) + drupal_map_assoc(array('MyISAM', 'InnoDB')),
+    '#default_value' => variable_get('simpletest_mysql_engine', NULL),
+    '#description' => t('Forces the chosen MySQL table engine to be used when running tests, which may speed up testing. Do not use when running database tests.'),
+  );
   $form['general']['simpletest_clear_results'] = array(
     '#type' => 'checkbox',
     '#title' => t('Clear results after each complete test suite run'),
