                     result = failures.count > 0 ? "failed" : "passed"
                 }
 
-                XCTPrint("Test Case '\(fullName)' \(result) (\(printableStringForTimeInterval(duration)) seconds).")
-                XCTAllRuns.append(XCTRun(duration: duration, method: fullName, passed: failures.count == 0, failures: failures))
+                XCTPrint("Test Case '\(testCase.name)' \(result) (\(printableStringForTimeInterval(duration)) seconds).")
+                XCTAllRuns.append(XCTRun(duration: duration, method: testCase.name, passed: failures.count == 0, failures: failures))
                 XCTFailureHandler = nil
             }
         }

        let overallDuration = measureTimeExecutingBlock {
            for (name, test) in tests {
                let testCase = self.init()
                let fullName = "\(testCase.dynamicType).\(name)"

                var failures = [XCTFailure]()
                XCTFailureHandler = { failure in
                    if !testCase.continueAfterFailure {
                        failure.emit(fullName)
                        fatalError("Terminating execution due to test failure", file: failure.file, line: failure.line)
                    } else {
                        failures.append(failure)
                    }
                }

                XCTPrint("Test Case '\(fullName)' started.")

                testCase.setUp()



public class XCTestCase {

    /// The name of the test case, consisting of its class name and the method name it will run.
    /// - Note: FIXME: This property should be readonly, but currently has to be publicly settable due to a
    ///         toolchain bug on Linux. To ensure compatibility of tests between
    ///         swift-corelibs-xctest and Apple XCTest, this property should not be modified.
    public var name: String

    public required init() {
        name = "\(self.dynamicType).<unknown>"
    }

    public func setUp() {
