diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php
index 4d43592d1a832b2f848a091aea98bde8beede86b..73aec6f2ead32330214725300d44a51e764a9133 100644
--- a/modules/simpletest/drupal_web_test_case.php
+++ b/modules/simpletest/drupal_web_test_case.php
@@ -5,40 +5,119 @@
  * Test case for typical Drupal tests.
  */
 class DrupalWebTestCase {
-  protected $_logged_in = FALSE;
-  protected $_content;
-  protected $_url;
-  protected $plain_text;
-  protected $ch;
-  protected $elements;
-  // We do not reuse the cookies in further runs, so we do not need a file
-  // but we still need cookie handling, so we set the jar to NULL
-  protected $cookie_file = NULL;
-  // Overwrite this any time to supply cURL options as necessary,
-  // DrupalTestCase itself never sets this but always obeys whats set.
-  protected $curl_options = array();
-  protected $db_prefix_original;
-  protected $original_file_directory;
-
-  var $_results = array('#pass' => 0, '#fail' => 0, '#exception' => 0);
-  var $_assertions = array();
+
+  /**
+   * The test run ID.
+   *
+   * @var string
+   */
+  protected $testId;
+
+  /**
+   * The URL currently loaded in the internal browser.
+   *
+   * @var string
+   */
+  protected $url;
+
+  /**
+   * The handle of the current cURL connection.
+   *
+   * @var resource
+   */
+  protected $curlHandle;
+
+  /**
+   * The content of the page currently loaded in the internal browser.
+   *
+   * @var string
+   */
+  protected $content;
+
+  /**
+   * The content of the page currently loaded in the internal browser (plain text version).
+   *
+   * @var string
+   */
+  protected $plainTextContent;
+
+  /**
+   * The parsed version of the page.
+   *
+   * @var SimpleXMLElement
+   */
+  protected $elements = NULL;
+
+  /**
+   * Whether a user is logged in the internal browser.
+   *
+   * @var bool
+   */
+  protected $isLoggedIn = FALSE;
+
+  /**
+   * The current cookie file used by cURL.
+   *
+   * We do not reuse the cookies in further runs, so we do not need a file
+   * but we still need cookie handling, so we set the jar to NULL.
+   */
+  protected $cookieFile = NULL;
+
+  /**
+   * Additional cURL options.
+   *
+   * DrupalWebTestCase itself never sets this but always obeys what is set.
+   */
+  protected $additionalCurlOptions = array();
+
+  /**
+   * The original database prefix, before it was changed for testing purposes.
+   *
+   * @var string
+   */
+  protected $originalPrefix = NULL;
+
+  /**
+   * The original file directory, before it was changed for testing purposes.
+   *
+   * @var string
+   */
+  protected $originalFileDirectory = NULL;
+
+  /**
+   * Current results of this test case.
+   *
+   * @var Array
+   */
+  public $results = array(
+    '#pass' => 0,
+    '#fail' => 0,
+    '#exception' => 0,
+  );
+
+  /**
+   * Assertions thrown in that test case.
+   *
+   * @var Array
+   */
+  protected $assertions = array();
 
   /**
    * Constructor for DrupalWebTestCase.
    *
-   * @param @test_id
+   * @param $test_id
    *   Tests with the same id are reported together.
    */
-  function __construct($test_id = NULL) {
-    $this->test_id = $test_id;
+  public function __construct($test_id = NULL) {
+    $this->testId = $test_id;
   }
 
   /**
-   * This function stores the assert. Do not call directly.
+   * Internal helper: stores the assert.
    *
    * @param $status
-   *   Can be 'pass', 'fail', 'exception'. TRUE is a synonym for 'pass', FALSE
-   *   for 'fail'.
+   *   Can be 'pass', 'fail', 'exception'.
+   *   TRUE is a synonym for 'pass', FALSE for 'fail'.
    * @param $message
    *   The message string.
    * @param $group
@@ -50,7 +129,7 @@ function __construct($test_id = NULL) {
    *   the name of the source file, 'line' is the line number and 'function'
    *   is the caller function itself.
    */
-  protected function _assert($status, $message = '', $group = 'Other', $caller = NULL) {
+  private function assert($status, $message = '', $group = 'Other', $caller = NULL) {
     global $db_prefix;
 
     // Convert boolean status to string status.
@@ -59,7 +138,7 @@ protected function _assert($status, $message = '', $group = 'Other', $caller = N
     }
 
     // Increment summary result counter.
-    $this->_results['#' . $status]++;
+    $this->results['#' . $status]++;
 
     // Get the function information about the call to the assertion method.
     if (!$caller) {
@@ -68,11 +147,11 @@ protected function _assert($status, $message = '', $group = 'Other', $caller = N
 
     // Switch to non-testing database to store results in.
     $current_db_prefix = $db_prefix;
-    $db_prefix = $this->db_prefix_original;
+    $db_prefix = $this->originalPrefix;
 
     // Creation assertion array that can be displayed while tests are running.
-    $this->_assertions[] = $assertion = array(
-      'test_id' => $this->test_id,
+    $this->assertions[] = $assertion = array(
+      'test_id' => $this->testId,
       'test_class' => get_class($this),
       'status' => $status,
       'message' => $message,
@@ -87,7 +166,7 @@ protected function _assert($status, $message = '', $group = 'Other', $caller = N
 
     // Return to testing prefix.
     $db_prefix = $current_db_prefix;
-    return $status;
+    return $status == 'pass' ? TRUE : FALSE;
   }
 
   /**
@@ -122,10 +201,10 @@ protected function getAssertionCall() {
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertTrue($value, $message = '', $group = 'Other') {
-    return $this->_assert((bool) $value, $message ? $message : t('Value is TRUE'), $group);
+    return $this->assert((bool) $value, $message ? $message : t('Value is TRUE'), $group);
   }
 
   /**
@@ -138,10 +217,10 @@ protected function assertTrue($value, $message = '', $group = 'Other') {
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertFalse($value, $message = '', $group = 'Other') {
-    return $this->_assert(!$value, $message ? $message : t('Value is FALSE'), $group);
+    return $this->assert(!$value, $message ? $message : t('Value is FALSE'), $group);
   }
 
   /**
@@ -154,10 +233,10 @@ protected function assertFalse($value, $message = '', $group = 'Other') {
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertNull($value, $message = '', $group = 'Other') {
-    return $this->_assert(!isset($value), $message ? $message : t('Value is NULL'), $group);
+    return $this->assert(!isset($value), $message ? $message : t('Value is NULL'), $group);
   }
 
   /**
@@ -170,10 +249,10 @@ protected function assertNull($value, $message = '', $group = 'Other') {
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertNotNull($value, $message = '', $group = 'Other') {
-    return $this->_assert(isset($value), $message ? $message : t('Value is not NULL'), $group);
+    return $this->assert(isset($value), $message ? $message : t('Value is not NULL'), $group);
   }
 
   /**
@@ -188,10 +267,10 @@ protected function assertNotNull($value, $message = '', $group = 'Other') {
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertEqual($first, $second, $message = '', $group = 'Other') {
-    return $this->_assert($first == $second, $message ? $message : t('First value is equal to second value'), $group);
+    return $this->assert($first == $second, $message ? $message : t('First value is equal to second value'), $group);
   }
 
   /**
@@ -206,10 +285,10 @@ protected function assertEqual($first, $second, $message = '', $group = 'Other')
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertNotEqual($first, $second, $message = '', $group = 'Other') {
-    return $this->_assert($first != $second, $message ? $message : t('First value is not equal to second value'), $group);
+    return $this->assert($first != $second, $message ? $message : t('First value is not equal to second value'), $group);
   }
 
   /**
@@ -224,10 +303,10 @@ protected function assertNotEqual($first, $second, $message = '', $group = 'Othe
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertIdentical($first, $second, $message = '', $group = 'Other') {
-    return $this->_assert($first === $second, $message ? $message : t('First value is identical to second value'), $group);
+    return $this->assert($first === $second, $message ? $message : t('First value is identical to second value'), $group);
   }
 
   /**
@@ -242,10 +321,10 @@ protected function assertIdentical($first, $second, $message = '', $group = 'Oth
    * @param $group
    *   The type of assertion - examples are "Browser", "PHP".
    * @return
-   *   The status passed in.
+   *   TRUE if the assertion succeeded, FALSE otherwise.
    */
   protected function assertNotIdentical($first, $second, $message = '', $group = 'Other') {
-    return $this->_assert($first !== $second, $message ? $message : t('First value is not identical to second value'), $group);
+    return $this->assert($first !== $second, $message ? $message : t('First value is not identical to second value'), $group);
   }
 
   /**
@@ -259,7 +338,7 @@ protected function assertNotIdentical($first, $second, $message = '', $group = '
    *   TRUE.
    */
   protected function pass($message = NULL, $group = 'Other') {
-    return $this->_assert(TRUE, $message, $group);
+    return $this->assert(TRUE, $message, $group);
   }
 
   /**
@@ -273,7 +352,7 @@ protected function pass($message = NULL, $group = 'Other') {
    *   FALSE.
    */
   protected function fail($message = NULL, $group = 'Other') {
-    return $this->_assert(FALSE, $message, $group);
+    return $this->assert(FALSE, $message, $group);
   }
 
   /**
@@ -285,15 +364,17 @@ protected function fail($message = NULL, $group = 'Other') {
    *   The type of assertion - examples are "Browser", "PHP".
    * @param $caller
    *   The caller of the error.
+   * @return
+   *   FALSE.
    */
   protected function error($message = '', $group = 'Other', $caller = NULL) {
-    return $this->_assert('exception', $message, $group, $caller);
+    return $this->assert('exception', $message, $group, $caller);
   }
 
   /**
    * Run all tests in this class.
    */
-  function run() {
+  public function run() {
     set_error_handler(array($this, 'errorHandler'));
     $methods = array();
     // Iterate through all the methods in this class.
@@ -319,9 +400,11 @@ function run() {
   /**
    * Handle errors.
    *
+   * Because this is registered in set_error_handler(), it has to be public.
    * @see set_error_handler
+   *
    */
-  function errorHandler($severity, $message, $file = NULL, $line = NULL) {
+  public function errorHandler($severity, $message, $file = NULL, $line = NULL) {
     if ($severity & error_reporting()) {
       $error_map = array(
         E_STRICT => 'Run-time notice',
@@ -346,7 +429,7 @@ function errorHandler($severity, $message, $file = NULL, $line = NULL) {
    *
    * @see set_exception_handler
    */
-  function exceptionHandler($exception) {
+  protected function exceptionHandler($exception) {
     $backtrace = $exception->getTrace();
     // Push on top of the backtrace the call that generated the exception.
     array_unshift($backtrace, array(
@@ -362,9 +445,10 @@ function exceptionHandler($exception) {
    * @param $settings
    *   An associative array of settings to change from the defaults, keys are
    *   node properties, for example 'body' => 'Hello, world!'.
-   * @return object Created node object.
+   * @return
+   *   Created node object.
    */
-  function drupalCreateNode($settings = array()) {
+  protected function drupalCreateNode($settings = array()) {
     // Populate defaults array
     $defaults = array(
       'body'      => $this->randomName(32),
@@ -410,7 +494,7 @@ function drupalCreateNode($settings = array()) {
    * @return
    *   Created content type.
    */
-  function drupalCreateContentType($settings = array()) {
+  protected function drupalCreateContentType($settings = array()) {
     // find a non-existent random type name.
     do {
       $name = strtolower($this->randomName(3, 'type_'));
@@ -461,13 +545,13 @@ function drupalCreateContentType($settings = array()) {
    * @return
    *   List of files that match filter.
    */
-  function drupalGetTestFiles($type, $size = NULL) {
+  protected function drupalGetTestFiles($type, $size = NULL) {
     $files = array();
 
     // Make sure type is valid.
     if (in_array($type, array('binary', 'html', 'image', 'javascript', 'php', 'sql', 'text'))) {
      // Use original file directory instead of one created during setUp().
-      $path = $this->original_file_directory . '/simpletest';
+      $path = $this->originalFileDirectory . '/simpletest';
       $files = file_scan_directory($path, '/' . $type . '\-.*/');
 
       // If size is set then remove any files that are not of that size.
@@ -487,7 +571,7 @@ function drupalGetTestFiles($type, $size = NULL) {
   /**
    * Compare two files based on size and file name.
    */
-  function drupalCompareFiles($file1, $file2) {
+  protected function drupalCompareFiles($file1, $file2) {
     // Determine which file is larger.
     $compare_size = (filesize($file1->filename) > filesize($file2->filename));
     if (!$compare_size) {
@@ -510,7 +594,7 @@ function drupalCompareFiles($file1, $file2) {
    * @return
    *   Randomly generated string.
    */
-  function randomName($number = 4, $prefix = 'simpletest_') {
+  public static function randomName($number = 4, $prefix = 'simpletest_') {
     $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_';
     for ($x = 0; $x < $number; $x++) {
       $prefix .= $chars{mt_rand(0, strlen($chars) - 1)};
@@ -531,7 +615,7 @@ function randomName($number = 4, $prefix = 'simpletest_') {
    *   A fully loaded user object with pass_raw property, or FALSE if account
    *   creation fails.
    */
-  function drupalCreateUser($permissions = NULL) {
+  protected function drupalCreateUser($permissions = NULL) {
     // Create a role with the given permission set.
     if (!($rid = $this->_drupalCreateRole($permissions))) {
       return FALSE;
@@ -565,7 +649,7 @@ function drupalCreateUser($permissions = NULL) {
    * @return
    *   Role ID of newly created role, or FALSE if role creation failed.
    */
-  private function _drupalCreateRole($permissions = NULL) {
+  protected function _drupalCreateRole(Array $permissions = NULL) {
     // Generate string version of permissions list.
     if ($permissions === NULL) {
       $permissions = array('access comments', 'access content', 'post comments', 'post comments without approval');
@@ -604,7 +688,7 @@ private function _drupalCreateRole($permissions = NULL) {
    * @return
    *   TRUE or FALSE depending on whether the permissions are valid.
    */
-  private function checkPermissions(array $permissions, $reset = FALSE) {
+  protected function checkPermissions(Array $permissions, $reset = FALSE) {
     static $available;
 
     if (!isset($available) || $reset) {
@@ -632,8 +716,8 @@ private function checkPermissions(array $permissions, $reset = FALSE) {
    *   User that was logged in. Useful if no user was passed in order to retrieve
    *   the created user.
    */
-  function drupalLogin($user = NULL) {
-    if ($this->_logged_in) {
+  protected function drupalLogin($user = NULL) {
+    if ($this->isLoggedIn) {
       $this->drupalLogout();
     }
 
@@ -651,7 +735,7 @@ function drupalLogin($user = NULL) {
     $pass = $pass && $this->assertNoText(t('The username %name has been blocked.', array('%name' => $user->name)), t('No blocked message at login page'), t('User login'));
     $pass = $pass && $this->assertNoText(t('The name %name is a reserved username.', array('%name' => $user->name)), t('No reserved message at login page'), t('User login'));
 
-    $this->_logged_in = $pass;
+    $this->isLoggedIn = $pass;
 
     return $user;
   }
@@ -659,7 +743,7 @@ function drupalLogin($user = NULL) {
   /*
    * Logs a user out of the internal browser, then check the login page to confirm logout.
    */
-  function drupalLogout() {
+  protected function drupalLogout() {
     // Make a request to the logout page.
     $this->drupalGet('user/logout');
 
@@ -668,7 +752,7 @@ function drupalLogout() {
     $pass = $this->assertField('name', t('Username field found.'), t('Logout'));
     $pass = $pass && $this->assertField('pass', t('Password field found.'), t('Logout'));
 
-    $this->_logged_in = !$pass;
+    $this->isLoggedIn = !$pass;
   }
 
   /**
@@ -681,11 +765,11 @@ function drupalLogout() {
    * @param ...
    *   List of modules to enable for the duration of the test.
    */
-  function setUp() {
+  protected function setUp() {
     global $db_prefix;
 
     // Store necessary current values before switching to prefixed database.
-    $this->db_prefix_original = $db_prefix;
+    $this->originalPrefix = $db_prefix;
     $clean_url_original = variable_get('clean_url', 0);
 
     // Generate temporary prefixed database to ensure that tests have a clean starting point.
@@ -722,7 +806,7 @@ function setUp() {
     variable_set('clean_url', $clean_url_original);
 
     // Use temporary files directory with the same prefix as database.
-    $this->original_file_directory = file_directory_path();
+    $this->originalFileDirectory = file_directory_path();
     variable_set('file_directory_path', file_directory_path() . '/' . $db_prefix);
     $directory = file_directory_path();
     file_check_directory($directory, FILE_CREATE_DIRECTORY); // Create the files directory.
@@ -740,7 +824,7 @@ function setUp() {
    * This method clears the variables cache and loads a fresh copy from the database
    * to ensure that the most up-to-date set of variables is loaded.
    */
-  function refreshVariables() {
+  protected function refreshVariables() {
     global $conf;
     cache_clear_all('variables', 'cache');
     $conf = variable_init();
@@ -750,12 +834,12 @@ function refreshVariables() {
    * Delete created files and temporary files directory, delete the tables created by setUp(),
    * and reset the database prefix.
    */
-  function tearDown() {
+  protected function tearDown() {
     global $db_prefix;
     if (preg_match('/simpletest\d+/', $db_prefix)) {
       // Delete temporary files directory and reset files directory path.
       simpletest_clean_temporary_directory(file_directory_path());
-      variable_set('file_directory_path', $this->original_file_directory);
+      variable_set('file_directory_path', $this->originalFileDirectory);
 
       // Remove all prefixed tables (all the tables in the schema).
       $schema = drupal_get_schema(NULL, TRUE);
@@ -765,10 +849,10 @@ function tearDown() {
       }
 
       // Return the database prefix to the original.
-      $db_prefix = $this->db_prefix_original;
+      $db_prefix = $this->originalPrefix;
 
       // Ensure that the internal logged in variable is reset.
-      $this->_logged_in = FALSE;
+      $this->isLoggedIn = FALSE;
 
       // Reload module list and implementations to ensure that test module hooks
       // aren't called after tests.
@@ -792,10 +876,10 @@ function tearDown() {
    */
   protected function curlInitialize() {
     global $base_url, $db_prefix;
-    if (!isset($this->ch)) {
-      $this->ch = curl_init();
-      $curl_options = $this->curl_options + array(
-        CURLOPT_COOKIEJAR => $this->cookie_file,
+    if (!isset($this->curlHandle)) {
+      $this->curlHandle = curl_init();
+      $curl_options = $this->additionalCurlOptions + array(
+        CURLOPT_COOKIEJAR => $this->cookieFile,
         CURLOPT_URL => $base_url,
         CURLOPT_FOLLOWLOCATION => TRUE,
         CURLOPT_RETURNTRANSFER => TRUE,
@@ -812,24 +896,24 @@ protected function curlInitialize() {
         }
         $curl_options[CURLOPT_USERPWD] = $auth;
       }
-      curl_setopt_array($this->ch, $this->curl_options + $curl_options);
+      curl_setopt_array($this->curlHandle, $this->additionalCurlOptions + $curl_options);
     }
   }
 
   /**
    * Performs a cURL exec with the specified options after calling curlConnect().
    *
-   * @param
-   *   $curl_options Custom cURL options.
+   * @param $curl_options
+   *   Custom cURL options.
    * @return
    *   Content returned from the exec.
    */
   protected function curlExec($curl_options) {
     $this->curlInitialize();
-    $url = empty($curl_options[CURLOPT_URL]) ? curl_getinfo($this->ch, CURLINFO_EFFECTIVE_URL) : $curl_options[CURLOPT_URL];
-    curl_setopt_array($this->ch, $this->curl_options + $curl_options);
-    $this->drupalSetContent(curl_exec($this->ch), curl_getinfo($this->ch, CURLINFO_EFFECTIVE_URL));
-    $this->assertTrue($this->_content !== FALSE, t('!method to !url, response is !length bytes.', array('!method' => !empty($curl_options[CURLOPT_NOBODY]) ? 'HEAD' : (empty($curl_options[CURLOPT_POSTFIELDS]) ? 'GET' : 'POST'), '!url' => $url, '!length' => strlen($this->_content))), t('Browser'));
+    $url = empty($curl_options[CURLOPT_URL]) ? curl_getinfo($this->curlHandle, CURLINFO_EFFECTIVE_URL) : $curl_options[CURLOPT_URL];
+    curl_setopt_array($this->curlHandle, $this->additionalCurlOptions + $curl_options);
+    $this->drupalSetContent(curl_exec($this->curlHandle), curl_getinfo($this->curlHandle, CURLINFO_EFFECTIVE_URL));
+    $this->assertTrue($this->content !== FALSE, t('!method to !url, response is !length bytes.', array('!method' => !empty($curl_options[CURLOPT_NOBODY]) ? 'HEAD' : (empty($curl_options[CURLOPT_POSTFIELDS]) ? 'GET' : 'POST'), '!url' => $url, '!length' => strlen($this->content))), t('Browser'));
     return $this->drupalGetContent();
   }
 
@@ -838,10 +922,12 @@ protected function curlExec($curl_options) {
    *
    * @see _drupal_log_error().
    *
-   * @param $ch the cURL handler.
-   * @param $header a header.
+   * @param $curlHandler
+   *   The cURL handler.
+   * @param $header
+   *   An header.
    */
-  protected function curlHeaderCallback($ch, $header) {
+  protected function curlHeaderCallback($curlHandler, $header) {
     // Errors are being sent via X-Drupal-Assertion-* headers,
     // generated by _drupal_log_error() in the exact form required
     // by DrupalWebTestCase::error().
@@ -857,9 +943,9 @@ protected function curlHeaderCallback($ch, $header) {
    * Close the cURL handler and unset the handler.
    */
   protected function curlClose() {
-    if (isset($this->ch)) {
-      curl_close($this->ch);
-      unset($this->ch);
+    if (isset($this->curlHandle)) {
+      curl_close($this->curlHandle);
+      unset($this->curlHandle);
     }
   }
 
@@ -873,7 +959,7 @@ protected function parse() {
     if (!$this->elements) {
       // DOM can load HTML soup. But, HTML soup can throw warnings, supress
       // them.
-      @$htmlDom = DOMDocument::loadHTML($this->_content);
+      @$htmlDom = DOMDocument::loadHTML($this->content);
       if ($htmlDom) {
         $this->pass(t('Valid HTML found on "@path"', array('@path' => $this->getUrl())), t('Browser'));
         // It's much easier to work with simplexml than DOM, luckily enough
@@ -894,11 +980,11 @@ protected function parse() {
    * @param $path
    *   Drupal path or URL to load into internal browser
    * @param $options
-   *  Options to be forwarded to url().
+   *   Options to be forwarded to url().
    * @return
-   *  The retrieved HTML string, also available as $this->drupalGetContent()
+   *   The retrieved HTML string, also available as $this->drupalGetContent()
    */
-  function drupalGet($path, $options = array()) {
+  protected function drupalGet($path, $options = array()) {
     $options['absolute'] = TRUE;
 
     // We re-using a CURL connection here.  If that connection still has certain
@@ -946,7 +1032,7 @@ function drupalGet($path, $options = array()) {
    * @param $options
    *   Options to be forwarded to url().
    */
-  function drupalPost($path, $edit, $submit, $options = array()) {
+  protected function drupalPost($path, $edit, $submit, $options = array()) {
     $submit_matches = FALSE;
     if (isset($path)) {
       $html = $this->drupalGet($path, $options);
@@ -1014,7 +1100,7 @@ function drupalPost($path, $edit, $submit, $options = array()) {
    * @return
    *   Either the new page content or FALSE.
    */
-  private function checkForMetaRefresh() {
+  protected function checkForMetaRefresh() {
     if ($this->drupalGetContent() != '' && $this->parse()) {
       $refresh = $this->xpath('//meta[@http-equiv="Refresh"]');
       if (!empty($refresh)) {
@@ -1038,7 +1124,7 @@ private function checkForMetaRefresh() {
    * @return
    *   The retrieved headers, also available as $this->drupalGetContent()
    */
-  function drupalHead($path, $options = array()) {
+  protected function drupalHead($path, Array $options = array()) {
     $options['absolute'] = TRUE;
     $out = $this->curlExec(array(CURLOPT_HEADER => TRUE, CURLOPT_NOBODY => TRUE, CURLOPT_URL => url($path, $options)));
     $this->refreshVariables(); // Ensure that any changes to variables in the other thread are picked up.
@@ -1186,7 +1272,7 @@ protected function handleForm(&$post, &$edit, &$upload, $submit, $form) {
    *   format and return values see the SimpleXML documentation.
    *   http://us.php.net/manual/function.simplexml-element-xpath.php
    */
-  public function xpath($xpath) {
+  protected function xpath($xpath) {
     if ($this->parse()) {
       return $this->elements->xpath($xpath);
     }
@@ -1201,7 +1287,7 @@ public function xpath($xpath) {
    * @return
    *   Option elements in select.
    */
-  private function getAllOptions(SimpleXMLElement $element) {
+  protected function getAllOptions(SimpleXMLElement $element) {
     $options = array();
     // Add all options items.
     foreach ($element->option as $option) {
@@ -1230,10 +1316,10 @@ private function getAllOptions(SimpleXMLElement $element) {
    * @param $group
    *   The group this message belongs to, defaults to 'Other'.
    */
-  public function assertLink($label, $index = 0, $message = '', $group = 'Other') {
+  protected function assertLink($label, $index = 0, $message = '', $group = 'Other') {
     $links = $this->xpath('//a[text()="' . $label . '"]');
     $message = ($message ?  $message : t('Link with label "!label" found.', array('!label' => $label)));
-    $this->_assert(isset($links[$index]), $message, $group);
+    $this->assert(isset($links[$index]), $message, $group);
   }
 
   /**
@@ -1248,10 +1334,10 @@ public function assertLink($label, $index = 0, $message = '', $group = 'Other')
    * @param $group
    *   The group this message belongs to, defaults to 'Other'.
    */
-  public function assertNoLink($label, $message = '', $group = 'Other') {
+  protected function assertNoLink($label, $message = '', $group = 'Other') {
     $links = $this->xpath('//a[text()="' . $label . '"]');
     $message = ($message ?  $message : t('Link with label "!label" not found.', array('!label' => $label)));
-    $this->_assert(empty($links), $message, $group);
+    $this->assert(empty($links), $message, $group);
   }
 
   /**
@@ -1269,7 +1355,7 @@ public function assertNoLink($label, $message = '', $group = 'Other') {
    * @return
    *   Page on success, or FALSE on failure.
    */
-  function clickLink($label, $index = 0) {
+  protected function clickLink($label, $index = 0) {
     $url_before = $this->getUrl();
     $urls = $this->xpath('//a[text()="' . $label . '"]');
 
@@ -1294,7 +1380,7 @@ function clickLink($label, $index = 0) {
    * @return
    *   An absolute path.
    */
-  function getAbsoluteUrl($path) {
+  protected function getAbsoluteUrl($path) {
     $options = array('absolute' => TRUE);
     $parts = parse_url($path);
     // This is more crude than the menu_is_external but enough here.
@@ -1319,15 +1405,15 @@ function getAbsoluteUrl($path) {
    * @return
    *   The current url.
    */
-  function getUrl() {
-    return $this->_url;
+  protected function getUrl() {
+    return $this->url;
   }
 
   /**
    * Gets the current raw HTML of requested page.
    */
-  function drupalGetContent() {
-    return $this->_content;
+  protected function drupalGetContent() {
+    return $this->content;
   }
 
   /**
@@ -1339,10 +1425,10 @@ function drupalGetContent() {
    * the page the content can be set and page elements can be checked to ensure
    * that the function worked properly.
    */
-  function drupalSetContent($content, $url = 'internal:') {
-    $this->_content = $content;
-    $this->_url = $url;
-    $this->plain_text = FALSE;
+  protected function drupalSetContent($content, $url = 'internal:') {
+    $this->content = $content;
+    $this->url = $url;
+    $this->plainTextContent = FALSE;
     $this->elements = FALSE;
   }
 
@@ -1351,7 +1437,7 @@ function drupalSetContent($content, $url = 'internal:') {
    * refers to the raw HTML that the page generated.
    *
    * @param $raw
-   *  Raw (HTML) string to look for.
+   *   Raw (HTML) string to look for.
    * @param $message
    *   Message to display.
    * @param $group
@@ -1359,8 +1445,8 @@ function drupalSetContent($content, $url = 'internal:') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertRaw($raw, $message = '%s found', $group = 'Other') {
-    return $this->_assert(strpos($this->_content, $raw) !== FALSE, $message, $group);
+  protected function assertRaw($raw, $message = '%s found', $group = 'Other') {
+    return $this->assert(strpos($this->content, $raw) !== FALSE, $message, $group);
   }
 
   /**
@@ -1376,8 +1462,8 @@ function assertRaw($raw, $message = '%s found', $group = 'Other') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoRaw($raw, $message = '%s found', $group = 'Other') {
-    return $this->_assert(strpos($this->_content, $raw) === FALSE, $message, $group);
+  protected function assertNoRaw($raw, $message = '%s found', $group = 'Other') {
+    return $this->assert(strpos($this->content, $raw) === FALSE, $message, $group);
   }
 
   /**
@@ -1386,7 +1472,7 @@ function assertNoRaw($raw, $message = '%s found', $group = 'Other') {
    * In other words the HTML has been filtered out of the contents.
    *
    * @param $text
-   *  Plain text to look for.
+   *   Plain text to look for.
    * @param $message
    *   Message to display.
    * @param $group
@@ -1394,7 +1480,7 @@ function assertNoRaw($raw, $message = '%s found', $group = 'Other') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertText($text, $message = '', $group = 'Other') {
+  protected function assertText($text, $message = '', $group = 'Other') {
     return $this->assertTextHelper($text, $message, $group, FALSE);
   }
 
@@ -1412,7 +1498,7 @@ function assertText($text, $message = '', $group = 'Other') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoText($text, $message = '', $group = 'Other') {
+  protected function assertNoText($text, $message = '', $group = 'Other') {
     return $this->assertTextHelper($text, $message, $group, TRUE);
   }
 
@@ -1433,13 +1519,13 @@ function assertNoText($text, $message = '', $group = 'Other') {
    *   TRUE on pass, FALSE on fail.
    */
   protected function assertTextHelper($text, $message, $group, $not_exists) {
-    if ($this->plain_text === FALSE) {
-      $this->plain_text = filter_xss($this->_content, array());
+    if ($this->plainTextContent === FALSE) {
+      $this->plainTextContent = filter_xss($this->content, array());
     }
     if (!$message) {
       $message = '"' . $text . '"' . ($not_exists ? ' not found' : ' found');
     }
-    return $this->_assert($not_exists == (strpos($this->plain_text, $text) === FALSE), $message, $group);
+    return $this->assert($not_exists == (strpos($this->plainTextContent, $text) === FALSE), $message, $group);
   }
 
   /**
@@ -1454,8 +1540,8 @@ protected function assertTextHelper($text, $message, $group, $not_exists) {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertPattern($pattern, $message = 'Pattern %s found', $group = 'Other') {
-    return $this->_assert((bool) preg_match($pattern, $this->drupalGetContent()), $message, $group);
+  protected function assertPattern($pattern, $message = 'Pattern %s found', $group = 'Other') {
+    return $this->assert((bool) preg_match($pattern, $this->drupalGetContent()), $message, $group);
   }
 
   /**
@@ -1470,15 +1556,15 @@ function assertPattern($pattern, $message = 'Pattern %s found', $group = 'Other'
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoPattern($pattern, $message = 'Pattern %s not found', $group = 'Other') {
-    return $this->_assert(!preg_match($pattern, $this->drupalGetContent()), $message, $group);
+  protected function assertNoPattern($pattern, $message = 'Pattern %s not found', $group = 'Other') {
+    return $this->assert(!preg_match($pattern, $this->drupalGetContent()), $message, $group);
   }
 
   /**
    * Pass if the page title is the given string.
    *
    * @param $title
-   *  The string the title should be.
+   *   The string the title should be.
    * @param $message
    *   Message to display.
    * @param $group
@@ -1486,8 +1572,8 @@ function assertNoPattern($pattern, $message = 'Pattern %s not found', $group = '
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertTitle($title, $message, $group = 'Other') {
-    return $this->_assert($this->xpath('//title[text()="' . $title . '"]') !== FALSE, $message, $group);
+  protected function assertTitle($title, $message, $group = 'Other') {
+    return $this->assert($this->xpath('//title[text()="' . $title . '"]') !== FALSE, $message, $group);
   }
 
   /**
@@ -1504,7 +1590,7 @@ function assertTitle($title, $message, $group = 'Other') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertFieldByXPath($xpath, $value, $message, $group = 'Other') {
+  protected function assertFieldByXPath($xpath, $value, $message, $group = 'Other') {
     $fields = $this->xpath($xpath);
 
     // If value specified then check array for match.
@@ -1548,7 +1634,7 @@ function assertFieldByXPath($xpath, $value, $message, $group = 'Other') {
    * @return
    *   The selected value or FALSE.
    */
-  function getSelectedItem(SimpleXMLElement $element) {
+  protected function getSelectedItem(SimpleXMLElement $element) {
     foreach ($element->children() as $item) {
       if (isset($item['selected'])) {
         return $item['value'];
@@ -1576,7 +1662,7 @@ function getSelectedItem(SimpleXMLElement $element) {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoFieldByXPath($xpath, $value, $message, $group = 'Other') {
+  protected function assertNoFieldByXPath($xpath, $value, $message, $group = 'Other') {
     $fields = $this->xpath($xpath);
 
     // If value specified then check array for match.
@@ -1608,8 +1694,8 @@ function assertNoFieldByXPath($xpath, $value, $message, $group = 'Other') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertFieldByName($name, $value = '', $message = '') {
-    return $this->assertFieldByXPath($this->_constructFieldXpath('name', $name), $value, $message ? $message : t('Found field by name @name', array('@name' => $name)), t('Browser'));
+  protected function assertFieldByName($name, $value = '', $message = '') {
+    return $this->assertFieldByXPath($this->constructFieldXpath('name', $name), $value, $message ? $message : t('Found field by name @name', array('@name' => $name)), t('Browser'));
   }
 
   /**
@@ -1626,15 +1712,15 @@ function assertFieldByName($name, $value = '', $message = '') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoFieldByName($name, $value = '', $message = '') {
-    return $this->assertNoFieldByXPath($this->_constructFieldXpath('name', $name), $value, $message ? $message : t('Did not find field by name @name', array('@name' => $name)), t('Browser'));
+  protected function assertNoFieldByName($name, $value = '', $message = '') {
+    return $this->assertNoFieldByXPath($this->constructFieldXpath('name', $name), $value, $message ? $message : t('Did not find field by name @name', array('@name' => $name)), t('Browser'));
   }
 
   /**
    * Assert that a field exists in the current page with the given id and value.
    *
    * @param $id
-   *  Id of field to assert.
+   *   Id of field to assert.
    * @param $value
    *   Value of the field to assert.
    * @param $message
@@ -1644,15 +1730,15 @@ function assertNoFieldByName($name, $value = '', $message = '') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertFieldById($id, $value = '', $message = '') {
-    return $this->assertFieldByXPath($this->_constructFieldXpath('id', $id), $value, $message ? $message : t('Found field by id @id', array('@id' => $id)), t('Browser'));
+  protected function assertFieldById($id, $value = '', $message = '') {
+    return $this->assertFieldByXPath($this->constructFieldXpath('id', $id), $value, $message ? $message : t('Found field by id @id', array('@id' => $id)), t('Browser'));
   }
 
   /**
    * Assert that a field does not exist with the given id and value.
    *
    * @param $id
-   *  Id of field to assert.
+   *   Id of field to assert.
    * @param $value
    *   Value of the field to assert.
    * @param $message
@@ -1662,15 +1748,15 @@ function assertFieldById($id, $value = '', $message = '') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoFieldById($id, $value = '', $message = '') {
-    return $this->assertNoFieldByXPath($this->_constructFieldXpath('id', $id), $value, $message ? $message : t('Did not find field by id @id', array('@id' => $id)), t('Browser'));
+  protected function assertNoFieldById($id, $value = '', $message = '') {
+    return $this->assertNoFieldByXPath($this->constructFieldXpath('id', $id), $value, $message ? $message : t('Did not find field by id @id', array('@id' => $id)), t('Browser'));
   }
 
   /**
    * Assert that a field exists with the given name or id.
    *
    * @param $field
-   *  Name or id of field to assert.
+   *   Name or id of field to assert.
    * @param $message
    *   Message to display.
    * @param $group
@@ -1678,15 +1764,15 @@ function assertNoFieldById($id, $value = '', $message = '') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertField($field, $message = '', $group = 'Other') {
-    return $this->assertFieldByXPath($this->_constructFieldXpath('name', $field) . '|' . $this->_constructFieldXpath('id', $field), '', $message, $group);
+  protected function assertField($field, $message = '', $group = 'Other') {
+    return $this->assertFieldByXPath($this->constructFieldXpath('name', $field) . '|' . $this->constructFieldXpath('id', $field), '', $message, $group);
   }
 
   /**
    * Assert that a field does not exist with the given name or id.
    *
    * @param $field
-   *  Name or id of field to assert.
+   *   Name or id of field to assert.
    * @param $message
    *   Message to display.
    * @param $group
@@ -1694,21 +1780,21 @@ function assertField($field, $message = '', $group = 'Other') {
    * @return
    *   TRUE on pass, FALSE on fail.
    */
-  function assertNoField($field, $message = '', $group = 'Other') {
-    return $this->assertNoFieldByXPath($this->_constructFieldXpath('name', $field) . '|' . $this->_constructFieldXpath('id', $field), '', $message, $group);
+  protected function assertNoField($field, $message = '', $group = 'Other') {
+    return $this->assertNoFieldByXPath($this->constructFieldXpath('name', $field) . '|' . $this->constructFieldXpath('id', $field), '', $message, $group);
   }
 
   /**
-   * Construct an XPath for the given set of attributes and value.
+   * Helper function: construct an XPath for the given set of attributes and value.
    *
    * @param $attribute
-   *  Field attributes.
+   *   Field attributes.
    * @param $value
-   *  Value of field.
+   *   Value of field.
    * @return
-   *  XPath for specified values.
+   *   XPath for specified values.
    */
-  function _constructFieldXpath($attribute, $value) {
+  protected function constructFieldXpath($attribute, $value) {
     return '//textarea[@' . $attribute . '="' . $value . '"]|//input[@' . $attribute . '="' . $value . '"]|//select[@' . $attribute . '="' . $value . '"]';
   }
 
@@ -1723,8 +1809,8 @@ function _constructFieldXpath($attribute, $value) {
    * @return
    *   Assertion result.
    */
-  function assertResponse($code, $message = '') {
-    $curl_code = curl_getinfo($this->ch, CURLINFO_HTTP_CODE);
+  protected function assertResponse($code, $message = '') {
+    $curl_code = curl_getinfo($this->curlHandle, CURLINFO_HTTP_CODE);
     $match = is_array($code) ? in_array($curl_code, $code) : $curl_code == $code;
     return $this->assertTrue($match, $message ? $message : t('HTTP response expected !code, actual !curl_code', array('!code' => $code, '!curl_code' => $curl_code)), t('Browser'));
   }
diff --git a/modules/simpletest/simpletest.module b/modules/simpletest/simpletest.module
index 9d14310651884b670a65ec499d79d01b931e4a7a..6711337ba4fee442aa9752f816fe93d8f1234066 100644
--- a/modules/simpletest/simpletest.module
+++ b/modules/simpletest/simpletest.module
@@ -60,8 +60,6 @@ function simpletest_theme() {
  * Menu callback for both running tests and listing possible tests
  */
 function simpletest_test_form() {
-  global $db_prefix, $db_prefix_original;
-
   $form = array();
 
   // List out all tests in groups for selection.
@@ -354,7 +352,6 @@ function simpletest_test_form_submit($form, &$form_state) {
  *   drupal being the default.
  */
 function simpletest_run_tests($test_list, $reporter = 'drupal') {
-  global $db_prefix, $db_prefix_original;
   cache_clear_all();
   $test_id = db_insert('simpletest_test_id')->useDefaults(array('test_id'))->execute();
 
@@ -415,7 +412,7 @@ function _simpletest_batch_operation($test_list_init, $test_id, &$context) {
   $info = $test->getInfo();
 
   // Gather results and compose the report.
-  $test_results[$test_class] = $test->_results;
+  $test_results[$test_class] = $test->results;
   foreach ($test_results[$test_class] as $key => $value) {
     $test_results[$key] += $value;
   }
@@ -526,13 +523,12 @@ function simpletest_clean_environment() {
  * Removed prefixed talbes from the database that are left over from crashed tests.
  */
 function simpletest_clean_database() {
-  global $db_prefix;
   $tables = db_find_tables(Database::getActiveConnection()->prefixTables('{simpletest}') . '%');
   $schema = drupal_get_schema_unprocessed('simpletest');
   $ret = array();
   foreach (array_diff_key($tables, $schema) as $table) {
-    // Strip $db_prefix and skip tables without digits following "simpletest",
-    // e.g. {simpletest_tets_id}.
+    // Strip the prefix and skip tables without digits following "simpletest",
+    // e.g. {simpletest_test_id}.
     if (preg_match('/simpletest\d+.*/', $table, $matches)) {
       db_drop_table($ret, $matches[0]);
     }
diff --git a/modules/simpletest/simpletest.test b/modules/simpletest/simpletest.test
index 19278f23c3a7b06cecdbeaa804e207ce6ccd0611..ce1cb2a988a00be00d5011b311d4f6b8b9e1a273 100644
--- a/modules/simpletest/simpletest.test
+++ b/modules/simpletest/simpletest.test
@@ -5,7 +5,7 @@ class SimpleTestTestCase extends DrupalWebTestCase {
   /**
    * The results array that has been parsed by getTestResults().
    */
-  protected $results;
+  protected $childTestResults;
 
   /**
    * Store the test ID from each test run for comparison, to ensure they are
@@ -100,7 +100,7 @@ class SimpleTestTestCase extends DrupalWebTestCase {
     $this->drupalCreateUser(array($this->valid_permission));
     $this->drupalCreateUser(array($this->invalid_permission));
 
-    $this->pass(t('Test ID is @id.', array('@id' => $this->test_id)));
+    $this->pass(t('Test ID is @id.', array('@id' => $this->testId)));
 
     // Generates a warning.
     $i = 1 / 0;
@@ -146,7 +146,7 @@ class SimpleTestTestCase extends DrupalWebTestCase {
    * Fetch the test id from the test results.
    */
   function getTestIdFromResults() {
-    foreach($this->results['assertions'] as $assertion) {
+    foreach($this->childTestResults['assertions'] as $assertion) {
       if (preg_match('@^Test ID is ([0-9]*)\.$@', $assertion['message'], $matches)) {
         return $matches[1];
       }
@@ -168,7 +168,7 @@ class SimpleTestTestCase extends DrupalWebTestCase {
   function assertAssertion($message, $type, $status, $file, $function) {
     $message = trim(strip_tags($message));
     $found = FALSE;
-    foreach ($this->results['assertions'] as $assertion) {
+    foreach ($this->childTestResults['assertions'] as $assertion) {
       if ((strpos($assertion['message'], $message) !== FALSE) &&
           $assertion['type'] == $type &&
           $assertion['status'] == $status &&
@@ -208,7 +208,7 @@ class SimpleTestTestCase extends DrupalWebTestCase {
         }
       }
     }
-    $this->results = $results;
+    $this->childTestResults = $results;
   }
 
   /**
diff --git a/modules/simpletest/tests/common.test b/modules/simpletest/tests/common.test
index 60b397ebf96ac9bb273018e3f680551d52db47d3..437f5dbd64d1cac7dc2474430b6f5c6271bb5a2e 100644
--- a/modules/simpletest/tests/common.test
+++ b/modules/simpletest/tests/common.test
@@ -146,11 +146,11 @@ class DrupalTagsHandlingTestCase extends DrupalWebTestCase {
     $original = $this->validTags;
     foreach ($tags as $tag) {
       $key = array_search($tag, $original);
-      $this->_assert($key !== FALSE, t('Make sure tag %tag shows up in the final tags array (originally %original)', array('%tag' => $tag, '%original' => $key)));
+      $this->assertTrue($key, t('Make sure tag %tag shows up in the final tags array (originally %original)', array('%tag' => $tag, '%original' => $key)));
       unset($original[$key]);
     }
     foreach ($original as $leftover) {
-      $this->_assert(FALSE, t('Leftover tag %leftover was left over.', array('%leftover' => $leftover)));
+      $this->fail(t('Leftover tag %leftover was left over.', array('%leftover' => $leftover)));
     }
   }
 }
@@ -238,11 +238,9 @@ class DrupalHTTPRequestTestCase extends DrupalWebTestCase {
     $auth = str_replace('http://', 'http://' . $username . ':' . $password .'@', $url);
     $result = drupal_http_request($auth);
 
-    // We use strpos directly.
-    // assertRaw() cannot be used because we are getting the data
-    // in a variable instead of $this->_content.
-    $this->assertTrue(strpos($result->data, $username) !== FALSE, t('$_SERVER[\'PHP_AUTH_USER\'] is passed correctly.'));
-    $this->assertTrue(strpos($result->data, $password) !== FALSE, t('$_SERVER[\'PHP_AUTH_PW\'] is passed correctly.'));
+    $this->drupalSetContent($result->data);
+    $this->assertRaw($username, t('$_SERVER["PHP_AUTH_USER"] is passed correctly.'));
+    $this->assertRaw($password, t('$_SERVER["PHP_AUTH_PW"] is passed correctly.'));
   }
 
   function testDrupalHTTPRequestRedirect() {
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test
index 88b5f36d2c127d6116f18204139311da02ff5462..1319f7c199fee638c1d8c09b21907d06fc29211c 100644
--- a/modules/simpletest/tests/database_test.test
+++ b/modules/simpletest/tests/database_test.test
@@ -2026,7 +2026,7 @@ class DatabaseTemporaryQueryTestCase extends DrupalWebTestCase {
    */
   function testTemporaryQuery() {
     $this->drupalGet('database_test_db_query_temporary');
-    $this->assertEqual(db_query('SELECT COUNT(*) FROM {system}')->fetchField(), $this->_content, t('The temporary table exists and contains the correct amount of rows.'));
+    $this->assertEqual(db_query('SELECT COUNT(*) FROM {system}')->fetchField(), $this->drupalGetContent(), t('The temporary table exists and contains the correct amount of rows.'));
     $this->assertFalse(db_table_exists('temporary'), t('The temporary table is, indeed, temporary.'));
   }
 }
diff --git a/modules/simpletest/tests/session.test b/modules/simpletest/tests/session.test
index 4512d9cd489b18903babaae8d7a9544eaccf4cee..082345e64b15d0a2eefc094647992ff72111523e 100644
--- a/modules/simpletest/tests/session.test
+++ b/modules/simpletest/tests/session.test
@@ -169,9 +169,9 @@ class SessionTestCase extends DrupalWebTestCase {
     $this->curlClose();
 
     // Change cookie file for user.
-    $this->cookie_file = file_directory_temp() . '/cookie.' . $uid . '.txt';
-    $this->curl_options[CURLOPT_COOKIEFILE] = $this->cookie_file;
-    $this->curl_options[CURLOPT_COOKIESESSION] = TRUE;
+    $this->cookieFile = file_directory_temp() . '/cookie.' . $uid . '.txt';
+    $this->additionalCurlOptions[CURLOPT_COOKIEFILE] = $this->cookieFile;
+    $this->additionalCurlOptions[CURLOPT_COOKIESESSION] = TRUE;
     $this->drupalGet('session-test/get');
     $this->assertResponse(200, t('Session test module is correctly enabled.'), t('Session'));
   }
diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh
index fdd45528485fdbd0328a74e76308a78bc2649fe8..8066a3195435539de15f27dcb36bc4c42b3b9a7a 100755
--- a/scripts/run-tests.sh
+++ b/scripts/run-tests.sh
@@ -343,9 +343,9 @@ function simpletest_script_run_one_test($test_id, $test_class) {
   $test->run();
   $info = $test->getInfo();
 
-  $status = ((isset($test->_results['#fail']) && $test->_results['#fail'] > 0)
-           || (isset($test->_results['#exception']) && $test->_results['#exception'] > 0) ? 'fail' : 'pass');
-  simpletest_script_print($info['name'] . ' ' . _simpletest_format_summary_line($test->_results) . "\n", simpletest_script_color_code($status));
+  $status = ((isset($test->results['#fail']) && $test->results['#fail'] > 0)
+           || (isset($test->results['#exception']) && $test->results['#exception'] > 0) ? 'fail' : 'pass');
+  simpletest_script_print($info['name'] . ' ' . _simpletest_format_summary_line($test->results) . "\n", simpletest_script_color_code($status));
 }
 
 /**