 +        $this->suite->runTest($case);
 +        $this->assertEquals($this->suite, $this->invocations['testRunStarted'][0]);
 +        $this->assertEquals($case, $this->invocations['testStarted'][0]);
-+        $this->assertClass($this->invocations['testError'][0], 'unittest.TestFailure');
++        $this->assertSubclass($this->invocations['testError'][0], 'unittest.TestFailure');
 +        $this->assertEquals($this->suite, $this->invocations['testRunFinished'][0]);
 +        $this->assertClass($this->invocations['testRunFinished'][1], 'unittest.TestResult');
 +      }

+        $this->suite->runTest($case);
+        $this->assertEquals($this->suite, $this->invocations['testRunStarted'][0]);
+        $this->assertEquals($case, $this->invocations['testStarted'][0]);
+        $this->assertClass($this->invocations['testError'][0], 'unittest.TestFailure');
+        $this->assertEquals($this->suite, $this->invocations['testRunFinished'][0]);
+        $this->assertClass($this->invocations['testRunFinished'][1], 'unittest.TestResult');
+      }

      * Tests running a single test that is skipped due to not-met
      * prerequisites.
      *
@@ -142,7 +192,7 @@
         $this->suite->runTest($case);
         $this->assertEquals($this->suite, $this->invocations['testRunStarted'][0]);
         $this->assertEquals($case, $this->invocations['testStarted'][0]);
-        $this->assertClass($this->invocations['testSkipped'][0], 'unittest.TestSkipped');
+        $this->assertSubclass($this->invocations['testSkipped'][0], 'unittest.TestSkipped');
         $this->assertEquals($this->suite, $this->invocations['testRunFinished'][0]);
         $this->assertClass($this->invocations['testRunFinished'][1], 'unittest.TestResult');
       }
@@ -159,7 +209,7 @@
         $this->suite->runTest($case);
         $this->assertEquals($this->suite, $this->invocations['testRunStarted'][0]);
         $this->assertEquals($case, $this->invocations['testStarted'][0]);
-        $this->assertClass($this->invocations['testSkipped'][0], 'unittest.TestSkipped');
+        $this->assertSubclass($this->invocations['testNotRun'][0], 'unittest.TestSkipped');
         $this->assertEquals($this->suite, $this->invocations['testRunFinished'][0]);
         $this->assertClass($this->invocations['testRunFinished'][1], 'unittest.TestResult');
       }
Index: ports/classes/net/xp_framework/unittest/tests/SuiteTest.class.php
===================================================================
--- ports/classes/net/xp_framework/unittest/tests/SuiteTest.class.php	(revision 13659)
+++ ports/classes/net/xp_framework/unittest/tests/SuiteTest.class.php	(working copy)
@@ -266,13 +266,27 @@
     public function warningsMakeTestFail() {
       with ($test= new SimpleTestCase('raisesAnError')); {
         $this->assertEquals(
-          '<Non-clean error stack>', 
-          $this->suite->runTest($test)->failed[$test->hashCode()]->reason->actual
+          array('"Undefined variable: a" in SimpleTestCase::raisesAnError() (SimpleTestCase.class.php, line 90, occured once)'), 
+          $this->suite->runTest($test)->failed[$test->hashCode()]->reason
         );
       }
     }
 
     /**
