@@ -26,7 +26,14 @@ public typealias XCTestCaseEntry = (testCaseClass: XCTestCase.Type, allTests: [(
26
26
27
27
public class XCTestCase {
28
28
29
+ /// The name of the test case, consisting of its class name and the method name it will run.
30
+ /// - Note: FIXME: This property should be readonly, but currently has to be publicly settable due to a
31
+ /// toolchain bug on Linux. To ensure compatibility of tests between
32
+ /// swift-corelibs-xctest and Apple XCTest, this property should not be modified.
33
+ public var name : String
34
+
29
35
public required init ( ) {
36
+ name = " \( self . dynamicType) .<unknown> "
30
37
}
31
38
32
39
public func setUp( ) {
@@ -78,19 +85,19 @@ extension XCTestCase {
78
85
let overallDuration = measureTimeExecutingBlock {
79
86
for (name, test) in tests {
80
87
let testCase = self . init ( )
81
- let fullName = " \( testCase. dynamicType) . \( name) "
88
+ testCase . name = " \( testCase. dynamicType) . \( name) "
82
89
83
90
var failures = [ XCTFailure] ( )
84
91
XCTFailureHandler = { failure in
85
92
if !testCase. continueAfterFailure {
86
- failure. emit ( fullName )
93
+ failure. emit ( testCase . name )
87
94
fatalError ( " Terminating execution due to test failure " , file: failure. file, line: failure. line)
88
95
} else {
89
96
failures. append ( failure)
90
97
}
91
98
}
92
99
93
- XCTPrint ( " Test Case ' \( fullName ) ' started. " )
100
+ XCTPrint ( " Test Case ' \( testCase . name ) ' started. " )
94
101
95
102
testCase. setUp ( )
96
103
@@ -111,16 +118,16 @@ extension XCTestCase {
111
118
112
119
var result = " passed "
113
120
for failure in failures {
114
- failure. emit ( fullName )
121
+ failure. emit ( testCase . name )
115
122
totalFailures += 1
116
123
if !failure. expected {
117
124
unexpectedFailures += 1
118
125
}
119
126
result = failures. count > 0 ? " failed " : " passed "
120
127
}
121
128
122
- XCTPrint ( " Test Case ' \( fullName ) ' \( result) ( \( printableStringForTimeInterval ( duration) ) seconds). " )
123
- XCTAllRuns . append ( XCTRun ( duration: duration, method: fullName , passed: failures. count == 0 , failures: failures) )
129
+ XCTPrint ( " Test Case ' \( testCase . name ) ' \( result) ( \( printableStringForTimeInterval ( duration) ) seconds). " )
130
+ XCTAllRuns . append ( XCTRun ( duration: duration, method: testCase . name , passed: failures. count == 0 , failures: failures) )
124
131
XCTFailureHandler = nil
125
132
}
126
133
}
0 commit comments