Index: modules/simpletest/drupal_web_test_case.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/drupal_web_test_case.php,v
retrieving revision 1.25
diff -u -r1.25 drupal_web_test_case.php
--- modules/simpletest/drupal_web_test_case.php	5 Jul 2008 07:19:31 -0000	1.25
+++ modules/simpletest/drupal_web_test_case.php	16 Jul 2008 06:54:08 -0000
@@ -18,6 +18,7 @@
   protected $curl_options = array();
   protected $db_prefix_original;
   protected $original_file_directory;
+  protected $original_user;
 
   var $_results = array('#pass' => 0, '#fail' => 0, '#exception' => 0);
   var $_assertions = array();
@@ -642,6 +643,20 @@
     $task = 'profile';
     default_profile_tasks($task, '');
 
+    // Cleanup $user
+    $this->original_user = $GLOBALS['user'];
+    session_save_session(FALSE);
+    $GLOBALS['user'] = array(
+      'uid' => 1,
+      'name' => 'admin',
+      'mail' => '',
+      'status' => 1,
+      'timezone' => '',
+      'language' => '',
+      'picture' => '',
+      'roles' => array( 2 => t('authenticated user') ),
+    );
+    
     // Rebuild caches.
     menu_rebuild();
     actions_synchronize();
@@ -699,6 +714,10 @@
       // Return the database prefix to the original.
       $db_prefix = $this->db_prefix_original;
 
+      // Restore the old user object
+      $GLOBALS['user'] = $this->original_user;
+      session_save_session(TRUE);
+
       // Ensure that the internal logged in variable is reset.
       $this->_logged_in = FALSE;
 
