@@ -7,7 +7,24 @@ platform :ios do
77
88 ios_swift_infoplist_path = "./Samples/iOS-Swift/iOS-Swift/Info.plist"
99 ios_swift_clip_infoplist_path = "./Samples/iOS-Swift/iOS-SwiftClip/Info.plist"
10- configuration = if is_ci then 'TestCI' else 'Test' end
10+
11+ # Helper method to run tests with common configuration
12+ def run_ui_tests ( scheme :, result_bundle_name :, device : nil , address_sanitizer : false )
13+ configuration = if is_ci then 'TestCI' else 'Test' end
14+ result_bundle_path = "test_results/#{ result_bundle_name } .xcresult"
15+ FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
16+
17+ run_tests (
18+ workspace : "Sentry.xcworkspace" ,
19+ scheme : scheme ,
20+ configuration : configuration ,
21+ xcodebuild_formatter : "xcbeautify --report junit" ,
22+ result_bundle : true ,
23+ result_bundle_path : "fastlane/#{ result_bundle_path } " ,
24+ device : device ,
25+ address_sanitizer : address_sanitizer
26+ )
27+ end
1128
1229 lane :prepare_xcframework_signing do
1330 setup_ci
@@ -177,16 +194,9 @@ platform :ios do
177194 end
178195
179196 lane :ui_critical_tests_ios_swiftui do
180- # FileUtils resolves relative paths to the `fastlane` directory, while lanes resolve relative to root.
181- result_bundle_path = "test_results/ui_critical_tests_ios_swiftui.xcresult"
182- FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
183- run_tests (
184- workspace : "Sentry.xcworkspace" ,
197+ run_ui_tests (
185198 scheme : "SwiftUITestSample" ,
186- configuration : "Debug" ,
187- xcodebuild_formatter : "xcbeautify --report junit" ,
188- result_bundle : true ,
189- result_bundle_path : "fastlane/#{ result_bundle_path } "
199+ result_bundle_name : "ui_critical_tests_ios_swiftui"
190200 )
191201 end
192202
@@ -212,74 +222,40 @@ platform :ios do
212222 end
213223
214224 lane :ui_tests_ios_swiftui do
215- # FileUtils resolves relative paths to the `fastlane` directory, while lanes resolve relative to root.
216- result_bundle_path = "test_results/ui_tests_ios_swiftui.xcresult"
217- FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
218- run_tests (
219- workspace : "Sentry.xcworkspace" ,
225+ run_ui_tests (
220226 scheme : "iOS-SwiftUI" ,
221- configuration : configuration ,
222- xcodebuild_formatter : "xcbeautify --report junit" ,
223- result_bundle : true ,
224- result_bundle_path : "fastlane/#{ result_bundle_path } "
227+ result_bundle_name : "ui_tests_ios_swiftui"
225228 )
226229 end
227230
228231 lane :ui_tests_ios_swift6 do |options |
229- # FileUtils resolves relative paths to the `fastlane` directory, while lanes resolve relative to root.
230- result_bundle_path = "test_results/ui_tests_ios_swift6.xcresult"
231- FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
232- run_tests (
233- workspace : "Sentry.xcworkspace" ,
232+ run_ui_tests (
234233 scheme : "iOS-Swift6" ,
235- configuration : configuration ,
236- xcodebuild_formatter : "xcbeautify --report junit" ,
237- result_bundle : true ,
238- result_bundle_path : "fastlane/#{ result_bundle_path } "
234+ result_bundle_name : "ui_tests_ios_swift6" ,
235+ device : options [ :device ]
239236 )
240237 end
241238
242239 lane :ui_tests_ios_objc do
243- # FileUtils resolves relative paths to the `fastlane` directory, while lanes resolve relative to root.
244- result_bundle_path = "test_results/ui_tests_ios_objc.xcresult"
245- FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
246- run_tests (
247- workspace : "Sentry.xcworkspace" ,
240+ run_ui_tests (
248241 scheme : "iOS-ObjectiveC" ,
249- configuration : configuration ,
250- xcodebuild_formatter : "xcbeautify --report junit" ,
251- result_bundle : true ,
252- result_bundle_path : "fastlane/#{ result_bundle_path } "
242+ result_bundle_name : "ui_tests_ios_objc"
253243 )
254244 end
255245
256246 lane :ui_tests_ios_swift do |options |
257- # FileUtils resolves relative paths to the `fastlane` directory, while lanes resolve relative to root.
258- result_bundle_path = "test_results/ui_tests_ios_swift.xcresult"
259- FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
260- run_tests (
261- workspace : "Sentry.xcworkspace" ,
247+ run_ui_tests (
262248 scheme : "iOS-Swift" ,
249+ result_bundle_name : "ui_tests_ios_swift" ,
263250 device : options [ :device ] ,
264- address_sanitizer : options [ :address_sanitizer ] ,
265- configuration : configuration ,
266- xcodebuild_formatter : "xcbeautify --report junit" ,
267- result_bundle : true ,
268- result_bundle_path : "fastlane/#{ result_bundle_path } "
251+ address_sanitizer : options [ :address_sanitizer ]
269252 )
270253 end
271254
272255 lane :ui_tests_tvos_swift do
273- # FileUtils resolves relative paths to the `fastlane` directory, while lanes resolve relative to root.
274- result_bundle_path = "test_results/ui_tests_tvos_swift.xcresult"
275- FileUtils . rm_r ( result_bundle_path ) if File . exist? ( result_bundle_path )
276- run_tests (
277- workspace : "Sentry.xcworkspace" ,
256+ run_ui_tests (
278257 scheme : "tvOS-Swift" ,
279- configuration : configuration ,
280- xcodebuild_formatter : "xcbeautify --report junit" ,
281- result_bundle : true ,
282- result_bundle_path : "fastlane/#{ result_bundle_path } "
258+ result_bundle_name : "ui_tests_tvos_swift"
283259 )
284260 end
285261
0 commit comments