@@ -63,13 +63,18 @@ final class BenchmarkReporterTests: XCTestCase {
63
63
file: StaticString = #filePath,
64
64
line: UInt = #line
65
65
) {
66
+ func trimmingTrailingWhitespace( _ string: String ) -> String {
67
+ String ( string. reversed ( ) . drop ( while: { $0. isWhitespace } ) . reversed ( ) )
68
+ }
66
69
let lines = Array ( got. split ( separator: " \n " ) . map { String ( $0) } )
67
70
let expectedLines = expected. split ( separator: " \n " ) . map { String ( $0) }
68
71
let actual = lines. map { $0. trimmingCharacters ( in: . newlines) }
69
72
. filter { !$0. isEmpty }
70
73
XCTAssertEqual ( expectedLines. count, actual. count, message ( ) , file: file, line: line)
71
74
for (expectedLine, actualLine) in zip ( expectedLines, actual) {
72
- XCTAssertEqual ( expectedLine, actualLine, message ( ) , file: file, line: line)
75
+ let trimmedExpectedLine = trimmingTrailingWhitespace ( expectedLine)
76
+ let trimmedActualLine = trimmingTrailingWhitespace ( actualLine)
77
+ XCTAssertEqual ( trimmedExpectedLine, trimmedActualLine, message ( ) , file: file, line: line)
73
78
}
74
79
}
75
80
@@ -89,10 +94,10 @@ final class BenchmarkReporterTests: XCTestCase {
89
94
counters: [ : ] ) ,
90
95
]
91
96
let expected = #"""
92
- name time std iterations
93
- ---------------------------------------------
94
- MySuite.fast 1500 ns ± 47.14 % 2
95
- MySuite.slow 1500000 ns ± 47.14 % 2
97
+ name time std iterations
98
+ -------------------------------------------------
99
+ MySuite.fast 1500.000 ns ± 47.14 % 2
100
+ MySuite.slow 1500000.000 ns ± 47.14 % 2
96
101
"""#
97
102
assertConsoleReported ( results, expected)
98
103
}
@@ -113,10 +118,10 @@ final class BenchmarkReporterTests: XCTestCase {
113
118
counters: [ : ] ) ,
114
119
]
115
120
let expected = #"""
116
- name time std iterations foo
117
- -------------------------------------------------
118
- MySuite.fast 1500 ns ± 47.14 % 2 7
119
- MySuite.slow 1500000 ns ± 47.14 % 2 0
121
+ name time std iterations foo
122
+ -----------------------------------------------------
123
+ MySuite.fast 1500.000 ns ± 47.14 % 2 7
124
+ MySuite.slow 1500000.000 ns ± 47.14 % 2 0
120
125
"""#
121
126
assertConsoleReported ( results, expected)
122
127
}
@@ -137,10 +142,10 @@ final class BenchmarkReporterTests: XCTestCase {
137
142
counters: [ : ] ) ,
138
143
]
139
144
let expected = #"""
140
- name time std iterations warmup
141
- ----------------------------------------------------
142
- MySuite.fast 1500 ns ± 47.14 % 2 60 ns
143
- MySuite.slow 1500000 ns ± 47.14 % 2 0 ns
145
+ name time std iterations warmup
146
+ -----------------------------------------------------------
147
+ MySuite.fast 1500.000 ns ± 47.14 % 2 60.000 ns
148
+ MySuite.slow 1500000.000 ns ± 47.14 % 2 0.000 ns
144
149
"""#
145
150
assertConsoleReported ( results, expected)
146
151
}
@@ -173,12 +178,12 @@ final class BenchmarkReporterTests: XCTestCase {
173
178
counters: [ : ] ) ,
174
179
]
175
180
let expected = #"""
176
- name time std iterations
177
- ----------------------------------------------
178
- MySuite.ns 123456789 ns ± 0.00 % 1
179
- MySuite.us 123456.789 us ± 0.00 % 1
180
- MySuite.ms 123.457 ms ± 0.00 % 1
181
- MySuite.s 0.123 s ± 0.00 % 1
181
+ name time std iterations
182
+ -------------------------------------------------
183
+ MySuite.ns 123456789.000 ns ± 0.00 % 1
184
+ MySuite.us 123456.789 us ± 0.00 % 1
185
+ MySuite.ms 123.457 ms ± 0.00 % 1
186
+ MySuite.s 0.123 s ± 0.00 % 1
182
187
"""#
183
188
assertConsoleReported ( results, expected)
184
189
}
@@ -199,10 +204,10 @@ final class BenchmarkReporterTests: XCTestCase {
199
204
counters: [ : ] ) ,
200
205
]
201
206
let expected = #"""
202
- name min max
203
- -------------------------------
204
- MySuite.fast 1000 ns
205
- MySuite.slow 2000000 ns
207
+ name min max
208
+ ---------------------------------------
209
+ MySuite.fast 1000.000 ns
210
+ MySuite.slow 2000000.000 ns
206
211
"""#
207
212
assertConsoleReported ( results, expected)
208
213
}
0 commit comments