diff --git a/core/modules/simpletest/tests/common.test b/core/modules/simpletest/tests/common.test
index 8406ec8..89f9e52 100644
--- a/core/modules/simpletest/tests/common.test
+++ b/core/modules/simpletest/tests/common.test
@@ -925,7 +925,7 @@ class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
   }
 
   function setUp() {
-    parent::setUp('system_test');
+    parent::setUp('common_test');
   }
 
   function testDrupalHTTPRequest() {
@@ -963,7 +963,7 @@ class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
       // slightly less than the specified timeout, so allow a little slack on
       // the minimum expected time (i.e. 1.8 instead of 2).
       timer_start(__METHOD__);
-      $result = drupal_http_request(url('system-test/sleep/10', array('absolute' => TRUE)), array('timeout' => 2));
+      $result = drupal_http_request(url('common-test/sleep/10', array('absolute' => TRUE)), array('timeout' => 2));
       $time = timer_read(__METHOD__) / 1000;
       $this->assertTrue(1.8 < $time && $time < 5, t('Request timed out (%time seconds).', array('%time' => $time)));
       $this->assertTrue($result->error, t('An error message was returned.'));
@@ -974,7 +974,7 @@ class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
   function testDrupalHTTPRequestBasicAuth() {
     $username = $this->randomName();
     $password = $this->randomName();
-    $url = url('system-test/auth', array('absolute' => TRUE));
+    $url = url('common-test/auth', array('absolute' => TRUE));
 
     $auth = str_replace('://', '://' . $username . ':' . $password . '@', $url);
     $result = drupal_http_request($auth);
@@ -985,41 +985,41 @@ class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
   }
 
   function testDrupalHTTPRequestRedirect() {
-    $redirect_301 = drupal_http_request(url('system-test/redirect/301', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $redirect_301 = drupal_http_request(url('common-test/redirect/301', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($redirect_301->redirect_code, 301, t('drupal_http_request follows the 301 redirect.'));
 
-    $redirect_301 = drupal_http_request(url('system-test/redirect/301', array('absolute' => TRUE)), array('max_redirects' => 0));
+    $redirect_301 = drupal_http_request(url('common-test/redirect/301', array('absolute' => TRUE)), array('max_redirects' => 0));
     $this->assertFalse(isset($redirect_301->redirect_code), t('drupal_http_request does not follow 301 redirect if max_redirects = 0.'));
 
-    $redirect_invalid = drupal_http_request(url('system-test/redirect-noscheme', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $redirect_invalid = drupal_http_request(url('common-test/redirect-noscheme', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($redirect_invalid->code, -1002, t('301 redirect to invalid URL returned with error code !error.', array('!error' => $redirect_invalid->error)));
     $this->assertEqual($redirect_invalid->error, 'missing schema', t('301 redirect to invalid URL returned with error message "!error".', array('!error' => $redirect_invalid->error)));
 
-    $redirect_invalid = drupal_http_request(url('system-test/redirect-noparse', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $redirect_invalid = drupal_http_request(url('common-test/redirect-noparse', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($redirect_invalid->code, -1001, t('301 redirect to invalid URL returned with error message code "!error".', array('!error' => $redirect_invalid->error)));
     $this->assertEqual($redirect_invalid->error, 'unable to parse URL', t('301 redirect to invalid URL returned with error message "!error".', array('!error' => $redirect_invalid->error)));
 
-    $redirect_invalid = drupal_http_request(url('system-test/redirect-invalid-scheme', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $redirect_invalid = drupal_http_request(url('common-test/redirect-invalid-scheme', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($redirect_invalid->code, -1003, t('301 redirect to invalid URL returned with error code !error.', array('!error' => $redirect_invalid->error)));
     $this->assertEqual($redirect_invalid->error, 'invalid schema ftp', t('301 redirect to invalid URL returned with error message "!error".', array('!error' => $redirect_invalid->error)));
 
-    $redirect_302 = drupal_http_request(url('system-test/redirect/302', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $redirect_302 = drupal_http_request(url('common-test/redirect/302', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($redirect_302->redirect_code, 302, t('drupal_http_request follows the 302 redirect.'));
 
-    $redirect_302 = drupal_http_request(url('system-test/redirect/302', array('absolute' => TRUE)), array('max_redirects' => 0));
+    $redirect_302 = drupal_http_request(url('common-test/redirect/302', array('absolute' => TRUE)), array('max_redirects' => 0));
     $this->assertFalse(isset($redirect_302->redirect_code), t('drupal_http_request does not follow 302 redirect if $retry = 0.'));
 
-    $redirect_307 = drupal_http_request(url('system-test/redirect/307', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $redirect_307 = drupal_http_request(url('common-test/redirect/307', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($redirect_307->redirect_code, 307, t('drupal_http_request follows the 307 redirect.'));
 
-    $redirect_307 = drupal_http_request(url('system-test/redirect/307', array('absolute' => TRUE)), array('max_redirects' => 0));
+    $redirect_307 = drupal_http_request(url('common-test/redirect/307', array('absolute' => TRUE)), array('max_redirects' => 0));
     $this->assertFalse(isset($redirect_307->redirect_code), t('drupal_http_request does not follow 307 redirect if max_redirects = 0.'));
 
-    $multiple_redirect_final_url = url('system-test/multiple-redirects/0', array('absolute' => TRUE));
-    $multiple_redirect_1 = drupal_http_request(url('system-test/multiple-redirects/1', array('absolute' => TRUE)), array('max_redirects' => 1));
+    $multiple_redirect_final_url = url('common-test/multiple-redirects/0', array('absolute' => TRUE));
+    $multiple_redirect_1 = drupal_http_request(url('common-test/multiple-redirects/1', array('absolute' => TRUE)), array('max_redirects' => 1));
     $this->assertEqual($multiple_redirect_1->redirect_url, $multiple_redirect_final_url, t('redirect_url contains the final redirection location after 1 redirect.'));
 
-    $multiple_redirect_3 = drupal_http_request(url('system-test/multiple-redirects/3', array('absolute' => TRUE)), array('max_redirects' => 3));
+    $multiple_redirect_3 = drupal_http_request(url('common-test/multiple-redirects/3', array('absolute' => TRUE)), array('max_redirects' => 3));
     $this->assertEqual($multiple_redirect_3->redirect_url, $multiple_redirect_final_url, t('redirect_url contains the final redirection location after 3 redirects.'));
   }
 }
diff --git a/core/modules/simpletest/tests/common_test.module b/core/modules/simpletest/tests/common_test.module
index 08fb8e8..6b85d53 100644
--- a/core/modules/simpletest/tests/common_test.module
+++ b/core/modules/simpletest/tests/common_test.module
@@ -58,6 +58,46 @@ function common_test_menu() {
     'access arguments' => array('access content'),
     'type' => MENU_CALLBACK,
   );
+  $items['common-test/auth'] = array(
+    'page callback' => 'common_test_basic_auth_page',
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
+  $items['common-test/redirect/%'] = array(
+    'title' => 'Redirect',
+    'page callback' => 'common_test_redirect',
+    'page arguments' => array(2),
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['common-test/multiple-redirects/%'] = array(
+    'title' => 'Redirect',
+    'page callback' => 'common_test_multiple_redirects',
+    'page arguments' => array(2),
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['common-test/redirect-noscheme'] = array(
+    'page callback' => 'common_test_redirect_noscheme',
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['common-test/redirect-noparse'] = array(
+    'page callback' => 'common_test_redirect_noparse',
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['common-test/redirect-invalid-scheme'] = array(
+    'page callback' => 'common_test_redirect_invalid_scheme',
+    'access arguments' => array('access content'),
+    'type' => MENU_CALLBACK,
+  );
+  $items['common-test/sleep/%'] = array(
+    'page callback' => 'common_test_sleep',
+    'page arguments' => array(2),
+    'access callback' => TRUE,
+    'type' => MENU_CALLBACK,
+  );
   return $items;
 }
 
@@ -123,6 +163,76 @@ function common_test_drupal_render_invalid_keys() {
 }
 
 /**
+ * Responds with specified HTTP status code.
+ */
+function common_test_redirect($code) {
+  $code = (int) $code;
+  if ($code != 200) {
+    // Header names are case-insensitive.
+    header("locaTION: " . url('system-test/redirect/200', array('absolute' => TRUE)), TRUE, $code);
+    exit;
+  }
+  return '';
+}
+
+/**
+ * Menu callback; sends a redirect header to itself until $count argument is 0.
+ *
+ * Emulates the variable number of redirects (given by initial $count argument)
+ * to the final destination URL by continuous sending of 301 HTTP redirect
+ * headers to itself together with decrementing the $count parameter until the
+ * $count parameter reaches 0. After that it returns an empty string to render
+ * the final destination page.
+ *
+ * @param $count
+ *   The count of redirects left until the final destination page.
+ *
+ * @returns
+ *   The location redirect if the $count > 0, otherwise an empty string.
+ */
+function common_test_multiple_redirects($count) {
+  $count = (int) $count;
+  if ($count > 0) {
+    header("location: " . url('common-test/multiple-redirects/' . --$count, array('absolute' => TRUE)), TRUE, 301);
+    exit;
+  }
+  return '';
+}
+
+/**
+ * HTTP redirect to URL without scheme prefix.
+ */
+function common_test_redirect_noscheme() {
+  header("Location: localhost/path", TRUE, 301);
+  exit;
+}
+
+/**
+ * HTTP redirect to invalid URL.
+ */
+function common_test_redirect_noparse() {
+  header("Location: http:///path", TRUE, 301);
+  exit;
+}
+
+/**
+ * HTTP redirect to URL with invalid scheme.
+ */
+function common_test_redirect_invalid_scheme() {
+  header("Location: ftp://localhost/path", TRUE, 301);
+  exit;
+}
+
+/**
+ * Prints HTTP Authentication credentials.
+ */
+function common_test_basic_auth_page() {
+  $output = t('$_SERVER[\'PHP_AUTH_USER\'] is @username.', array('@username' => $_SERVER['PHP_AUTH_USER']));
+  $output .= t('$_SERVER[\'PHP_AUTH_PW\'] is @password.', array('@password' => $_SERVER['PHP_AUTH_PW']));
+  return $output;
+}
+
+/**
  * Implements hook_TYPE_alter().
  */
 function common_test_drupal_alter_alter(&$data, &$arg2 = NULL, &$arg3 = NULL) {
@@ -260,3 +370,10 @@ function common_test_js_and_css_querystring() {
 function common_test_cron() {
   throw new Exception(t('Uncaught exception'));
 }
+
+/**
+ * Emulate a slow server.
+ */
+function common_test_sleep($seconds) {
+  sleep($seconds);
+}
diff --git a/core/modules/simpletest/tests/system_test.module b/core/modules/simpletest/tests/system_test.module
index e6d1f35..8615da0 100644
--- a/core/modules/simpletest/tests/system_test.module
+++ b/core/modules/simpletest/tests/system_test.module
@@ -4,57 +4,18 @@
  * Implements hook_menu().
  */
 function system_test_menu() {
-  $items['system-test/sleep/%'] = array(
-    'page callback' => 'system_test_sleep',
-    'page arguments' => array(2),
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-  $items['system-test/auth'] = array(
-    'page callback' => 'system_test_basic_auth_page',
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
   $items['system-test/authorize-init/%'] = array(
     'page callback' => 'system_test_authorize_init_page',
     'page arguments' => array(2),
     'access arguments' => array('administer software updates'),
     'type' => MENU_CALLBACK,
   );
-  $items['system-test/redirect/%'] = array(
-    'title' => 'Redirect',
-    'page callback' => 'system_test_redirect',
-    'page arguments' => array(2),
-    'access arguments' => array('access content'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['system-test/multiple-redirects/%'] = array(
-    'title' => 'Redirect',
-    'page callback' => 'system_test_multiple_redirects',
-    'page arguments' => array(2),
-    'access arguments' => array('access content'),
-    'type' => MENU_CALLBACK,
-  );
+
   $items['system-test/set-header'] = array(
     'page callback' => 'system_test_set_header',
     'access arguments' => array('access content'),
     'type' => MENU_CALLBACK,
   );
-  $items['system-test/redirect-noscheme'] = array(
-    'page callback' => 'system_test_redirect_noscheme',
-    'access arguments' => array('access content'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['system-test/redirect-noparse'] = array(
-    'page callback' => 'system_test_redirect_noparse',
-    'access arguments' => array('access content'),
-    'type' => MENU_CALLBACK,
-  );
-  $items['system-test/redirect-invalid-scheme'] = array(
-    'page callback' => 'system_test_redirect_invalid_scheme',
-    'access arguments' => array('access content'),
-    'type' => MENU_CALLBACK,
-  );
 
   $items['system-test/variable-get'] = array(
     'title' => 'Variable Get',
@@ -109,70 +70,11 @@ function system_test_menu() {
   return $items;
 }
 
-function system_test_sleep($seconds) {
-  sleep($seconds);
-}
-
-function system_test_basic_auth_page() {
-  $output = t('$_SERVER[\'PHP_AUTH_USER\'] is @username.', array('@username' => $_SERVER['PHP_AUTH_USER']));
-  $output .= t('$_SERVER[\'PHP_AUTH_PW\'] is @password.', array('@password' => $_SERVER['PHP_AUTH_PW']));
-  return $output;
-}
-
-function system_test_redirect($code) {
-  $code = (int) $code;
-  if ($code != 200) {
-    // Header names are case-insensitive.
-    header("locaTION: " . url('system-test/redirect/200', array('absolute' => TRUE)), TRUE, $code);
-    exit;
-  }
-  return '';
-}
-
-/**
- * Menu callback; sends a redirect header to itself until $count argument is 0.
- *
- * Emulates the variable number of redirects (given by initial $count argument)
- * to the final destination URL by continuous sending of 301 HTTP redirect
- * headers to itself together with decrementing the $count parameter until the
- * $count parameter reaches 0. After that it returns an empty string to render
- * the final destination page.
- *
- * @param $count
- *   The count of redirects left until the final destination page.
- *
- * @returns
- *   The location redirect if the $count > 0, otherwise an empty string.
- */
-function system_test_multiple_redirects($count) {
-  $count = (int) $count;
-  if ($count > 0) {
-    header("location: " . url('system-test/multiple-redirects/' . --$count, array('absolute' => TRUE)), TRUE, 301);
-    exit;
-  }
-  return '';
-}
-
 function system_test_set_header() {
   drupal_add_http_header($_GET['name'], $_GET['value']);
   return t('The following header was set: %name: %value', array('%name' => $_GET['name'], '%value' => $_GET['value']));
 }
 
-function system_test_redirect_noscheme() {
-  header("Location: localhost/path", TRUE, 301);
-  exit;
-}
-
-function system_test_redirect_noparse() {
-  header("Location: http:///path", TRUE, 301);
-  exit;
-}
-
-function system_test_redirect_invalid_scheme() {
-  header("Location: ftp://localhost/path", TRUE, 301);
-  exit;
-}
-
 /**
  * Implements hook_modules_installed().
  */
