From dd02219413a24930c2b7737659bad057d727eae9 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 28 Jun 2024 16:54:00 +0100 Subject: [PATCH 01/34] Test fixture workspace using Bugsnag xcframework --- .../project.pbxproj | 1243 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcschemes/iOSTestApp.xcscheme | 86 ++ .../contents.xcworkspacedata | 10 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + 5 files changed, 1354 insertions(+) create mode 100644 features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj create mode 100644 features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme create mode 100644 features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata create mode 100644 features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj new file mode 100644 index 000000000..ad2cb567a --- /dev/null +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj @@ -0,0 +1,1243 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 001E5502243B8FDA0009E31D /* AutoCaptureRunScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 001E5501243B8FDA0009E31D /* AutoCaptureRunScenario.m */; }; + 0037410F2473CF2300BE41AA /* AppAndDeviceAttributesScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0037410E2473CF2300BE41AA /* AppAndDeviceAttributesScenario.swift */; }; + 00432CC4240912A100826D05 /* EnabledErrorTypesCxxScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 00432CC2240912A000826D05 /* EnabledErrorTypesCxxScenario.mm */; }; + 00507A64242BFE5600EF1B87 /* EnabledBreadcrumbTypesIsNilScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00507A63242BFE5600EF1B87 /* EnabledBreadcrumbTypesIsNilScenario.swift */; }; + 01018BA025E40ADD000312C6 /* AsyncSafeMallocScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01018B9F25E40ADD000312C6 /* AsyncSafeMallocScenario.m */; }; + 0104085F258CA0A100933C60 /* DispatchCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0104085E258CA0A100933C60 /* DispatchCrashScenario.swift */; }; + 0104B47E275A7B3C003EBDF0 /* RecrashScenarios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0104B47D275A7B3C003EBDF0 /* RecrashScenarios.mm */; }; + 010BAAFF2833CE570003FF36 /* HandledErrorThreadSendUnhandledOnlyScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAED2833CE560003FF36 /* HandledErrorThreadSendUnhandledOnlyScenario.m */; }; + 010BAB002833CE570003FF36 /* DisableNSExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAEE2833CE560003FF36 /* DisableNSExceptionScenario.m */; }; + 010BAB012833CE570003FF36 /* UnhandledErrorThreadSendNeverScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAEF2833CE560003FF36 /* UnhandledErrorThreadSendNeverScenario.m */; }; + 010BAB022833CE570003FF36 /* HandledErrorThreadSendAlwaysScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF02833CE570003FF36 /* HandledErrorThreadSendAlwaysScenario.m */; }; + 010BAB032833CE570003FF36 /* UserPersistenceDontPersistUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF12833CE570003FF36 /* UserPersistenceDontPersistUserScenario.m */; }; + 010BAB042833CE570003FF36 /* UserPersistencePersistUserClientScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF22833CE570003FF36 /* UserPersistencePersistUserClientScenario.m */; }; + 010BAB052833CE570003FF36 /* DisableAllExceptManualExceptionsAndCrashScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF42833CE570003FF36 /* DisableAllExceptManualExceptionsAndCrashScenario.m */; }; + 010BAB062833CE570003FF36 /* ObjCExceptionOverrideScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF52833CE570003FF36 /* ObjCExceptionOverrideScenario.m */; }; + 010BAB072833CE570003FF36 /* AbortOverrideScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF62833CE570003FF36 /* AbortOverrideScenario.m */; }; + 010BAB082833CE570003FF36 /* UnhandledErrorThreadSendAlwaysScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF72833CE570003FF36 /* UnhandledErrorThreadSendAlwaysScenario.m */; }; + 010BAB092833CE570003FF36 /* UserPersistencePersistUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF82833CE570003FF36 /* UserPersistencePersistUserScenario.m */; }; + 010BAB0A2833CE570003FF36 /* DisableSignalsExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAF92833CE570003FF36 /* DisableSignalsExceptionScenario.m */; }; + 010BAB0B2833CE570003FF36 /* CxxExceptionOverrideScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAFA2833CE570003FF36 /* CxxExceptionOverrideScenario.mm */; }; + 010BAB0C2833CE570003FF36 /* DisableMachExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAFB2833CE570003FF36 /* DisableMachExceptionScenario.m */; }; + 010BAB0D2833CE570003FF36 /* OOMWillTerminateScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAFC2833CE570003FF36 /* OOMWillTerminateScenario.m */; }; + 010BAB0E2833CE570003FF36 /* UnhandledMachExceptionOverrideScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAFD2833CE570003FF36 /* UnhandledMachExceptionOverrideScenario.m */; }; + 010BAB0F2833CE570003FF36 /* UserPersistenceNoUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 010BAAFE2833CE570003FF36 /* UserPersistenceNoUserScenario.m */; }; + 010BAB112833CEEC0003FF36 /* AppAndDeviceAttributesConfigOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB102833CEEC0003FF36 /* AppAndDeviceAttributesConfigOverrideScenario.swift */; }; + 010BAB132833CF0F0003FF36 /* AppAndDeviceAttributesCallbackOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB122833CF0F0003FF36 /* AppAndDeviceAttributesCallbackOverrideScenario.swift */; }; + 010BAB152833CF280003FF36 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB142833CF280003FF36 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift */; }; + 010BAB172833CF530003FF36 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB162833CF530003FF36 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift */; }; + 010BAB192833CF660003FF36 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB182833CF660003FF36 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift */; }; + 010BAB1B2833CF810003FF36 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB1A2833CF810003FF36 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift */; }; + 010BAB1D2833CFB00003FF36 /* AppHangDidBecomeActiveScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB1C2833CFB00003FF36 /* AppHangDidBecomeActiveScenario.swift */; }; + 010BAB1F2833CFD40003FF36 /* AppHangDidEnterBackgroundScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB1E2833CFD40003FF36 /* AppHangDidEnterBackgroundScenario.swift */; }; + 010BAB212833CFE60003FF36 /* AppHangFatalDisabledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB202833CFE60003FF36 /* AppHangFatalDisabledScenario.swift */; }; + 010BAB232833CFF50003FF36 /* AppHangFatalOnlyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB222833CFF50003FF36 /* AppHangFatalOnlyScenario.swift */; }; + 010BAB252833D0070003FF36 /* AppHangDisabledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB242833D0070003FF36 /* AppHangDisabledScenario.swift */; }; + 010BAB272833D0160003FF36 /* AppHangDefaultConfigScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB262833D0160003FF36 /* AppHangDefaultConfigScenario.swift */; }; + 010BAB292833D08F0003FF36 /* BareboneTestUnhandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB282833D08F0003FF36 /* BareboneTestUnhandledErrorScenario.swift */; }; + 010BAB2B2833D0DF0003FF36 /* DiscardClassesUnhandledCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB2A2833D0DF0003FF36 /* DiscardClassesUnhandledCrashScenario.swift */; }; + 010BAB2D2833D0F20003FF36 /* DiscardClassesUnhandledExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB2C2833D0F20003FF36 /* DiscardClassesUnhandledExceptionScenario.swift */; }; + 010BAB2F2833D1830003FF36 /* SendLaunchCrashesSynchronouslyFalseScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB2E2833D1830003FF36 /* SendLaunchCrashesSynchronouslyFalseScenario.swift */; }; + 010BAB312833D1930003FF36 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB302833D1930003FF36 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift */; }; + 010BAB332833D1E80003FF36 /* UnhandledErrorInvalidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB322833D1E80003FF36 /* UnhandledErrorInvalidReleaseStageScenario.swift */; }; + 010BAB352833D1F70003FF36 /* HandledErrorInvalidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB342833D1F70003FF36 /* HandledErrorInvalidReleaseStageScenario.swift */; }; + 010BAB372833D2080003FF36 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB362833D2080003FF36 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift */; }; + 010BAB392833D21A0003FF36 /* UnhandledErrorChangeValidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB382833D21A0003FF36 /* UnhandledErrorChangeValidReleaseStageScenario.swift */; }; + 010BAB3B2833D2280003FF36 /* UnhandledErrorValidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB3A2833D2280003FF36 /* UnhandledErrorValidReleaseStageScenario.swift */; }; + 010BAB3D2833D2890003FF36 /* DisabledReleaseStageManualSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB3C2833D2890003FF36 /* DisabledReleaseStageManualSessionScenario.swift */; }; + 010BAB3F2833D29A0003FF36 /* EnabledReleaseStageManualSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB3E2833D29A0003FF36 /* EnabledReleaseStageManualSessionScenario.swift */; }; + 010BAB412833D2AA0003FF36 /* DisabledReleaseStageAutoSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BAB402833D2AA0003FF36 /* DisabledReleaseStageAutoSessionScenario.swift */; }; + 010BDFB92885562D007025F9 /* ReportBackgroundAppHangScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BDFB82885562D007025F9 /* ReportBackgroundAppHangScenario.swift */; }; + 010BDFBD28883714007025F9 /* UserNilScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 010BDFBC28883714007025F9 /* UserNilScenario.swift */; }; + 01221E55282E5538008095C3 /* MaxPersistedSessionsScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01221E54282E5538008095C3 /* MaxPersistedSessionsScenario.m */; }; + 0163BFA72583B3CF008DC28B /* DiscardClassesHandledExceptionRegexScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0163BFA62583B3CF008DC28B /* DiscardClassesHandledExceptionRegexScenario.swift */; }; + 017B4134276B8D9B0054C91D /* OnSendErrorPersistenceScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 017B4133276B8D9B0054C91D /* OnSendErrorPersistenceScenario.m */; }; + 017BA42428A1558A00CB985E /* OversizedBreadcrumbsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 017BA42328A1558A00CB985E /* OversizedBreadcrumbsScenario.swift */; }; + 017DCFA028743FB5000ECB22 /* TelemetryUsageDisabledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 017DCF9F28743FB5000ECB22 /* TelemetryUsageDisabledScenario.swift */; }; + 01847DD626453D4E00ADA4C7 /* InvalidCrashReportScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01847DD526453D4E00ADA4C7 /* InvalidCrashReportScenario.m */; }; + 0184DBE028C63F51006AF50B /* CouldNotCreateDirectoryScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0184DBDF28C63F50006AF50B /* CouldNotCreateDirectoryScenario.swift */; }; + 018F9B6528E57DBE00EAA02F /* AttemptDeliveryOnCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 018F9B6428E57DBE00EAA02F /* AttemptDeliveryOnCrashScenario.swift */; }; + 01AF6A53258A112F00FFC803 /* BareboneTestHandledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01AF6A52258A112F00FFC803 /* BareboneTestHandledScenario.swift */; }; + 01AFCFCB282CE9F700D48D45 /* OldSessionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01AFCFCA282CE9F700D48D45 /* OldSessionScenario.m */; }; + 01B6BB7525D5748800FC4DE6 /* LastRunInfoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B6BB7425D5748800FC4DE6 /* LastRunInfoScenario.swift */; }; + 01B6BBB625DA82B800FC4DE6 /* SendLaunchCrashesSynchronouslyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01B6BBB525DA82B700FC4DE6 /* SendLaunchCrashesSynchronouslyScenario.swift */; }; + 01BA54FC28699BC100EC14E0 /* OOMInactiveScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01BA54FB28699BC100EC14E0 /* OOMInactiveScenario.swift */; }; + 01DCB82B27985D690048640A /* ConcurrentCrashesScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 01DCB82A27985D2C0048640A /* ConcurrentCrashesScenario.mm */; }; + 01DE903826CE99B800455213 /* CriticalThermalStateScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01DE903726CE99B800455213 /* CriticalThermalStateScenario.swift */; }; + 01DF442C2798044E00C31104 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 01DF442B2798044E00C31104 /* SystemConfiguration.framework */; }; + 01E0DB0B25E8EBD100A740ED /* AppDurationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E0DB0A25E8EBD100A740ED /* AppDurationScenario.swift */; }; + 01E356C026CD5B6A00BE3F64 /* ThermalStateBreadcrumbScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01E356BF26CD5B6A00BE3F64 /* ThermalStateBreadcrumbScenario.swift */; }; + 01E5EAD225B713990066EA8A /* OOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01E5EAD125B713990066EA8A /* OOMScenario.m */; }; + 01EE7F57278C680C00A59DC6 /* OOMSessionlessScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01EE7F56278C680C00A59DC6 /* OOMSessionlessScenario.m */; }; + 01F115C927BAAF2D00892B1E /* SIGPIPEIgnoredScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 01F115C827BAAF2D00892B1E /* SIGPIPEIgnoredScenario.m */; }; + 01F1474425F282E600C2DC65 /* AppHangScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F1474325F282E600C2DC65 /* AppHangScenario.swift */; }; + 01F6B75A2832756300B75C5D /* OldCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B7582832756300B75C5D /* OldCrashReportScenario.swift */; }; + 01F6B75B2832756300B75C5D /* OldHandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B7592832756300B75C5D /* OldHandledErrorScenario.swift */; }; + 01F6B75E2832757F00B75C5D /* OversizedCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */; }; + 01F6B75F2832757F00B75C5D /* OversizedHandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */; }; + 01FA9EC426D63BB20059FF4A /* AppHangInTerminationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */; }; + 095E095A2AF3BE8D00273F1F /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 095E09592AF3BE8D00273F1F /* Logging.swift */; }; + 095E095D2AF3BFDA00273F1F /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 095E095C2AF3BFDA00273F1F /* Logging.m */; }; + 09F024FA2B9F3ACD007D9F73 /* Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F024F92B9F3ACD007D9F73 /* Fixture.swift */; }; + 09F024FC2B9F3B16007D9F73 /* MazeRunnerCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */; }; + 09F0250B2BA1E640007D9F73 /* FixtureConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */; }; + 09F025172BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */; }; + 6526A0D4248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */; }; + 8A096DF627C7E56C00DB6ECC /* CxxUnexpectedScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */; }; + 8A096DFC27C7E77600DB6ECC /* CxxBareThrowScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A096DFB27C7E77600DB6ECC /* CxxBareThrowScenario.mm */; }; + 8A14F0F62282D4AE00337B05 /* (null) in Sources */ = {isa = PBXBuildFile; }; + 8A32DB8222424E3000EDD92F /* NSExceptionShiftScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A32DB8122424E3000EDD92F /* NSExceptionShiftScenario.m */; }; + 8A38C5D124094D7B00BC4463 /* DiscardedBreadcrumbTypeScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A38C5D024094D7B00BC4463 /* DiscardedBreadcrumbTypeScenario.swift */; }; + 8A3B5F292407F66700CE4A3A /* ModifyBreadcrumbScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3B5F282407F66700CE4A3A /* ModifyBreadcrumbScenario.swift */; }; + 8A3B5F2B240807EE00CE4A3A /* ModifyBreadcrumbInNotifyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3B5F2A240807EE00CE4A3A /* ModifyBreadcrumbInNotifyScenario.swift */; }; + 8A42FD35225DEE04007AE561 /* SessionOOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A42FD33225DEE04007AE561 /* SessionOOMScenario.m */; }; + 8A530CCC22FDDBF000F0C108 /* ManyConcurrentNotifyScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A530CCB22FDDBF000F0C108 /* ManyConcurrentNotifyScenario.m */; }; + 8A72A0382396574F00328051 /* CustomPluginNotifierDescriptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A72A0372396574F00328051 /* CustomPluginNotifierDescriptionScenario.m */; }; + 8A840FBA21AF5C450041DBFA /* SwiftAssertionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A840FB921AF5C450041DBFA /* SwiftAssertionScenario.swift */; }; + 8A98400320FD11BF0023ECD1 /* AutoSessionCustomVersionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8A98400220FD11BF0023ECD1 /* AutoSessionCustomVersionScenario.m */; }; + 8AB1081923301FE600672818 /* HandledErrorValidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB1081823301FE600672818 /* HandledErrorValidReleaseStageScenario.swift */; }; + 8AB65FCC22DC77CB001200AB /* LoadConfigFromFileScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB65FCB22DC77CB001200AB /* LoadConfigFromFileScenario.swift */; }; + 8AB8866420404DD30003E444 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB8866320404DD30003E444 /* AppDelegate.swift */; }; + 8AB8866620404DD30003E444 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AB8866520404DD30003E444 /* ViewController.swift */; }; + 8AB8866920404DD30003E444 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8AB8866720404DD30003E444 /* Main.storyboard */; }; + 8AB8866B20404DD30003E444 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8AB8866A20404DD30003E444 /* Assets.xcassets */; }; + 8AB8866E20404DD30003E444 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8AB8866C20404DD30003E444 /* LaunchScreen.storyboard */; }; + 8AEEBBD020FC9E1D00C60763 /* AutoSessionMixedEventsScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AEEBBCF20FC9E1D00C60763 /* AutoSessionMixedEventsScenario.m */; }; + 8AEFC73120F8D1A000A78779 /* AutoSessionWithUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AEFC73020F8D1A000A78779 /* AutoSessionWithUserScenario.m */; }; + 8AEFC73420F8D1BB00A78779 /* ManualSessionWithUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AEFC73320F8D1BB00A78779 /* ManualSessionWithUserScenario.m */; }; + 8AEFC79920F9132C00A78779 /* AutoSessionHandledEventsScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AEFC79820F9132C00A78779 /* AutoSessionHandledEventsScenario.m */; }; + 8AEFC79C20F92E2200A78779 /* AutoSessionUnhandledScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AEFC79B20F92E2200A78779 /* AutoSessionUnhandledScenario.m */; }; + 8AF6FD77225E3F870056EF9E /* StopSessionOOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF6FD76225E3F870056EF9E /* StopSessionOOMScenario.m */; }; + 8AF6FD7A225E3FA00056EF9E /* ResumeSessionOOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 8AF6FD79225E3FA00056EF9E /* ResumeSessionOOMScenario.m */; }; + 8AF8FCAC22BD1E5400A967CA /* UnhandledInternalNotifyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8FCAB22BD1E5400A967CA /* UnhandledInternalNotifyScenario.swift */; }; + 8AF8FCAE22BD23BA00A967CA /* HandledInternalNotifyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8FCAD22BD23BA00A967CA /* HandledInternalNotifyScenario.swift */; }; + 967F6F1229B2236A0054EED8 /* InternalWorkingsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 967F6F1129B2236A0054EED8 /* InternalWorkingsScenario.swift */; }; + A1117E552535A59100014FDA /* OOMLoadScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1117E542535A59100014FDA /* OOMLoadScenario.swift */; }; + A1117E572535B22300014FDA /* OOMAutoDetectErrorsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1117E562535B22300014FDA /* OOMAutoDetectErrorsScenario.swift */; }; + A1117E592535B29800014FDA /* OOMEnabledErrorTypesScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1117E582535B29800014FDA /* OOMEnabledErrorTypesScenario.swift */; }; + A1117E5B2536036400014FDA /* OOMSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = A1117E5A2536036400014FDA /* OOMSessionScenario.swift */; }; + AA4C7F1529AEA0C4009B09A9 /* BugsnagWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA4C7F1429AEA0C4009B09A9 /* BugsnagWrapper.swift */; }; + AA6ACD1C2773E0B3006464C4 /* UserFromConfigScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA6ACD1B2773E0B3006464C4 /* UserFromConfigScenario.swift */; }; + AA6ACD202773E3F0006464C4 /* UserInfoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA6ACD1F2773E3F0006464C4 /* UserInfoScenario.swift */; }; + AA8BAEE32A4DD90E00A8BEA7 /* CommandReaderThread.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA8BAEE22A4DD90E00A8BEA7 /* CommandReaderThread.swift */; }; + AAAB3D412C2F133400957367 /* Bugsnag.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = AAAB3D402C2F133400957367 /* Bugsnag.xcframework */; }; + AAAB3D422C2F133400957367 /* Bugsnag.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = AAAB3D402C2F133400957367 /* Bugsnag.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + AAFEF9EA26EB533800980A10 /* NetworkBreadcrumbsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAFEF9E926EB533800980A10 /* NetworkBreadcrumbsScenario.swift */; }; + CB0AE1F1287D89C90079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0AE1F0287D89C90079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift */; }; + CB42FF9026F1EDB500E8D5D2 /* libBugsnagNetworkRequestPluginStatic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CB42FF8F26F1EDB500E8D5D2 /* libBugsnagNetworkRequestPluginStatic.a */; }; + CBB787912578FC0C0071BDE4 /* MarkUnhandledHandledScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = CBB787902578FC0C0071BDE4 /* MarkUnhandledHandledScenario.m */; }; + CBE1C9242574F532004B8B5B /* OnErrorOverwriteUnhandledFalseScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE1C9222574F532004B8B5B /* OnErrorOverwriteUnhandledFalseScenario.swift */; }; + CBE1C9252574F532004B8B5B /* OnErrorOverwriteUnhandledTrueScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = CBE1C9232574F532004B8B5B /* OnErrorOverwriteUnhandledTrueScenario.swift */; }; + E700EE48247D1158008CFFB6 /* UserEventOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE47247D1158008CFFB6 /* UserEventOverrideScenario.swift */; }; + E700EE4A247D1164008CFFB6 /* UserSessionOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE49247D1164008CFFB6 /* UserSessionOverrideScenario.swift */; }; + E700EE4E247D1317008CFFB6 /* UserFromClientScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE4D247D1317008CFFB6 /* UserFromClientScenario.swift */; }; + E700EE53247D31EA008CFFB6 /* OnErrorOverwriteScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE52247D31EA008CFFB6 /* OnErrorOverwriteScenario.swift */; }; + E700EE55247D3204008CFFB6 /* OnSendOverwriteScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE54247D3204008CFFB6 /* OnSendOverwriteScenario.swift */; }; + E700EE59247D321B008CFFB6 /* OriginalErrorNSErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE58247D321B008CFFB6 /* OriginalErrorNSErrorScenario.swift */; }; + E700EE5B247D3224008CFFB6 /* OriginalErrorNSExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE5A247D3224008CFFB6 /* OriginalErrorNSExceptionScenario.swift */; }; + E700EE5D247D322D008CFFB6 /* OnSendCallbackOrderScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E700EE5C247D322D008CFFB6 /* OnSendCallbackOrderScenario.swift */; }; + E700EE62247D4D42008CFFB6 /* OnCrashHandlerScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE61247D4D42008CFFB6 /* OnCrashHandlerScenario.m */; }; + E700EE65247D6C08008CFFB6 /* OnSendCallbackRemovalScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE64247D6C08008CFFB6 /* OnSendCallbackRemovalScenario.m */; }; + E700EE69247D73F8008CFFB6 /* UnhandledMachExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE68247D73F8008CFFB6 /* UnhandledMachExceptionScenario.m */; }; + E700EE6C247D793A008CFFB6 /* SIGPIPEScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE6B247D793A008CFFB6 /* SIGPIPEScenario.m */; }; + E700EE6F247D79F6008CFFB6 /* SIGTRAPScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE6E247D79F6008CFFB6 /* SIGTRAPScenario.m */; }; + E700EE72247D79FF008CFFB6 /* SIGBUSScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE71247D79FF008CFFB6 /* SIGBUSScenario.m */; }; + E700EE75247D7A0C008CFFB6 /* SIGFPEScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE74247D7A0C008CFFB6 /* SIGFPEScenario.m */; }; + E700EE78247D7A15008CFFB6 /* SIGILLScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE77247D7A15008CFFB6 /* SIGILLScenario.m */; }; + E700EE7B247D7A1F008CFFB6 /* SIGSEGVScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE7A247D7A1F008CFFB6 /* SIGSEGVScenario.m */; }; + E700EE7E247D7A61008CFFB6 /* SIGSYSScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E700EE7D247D7A61008CFFB6 /* SIGSYSScenario.m */; }; + E75040A02478019D005D33BD /* AutoDetectFalseHandledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E750409F2478019D005D33BD /* AutoDetectFalseHandledScenario.swift */; }; + E75040A2247801A8005D33BD /* AutoDetectFalseNSExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75040A1247801A8005D33BD /* AutoDetectFalseNSExceptionScenario.swift */; }; + E75040A42478052D005D33BD /* AutoDetectFalseAbortScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75040A32478052D005D33BD /* AutoDetectFalseAbortScenario.swift */; }; + E75040B02478214F005D33BD /* MetadataRedactionDefaultScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75040AD2478214E005D33BD /* MetadataRedactionDefaultScenario.swift */; }; + E75040B12478214F005D33BD /* MetadataRedactionRegexScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75040AE2478214E005D33BD /* MetadataRedactionRegexScenario.swift */; }; + E75040B22478214F005D33BD /* MetadataRedactionNestedScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75040AF2478214E005D33BD /* MetadataRedactionNestedScenario.swift */; }; + E75040B424782597005D33BD /* EnabledReleaseStageAutoSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E75040B324782597005D33BD /* EnabledReleaseStageAutoSessionScenario.swift */; }; + E753F24624927409001FB671 /* NotifyCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E753F24524927409001FB671 /* NotifyCallbackCrashScenario.swift */; }; + E753F24824927412001FB671 /* OnSendErrorCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E753F24724927412001FB671 /* OnSendErrorCallbackCrashScenario.swift */; }; + E7767F11221C21D90006648C /* StoppedSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7767F10221C21D90006648C /* StoppedSessionScenario.swift */; }; + E7767F13221C21E30006648C /* ResumedSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7767F12221C21E30006648C /* ResumedSessionScenario.swift */; }; + E7767F15221C223C0006648C /* NewSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7767F14221C223C0006648C /* NewSessionScenario.swift */; }; + E7A324D8247E70B2008B0052 /* SessionCallbackOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324D7247E70B2008B0052 /* SessionCallbackOverrideScenario.swift */; }; + E7A324DA247E70C4008B0052 /* SessionCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324D9247E70C4008B0052 /* SessionCallbackCrashScenario.swift */; }; + E7A324DE247E70E6008B0052 /* SessionCallbackOrderScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324DD247E70E6008B0052 /* SessionCallbackOrderScenario.swift */; }; + E7A324E0247E70F9008B0052 /* SessionCallbackDiscardScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324DF247E70F9008B0052 /* SessionCallbackDiscardScenario.swift */; }; + E7A324E3247E7C17008B0052 /* SessionCallbackRemovalScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E7A324E2247E7C17008B0052 /* SessionCallbackRemovalScenario.m */; }; + E7A324E6247E9D8D008B0052 /* BreadcrumbCallbackDiscardScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324E5247E9D8D008B0052 /* BreadcrumbCallbackDiscardScenario.swift */; }; + E7A324E8247E9D9A008B0052 /* BreadcrumbCallbackOrderScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324E7247E9D9A008B0052 /* BreadcrumbCallbackOrderScenario.swift */; }; + E7A324EA247E9DA5008B0052 /* BreadcrumbCallbackOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324E9247E9DA5008B0052 /* BreadcrumbCallbackOverrideScenario.swift */; }; + E7A324ED247E9DB3008B0052 /* BreadcrumbCallbackRemovalScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = E7A324EC247E9DB3008B0052 /* BreadcrumbCallbackRemovalScenario.m */; }; + E7A324EF247E9DBC008B0052 /* BreadcrumbCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7A324EE247E9DBC008B0052 /* BreadcrumbCallbackCrashScenario.swift */; }; + E7B79CD0247FD6660039FB88 /* ManualContextConfigurationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B79CCF247FD6660039FB88 /* ManualContextConfigurationScenario.swift */; }; + E7B79CD2247FD66E0039FB88 /* ManualContextClientScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B79CD1247FD66E0039FB88 /* ManualContextClientScenario.swift */; }; + E7B79CD4247FD6760039FB88 /* ManualContextOnErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B79CD3247FD6760039FB88 /* ManualContextOnErrorScenario.swift */; }; + E7B79CD6247FD7750039FB88 /* AutoContextNSErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B79CD5247FD7750039FB88 /* AutoContextNSErrorScenario.swift */; }; + E7B79CD8247FD7810039FB88 /* AutoContextNSExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B79CD7247FD7810039FB88 /* AutoContextNSExceptionScenario.swift */; }; + E7B79CDA24800A5D0039FB88 /* MetadataMergeScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = E7B79CD924800A5D0039FB88 /* MetadataMergeScenario.swift */; }; + F429502603396F8671B333B3 /* HandledExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = F429526319377A8848136413 /* HandledExceptionScenario.swift */; }; + F4295109FCAB93708FDAFE12 /* DisabledSessionTrackingScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429563584D9BC3A5B86BECF /* DisabledSessionTrackingScenario.m */; }; + F42951A9FD696D9047149DA8 /* UndefinedInstructionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429538D19421F28D8EB0446 /* UndefinedInstructionScenario.m */; }; + F42951BEB2518C610A85FE0D /* BuiltinTrapScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F42956D34274D4ED16B4D491 /* BuiltinTrapScenario.m */; }; + F42951BF19D7F35A03273CFB /* AutoSessionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295EE3B0BD05E5FE513B20 /* AutoSessionScenario.m */; }; + F4295218A62E41518DC3C057 /* AccessNonObjectScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295A20DE438C2B28167714 /* AccessNonObjectScenario.m */; }; + F42953498545B853CC0B635E /* NullPointerScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295E86DC0BE9DC731B0D1C /* NullPointerScenario.m */; }; + F429538D8941382EC2C857CE /* AsyncSafeThreadScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295CA6B6792DECA15C450B /* AsyncSafeThreadScenario.m */; }; + F4295397AD31C1C1E64144F5 /* NonExistentMethodScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295F13EBCAC9CB0ABC4008 /* NonExistentMethodScenario.m */; }; + F4295497A1582010C16F1861 /* AbortScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429534164257A2BE23ED72D /* AbortScenario.m */; }; + F42954B7318A02824C65C514 /* ObjCMsgSendScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429511ED32FC9FB46649CAE /* ObjCMsgSendScenario.m */; }; + F42955869D33EE0E510B9651 /* ReadGarbagePointerScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295B7431F98954DA62E47F /* ReadGarbagePointerScenario.m */; }; + F42955DB6D08642528917FAB /* CxxExceptionScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = F429550B682F8F9677305881 /* CxxExceptionScenario.mm */; }; + F4295836C8AF75547C675E8D /* ReleasedObjectScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295E71D7B2DFE77057F3DA /* ReleasedObjectScenario.m */; }; + F42958881D3F34A76CADE4EC /* SwiftCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4295EEDC00E5ED3C166DBF0 /* SwiftCrashScenario.swift */; }; + F42958BE5DDACDBF653CA926 /* ManualSessionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429570EE7A751B53D011481 /* ManualSessionScenario.m */; }; + F42959124DB949EEF1420957 /* ReadOnlyPageScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295871D1BCF211398CAEBA /* ReadOnlyPageScenario.m */; }; + F4295A0B0DA0AF3B5502D29C /* PrivilegedInstructionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429566550603ECAC2875333 /* PrivilegedInstructionScenario.m */; }; + F4295A7AA9B4A18992A2F020 /* HandledErrorOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4295FA8EBBA645EECF7B483 /* HandledErrorOverrideScenario.swift */; }; + F4295A94DD2D131A594A212C /* HandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4295A364B3851D3811BC648 /* HandledErrorScenario.swift */; }; + F4295B56219D228FAA99BC14 /* ObjCExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F429521A8EEB435DCB6EACE1 /* ObjCExceptionScenario.m */; }; + F4295B75B2244F442D84D9CA /* StackOverflowScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295493796EA93321E5CDDB /* StackOverflowScenario.m */; }; + F4295CEAD7C915EFA04898A5 /* Scenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F42954E8B66F3FB7F5333CF7 /* Scenario.m */; }; + F4295D19B9E67F5786011698 /* OverwriteLinkRegisterScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = F4295B041F9CC494473DD226 /* OverwriteLinkRegisterScenario.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + AAAB3D432C2F133400957367 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + AAAB3D422C2F133400957367 /* Bugsnag.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 001E5501243B8FDA0009E31D /* AutoCaptureRunScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoCaptureRunScenario.m; sourceTree = ""; }; + 0037410E2473CF2300BE41AA /* AppAndDeviceAttributesScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesScenario.swift; sourceTree = ""; }; + 00432CC2240912A000826D05 /* EnabledErrorTypesCxxScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EnabledErrorTypesCxxScenario.mm; sourceTree = ""; }; + 00507A63242BFE5600EF1B87 /* EnabledBreadcrumbTypesIsNilScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnabledBreadcrumbTypesIsNilScenario.swift; sourceTree = ""; }; + 01018B9F25E40ADD000312C6 /* AsyncSafeMallocScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AsyncSafeMallocScenario.m; sourceTree = ""; }; + 0104085E258CA0A100933C60 /* DispatchCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DispatchCrashScenario.swift; sourceTree = ""; }; + 0104B47D275A7B3C003EBDF0 /* RecrashScenarios.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RecrashScenarios.mm; sourceTree = ""; }; + 010BAAED2833CE560003FF36 /* HandledErrorThreadSendUnhandledOnlyScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HandledErrorThreadSendUnhandledOnlyScenario.m; sourceTree = ""; }; + 010BAAEE2833CE560003FF36 /* DisableNSExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisableNSExceptionScenario.m; sourceTree = ""; }; + 010BAAEF2833CE560003FF36 /* UnhandledErrorThreadSendNeverScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UnhandledErrorThreadSendNeverScenario.m; sourceTree = ""; }; + 010BAAF02833CE570003FF36 /* HandledErrorThreadSendAlwaysScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HandledErrorThreadSendAlwaysScenario.m; sourceTree = ""; }; + 010BAAF12833CE570003FF36 /* UserPersistenceDontPersistUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserPersistenceDontPersistUserScenario.m; sourceTree = ""; }; + 010BAAF22833CE570003FF36 /* UserPersistencePersistUserClientScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserPersistencePersistUserClientScenario.m; sourceTree = ""; }; + 010BAAF32833CE570003FF36 /* spin_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spin_malloc.h; sourceTree = ""; }; + 010BAAF42833CE570003FF36 /* DisableAllExceptManualExceptionsAndCrashScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisableAllExceptManualExceptionsAndCrashScenario.m; sourceTree = ""; }; + 010BAAF52833CE570003FF36 /* ObjCExceptionOverrideScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ObjCExceptionOverrideScenario.m; sourceTree = ""; }; + 010BAAF62833CE570003FF36 /* AbortOverrideScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AbortOverrideScenario.m; sourceTree = ""; }; + 010BAAF72833CE570003FF36 /* UnhandledErrorThreadSendAlwaysScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UnhandledErrorThreadSendAlwaysScenario.m; sourceTree = ""; }; + 010BAAF82833CE570003FF36 /* UserPersistencePersistUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserPersistencePersistUserScenario.m; sourceTree = ""; }; + 010BAAF92833CE570003FF36 /* DisableSignalsExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisableSignalsExceptionScenario.m; sourceTree = ""; }; + 010BAAFA2833CE570003FF36 /* CxxExceptionOverrideScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxExceptionOverrideScenario.mm; sourceTree = ""; }; + 010BAAFB2833CE570003FF36 /* DisableMachExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisableMachExceptionScenario.m; sourceTree = ""; }; + 010BAAFC2833CE570003FF36 /* OOMWillTerminateScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOMWillTerminateScenario.m; sourceTree = ""; }; + 010BAAFD2833CE570003FF36 /* UnhandledMachExceptionOverrideScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UnhandledMachExceptionOverrideScenario.m; sourceTree = ""; }; + 010BAAFE2833CE570003FF36 /* UserPersistenceNoUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UserPersistenceNoUserScenario.m; sourceTree = ""; }; + 010BAB102833CEEC0003FF36 /* AppAndDeviceAttributesConfigOverrideScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesConfigOverrideScenario.swift; sourceTree = ""; }; + 010BAB122833CF0F0003FF36 /* AppAndDeviceAttributesCallbackOverrideScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesCallbackOverrideScenario.swift; sourceTree = ""; }; + 010BAB142833CF280003FF36 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesStartWithApiKeyScenario.swift; sourceTree = ""; }; + 010BAB162833CF530003FF36 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift; sourceTree = ""; }; + 010BAB182833CF660003FF36 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift; sourceTree = ""; }; + 010BAB1A2833CF810003FF36 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift; sourceTree = ""; }; + 010BAB1C2833CFB00003FF36 /* AppHangDidBecomeActiveScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangDidBecomeActiveScenario.swift; sourceTree = ""; }; + 010BAB1E2833CFD40003FF36 /* AppHangDidEnterBackgroundScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangDidEnterBackgroundScenario.swift; sourceTree = ""; }; + 010BAB202833CFE60003FF36 /* AppHangFatalDisabledScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangFatalDisabledScenario.swift; sourceTree = ""; }; + 010BAB222833CFF50003FF36 /* AppHangFatalOnlyScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangFatalOnlyScenario.swift; sourceTree = ""; }; + 010BAB242833D0070003FF36 /* AppHangDisabledScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangDisabledScenario.swift; sourceTree = ""; }; + 010BAB262833D0160003FF36 /* AppHangDefaultConfigScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangDefaultConfigScenario.swift; sourceTree = ""; }; + 010BAB282833D08F0003FF36 /* BareboneTestUnhandledErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BareboneTestUnhandledErrorScenario.swift; sourceTree = ""; }; + 010BAB2A2833D0DF0003FF36 /* DiscardClassesUnhandledCrashScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscardClassesUnhandledCrashScenario.swift; sourceTree = ""; }; + 010BAB2C2833D0F20003FF36 /* DiscardClassesUnhandledExceptionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscardClassesUnhandledExceptionScenario.swift; sourceTree = ""; }; + 010BAB2E2833D1830003FF36 /* SendLaunchCrashesSynchronouslyFalseScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendLaunchCrashesSynchronouslyFalseScenario.swift; sourceTree = ""; }; + 010BAB302833D1930003FF36 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift; sourceTree = ""; }; + 010BAB322833D1E80003FF36 /* UnhandledErrorInvalidReleaseStageScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnhandledErrorInvalidReleaseStageScenario.swift; sourceTree = ""; }; + 010BAB342833D1F70003FF36 /* HandledErrorInvalidReleaseStageScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HandledErrorInvalidReleaseStageScenario.swift; sourceTree = ""; }; + 010BAB362833D2080003FF36 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnhandledErrorChangeInvalidReleaseStageScenario.swift; sourceTree = ""; }; + 010BAB382833D21A0003FF36 /* UnhandledErrorChangeValidReleaseStageScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnhandledErrorChangeValidReleaseStageScenario.swift; sourceTree = ""; }; + 010BAB3A2833D2280003FF36 /* UnhandledErrorValidReleaseStageScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnhandledErrorValidReleaseStageScenario.swift; sourceTree = ""; }; + 010BAB3C2833D2890003FF36 /* DisabledReleaseStageManualSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisabledReleaseStageManualSessionScenario.swift; sourceTree = ""; }; + 010BAB3E2833D29A0003FF36 /* EnabledReleaseStageManualSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnabledReleaseStageManualSessionScenario.swift; sourceTree = ""; }; + 010BAB402833D2AA0003FF36 /* DisabledReleaseStageAutoSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisabledReleaseStageAutoSessionScenario.swift; sourceTree = ""; }; + 010BDFB82885562D007025F9 /* ReportBackgroundAppHangScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReportBackgroundAppHangScenario.swift; sourceTree = ""; }; + 010BDFBC28883714007025F9 /* UserNilScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserNilScenario.swift; sourceTree = ""; }; + 01221E54282E5538008095C3 /* MaxPersistedSessionsScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MaxPersistedSessionsScenario.m; sourceTree = ""; }; + 0163BFA62583B3CF008DC28B /* DiscardClassesHandledExceptionRegexScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DiscardClassesHandledExceptionRegexScenario.swift; sourceTree = ""; }; + 017B4133276B8D9B0054C91D /* OnSendErrorPersistenceScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OnSendErrorPersistenceScenario.m; sourceTree = ""; }; + 017BA42328A1558A00CB985E /* OversizedBreadcrumbsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedBreadcrumbsScenario.swift; sourceTree = ""; }; + 017DCF9F28743FB5000ECB22 /* TelemetryUsageDisabledScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TelemetryUsageDisabledScenario.swift; sourceTree = ""; }; + 01847DD526453D4E00ADA4C7 /* InvalidCrashReportScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InvalidCrashReportScenario.m; sourceTree = ""; }; + 0184DBDF28C63F50006AF50B /* CouldNotCreateDirectoryScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CouldNotCreateDirectoryScenario.swift; sourceTree = ""; }; + 018F9B6428E57DBE00EAA02F /* AttemptDeliveryOnCrashScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttemptDeliveryOnCrashScenario.swift; sourceTree = ""; }; + 01AF6A52258A112F00FFC803 /* BareboneTestHandledScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BareboneTestHandledScenario.swift; sourceTree = ""; }; + 01AFCFCA282CE9F700D48D45 /* OldSessionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OldSessionScenario.m; sourceTree = ""; }; + 01B6BB7425D5748800FC4DE6 /* LastRunInfoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LastRunInfoScenario.swift; sourceTree = ""; }; + 01B6BBB525DA82B700FC4DE6 /* SendLaunchCrashesSynchronouslyScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SendLaunchCrashesSynchronouslyScenario.swift; sourceTree = ""; }; + 01BA54FB28699BC100EC14E0 /* OOMInactiveScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OOMInactiveScenario.swift; sourceTree = ""; }; + 01CD103826690463007FA5F0 /* libBugsnagStatic.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBugsnagStatic.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 01DCB82A27985D2C0048640A /* ConcurrentCrashesScenario.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ConcurrentCrashesScenario.mm; sourceTree = ""; }; + 01DE903726CE99B800455213 /* CriticalThermalStateScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CriticalThermalStateScenario.swift; sourceTree = ""; }; + 01DF442B2798044E00C31104 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 01E0DB0A25E8EBD100A740ED /* AppDurationScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDurationScenario.swift; sourceTree = ""; }; + 01E356BF26CD5B6A00BE3F64 /* ThermalStateBreadcrumbScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThermalStateBreadcrumbScenario.swift; sourceTree = ""; }; + 01E5EAD125B713990066EA8A /* OOMScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OOMScenario.m; sourceTree = ""; }; + 01EE7F56278C680C00A59DC6 /* OOMSessionlessScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOMSessionlessScenario.m; sourceTree = ""; }; + 01F115C827BAAF2D00892B1E /* SIGPIPEIgnoredScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SIGPIPEIgnoredScenario.m; sourceTree = ""; }; + 01F1474325F282E600C2DC65 /* AppHangScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppHangScenario.swift; sourceTree = ""; }; + 01F6B7582832756300B75C5D /* OldCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OldCrashReportScenario.swift; sourceTree = ""; }; + 01F6B7592832756300B75C5D /* OldHandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OldHandledErrorScenario.swift; sourceTree = ""; }; + 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedCrashReportScenario.swift; sourceTree = ""; }; + 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedHandledErrorScenario.swift; sourceTree = ""; }; + 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangInTerminationScenario.swift; sourceTree = ""; }; + 095E09592AF3BE8D00273F1F /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; + 095E095B2AF3BFDA00273F1F /* Logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; + 095E095C2AF3BFDA00273F1F /* Logging.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; + 09F024F92B9F3ACD007D9F73 /* Fixture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fixture.swift; sourceTree = ""; }; + 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MazeRunnerCommand.swift; sourceTree = ""; }; + 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FixtureConfig.swift; sourceTree = ""; }; + 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DelayedNotifyErrorScenario.swift; sourceTree = ""; }; + 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadConfigFromFileAutoScenario.swift; sourceTree = ""; }; + 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxUnexpectedScenario.mm; sourceTree = ""; }; + 8A096DFB27C7E77600DB6ECC /* CxxBareThrowScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxBareThrowScenario.mm; sourceTree = ""; }; + 8A32DB8122424E3000EDD92F /* NSExceptionShiftScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSExceptionShiftScenario.m; sourceTree = ""; }; + 8A38C5D024094D7B00BC4463 /* DiscardedBreadcrumbTypeScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiscardedBreadcrumbTypeScenario.swift; sourceTree = ""; }; + 8A3B5F282407F66700CE4A3A /* ModifyBreadcrumbScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModifyBreadcrumbScenario.swift; sourceTree = ""; }; + 8A3B5F2A240807EE00CE4A3A /* ModifyBreadcrumbInNotifyScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ModifyBreadcrumbInNotifyScenario.swift; sourceTree = ""; }; + 8A42FD33225DEE04007AE561 /* SessionOOMScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SessionOOMScenario.m; sourceTree = ""; }; + 8A530CCB22FDDBF000F0C108 /* ManyConcurrentNotifyScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ManyConcurrentNotifyScenario.m; sourceTree = ""; }; + 8A72A0372396574F00328051 /* CustomPluginNotifierDescriptionScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CustomPluginNotifierDescriptionScenario.m; sourceTree = ""; }; + 8A840FB921AF5C450041DBFA /* SwiftAssertionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftAssertionScenario.swift; sourceTree = ""; }; + 8A98400220FD11BF0023ECD1 /* AutoSessionCustomVersionScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AutoSessionCustomVersionScenario.m; sourceTree = ""; }; + 8AB1081823301FE600672818 /* HandledErrorValidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HandledErrorValidReleaseStageScenario.swift; sourceTree = ""; }; + 8AB65FCB22DC77CB001200AB /* LoadConfigFromFileScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadConfigFromFileScenario.swift; sourceTree = ""; }; + 8AB8866020404DD30003E444 /* iOSTestAppXcFramework.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSTestAppXcFramework.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 8AB8866320404DD30003E444 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 8AB8866520404DD30003E444 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 8AB8866820404DD30003E444 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 8AB8866A20404DD30003E444 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 8AB8866D20404DD30003E444 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 8AB8866F20404DD30003E444 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 8AEEBBCF20FC9E1D00C60763 /* AutoSessionMixedEventsScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AutoSessionMixedEventsScenario.m; sourceTree = ""; }; + 8AEFC73020F8D1A000A78779 /* AutoSessionWithUserScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AutoSessionWithUserScenario.m; sourceTree = ""; }; + 8AEFC73320F8D1BB00A78779 /* ManualSessionWithUserScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ManualSessionWithUserScenario.m; sourceTree = ""; }; + 8AEFC79820F9132C00A78779 /* AutoSessionHandledEventsScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AutoSessionHandledEventsScenario.m; sourceTree = ""; }; + 8AEFC79B20F92E2200A78779 /* AutoSessionUnhandledScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AutoSessionUnhandledScenario.m; sourceTree = ""; }; + 8AF6FD76225E3F870056EF9E /* StopSessionOOMScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = StopSessionOOMScenario.m; sourceTree = ""; }; + 8AF6FD79225E3FA00056EF9E /* ResumeSessionOOMScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ResumeSessionOOMScenario.m; sourceTree = ""; }; + 8AF8FCAB22BD1E5400A967CA /* UnhandledInternalNotifyScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnhandledInternalNotifyScenario.swift; sourceTree = ""; }; + 8AF8FCAD22BD23BA00A967CA /* HandledInternalNotifyScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HandledInternalNotifyScenario.swift; sourceTree = ""; }; + 967F6F1129B2236A0054EED8 /* InternalWorkingsScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InternalWorkingsScenario.swift; sourceTree = ""; }; + A1117E542535A59100014FDA /* OOMLoadScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OOMLoadScenario.swift; sourceTree = ""; }; + A1117E562535B22300014FDA /* OOMAutoDetectErrorsScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OOMAutoDetectErrorsScenario.swift; sourceTree = ""; }; + A1117E582535B29800014FDA /* OOMEnabledErrorTypesScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OOMEnabledErrorTypesScenario.swift; sourceTree = ""; }; + A1117E5A2536036400014FDA /* OOMSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OOMSessionScenario.swift; sourceTree = ""; }; + AA4C7F1429AEA0C4009B09A9 /* BugsnagWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BugsnagWrapper.swift; sourceTree = ""; }; + AA6ACD1B2773E0B3006464C4 /* UserFromConfigScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserFromConfigScenario.swift; sourceTree = ""; }; + AA6ACD1F2773E3F0006464C4 /* UserInfoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserInfoScenario.swift; sourceTree = ""; }; + AA8BAEE22A4DD90E00A8BEA7 /* CommandReaderThread.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandReaderThread.swift; sourceTree = ""; }; + AAAB3D402C2F133400957367 /* Bugsnag.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Bugsnag.xcframework; path = ../../../build/xcframeworks/products/Bugsnag.xcframework; sourceTree = ""; }; + AAFEF9E926EB533800980A10 /* NetworkBreadcrumbsScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkBreadcrumbsScenario.swift; sourceTree = ""; }; + AAFEFA0226EB6B5A00980A10 /* BugsnagNetworkRequestPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BugsnagNetworkRequestPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CB0AE1F0287D89C90079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnSendErrorCallbackFeatureFlagsScenario.swift; sourceTree = ""; }; + CB42FF8F26F1EDB500E8D5D2 /* libBugsnagNetworkRequestPluginStatic.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libBugsnagNetworkRequestPluginStatic.a; sourceTree = BUILT_PRODUCTS_DIR; }; + CBB7878F2578FC0C0071BDE4 /* MarkUnhandledHandledScenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkUnhandledHandledScenario.h; sourceTree = ""; }; + CBB787902578FC0C0071BDE4 /* MarkUnhandledHandledScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MarkUnhandledHandledScenario.m; sourceTree = ""; }; + CBE1C9222574F532004B8B5B /* OnErrorOverwriteUnhandledFalseScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnErrorOverwriteUnhandledFalseScenario.swift; sourceTree = ""; }; + CBE1C9232574F532004B8B5B /* OnErrorOverwriteUnhandledTrueScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnErrorOverwriteUnhandledTrueScenario.swift; sourceTree = ""; }; + E700EE47247D1158008CFFB6 /* UserEventOverrideScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserEventOverrideScenario.swift; sourceTree = ""; }; + E700EE49247D1164008CFFB6 /* UserSessionOverrideScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserSessionOverrideScenario.swift; sourceTree = ""; }; + E700EE4D247D1317008CFFB6 /* UserFromClientScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserFromClientScenario.swift; sourceTree = ""; }; + E700EE52247D31EA008CFFB6 /* OnErrorOverwriteScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnErrorOverwriteScenario.swift; sourceTree = ""; }; + E700EE54247D3204008CFFB6 /* OnSendOverwriteScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnSendOverwriteScenario.swift; sourceTree = ""; }; + E700EE58247D321B008CFFB6 /* OriginalErrorNSErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OriginalErrorNSErrorScenario.swift; sourceTree = ""; }; + E700EE5A247D3224008CFFB6 /* OriginalErrorNSExceptionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OriginalErrorNSExceptionScenario.swift; sourceTree = ""; }; + E700EE5C247D322D008CFFB6 /* OnSendCallbackOrderScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnSendCallbackOrderScenario.swift; sourceTree = ""; }; + E700EE61247D4D42008CFFB6 /* OnCrashHandlerScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OnCrashHandlerScenario.m; sourceTree = ""; }; + E700EE64247D6C08008CFFB6 /* OnSendCallbackRemovalScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OnSendCallbackRemovalScenario.m; sourceTree = ""; }; + E700EE68247D73F8008CFFB6 /* UnhandledMachExceptionScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UnhandledMachExceptionScenario.m; sourceTree = ""; }; + E700EE6B247D793A008CFFB6 /* SIGPIPEScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGPIPEScenario.m; sourceTree = ""; }; + E700EE6E247D79F6008CFFB6 /* SIGTRAPScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGTRAPScenario.m; sourceTree = ""; }; + E700EE71247D79FF008CFFB6 /* SIGBUSScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGBUSScenario.m; sourceTree = ""; }; + E700EE74247D7A0C008CFFB6 /* SIGFPEScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGFPEScenario.m; sourceTree = ""; }; + E700EE77247D7A15008CFFB6 /* SIGILLScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGILLScenario.m; sourceTree = ""; }; + E700EE7A247D7A1F008CFFB6 /* SIGSEGVScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGSEGVScenario.m; sourceTree = ""; }; + E700EE7D247D7A61008CFFB6 /* SIGSYSScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SIGSYSScenario.m; sourceTree = ""; }; + E750409F2478019D005D33BD /* AutoDetectFalseHandledScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoDetectFalseHandledScenario.swift; sourceTree = ""; }; + E75040A1247801A8005D33BD /* AutoDetectFalseNSExceptionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoDetectFalseNSExceptionScenario.swift; sourceTree = ""; }; + E75040A32478052D005D33BD /* AutoDetectFalseAbortScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoDetectFalseAbortScenario.swift; sourceTree = ""; }; + E75040AD2478214E005D33BD /* MetadataRedactionDefaultScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetadataRedactionDefaultScenario.swift; sourceTree = ""; }; + E75040AE2478214E005D33BD /* MetadataRedactionRegexScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetadataRedactionRegexScenario.swift; sourceTree = ""; }; + E75040AF2478214E005D33BD /* MetadataRedactionNestedScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetadataRedactionNestedScenario.swift; sourceTree = ""; }; + E75040B324782597005D33BD /* EnabledReleaseStageAutoSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EnabledReleaseStageAutoSessionScenario.swift; sourceTree = ""; }; + E753F24524927409001FB671 /* NotifyCallbackCrashScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotifyCallbackCrashScenario.swift; sourceTree = ""; }; + E753F24724927412001FB671 /* OnSendErrorCallbackCrashScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnSendErrorCallbackCrashScenario.swift; sourceTree = ""; }; + E7767F10221C21D90006648C /* StoppedSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoppedSessionScenario.swift; sourceTree = ""; }; + E7767F12221C21E30006648C /* ResumedSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResumedSessionScenario.swift; sourceTree = ""; }; + E7767F14221C223C0006648C /* NewSessionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewSessionScenario.swift; sourceTree = ""; }; + E7A324D7247E70B2008B0052 /* SessionCallbackOverrideScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCallbackOverrideScenario.swift; sourceTree = ""; }; + E7A324D9247E70C4008B0052 /* SessionCallbackCrashScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCallbackCrashScenario.swift; sourceTree = ""; }; + E7A324DD247E70E6008B0052 /* SessionCallbackOrderScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCallbackOrderScenario.swift; sourceTree = ""; }; + E7A324DF247E70F9008B0052 /* SessionCallbackDiscardScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SessionCallbackDiscardScenario.swift; sourceTree = ""; }; + E7A324E2247E7C17008B0052 /* SessionCallbackRemovalScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SessionCallbackRemovalScenario.m; sourceTree = ""; }; + E7A324E5247E9D8D008B0052 /* BreadcrumbCallbackDiscardScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbCallbackDiscardScenario.swift; sourceTree = ""; }; + E7A324E7247E9D9A008B0052 /* BreadcrumbCallbackOrderScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbCallbackOrderScenario.swift; sourceTree = ""; }; + E7A324E9247E9DA5008B0052 /* BreadcrumbCallbackOverrideScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbCallbackOverrideScenario.swift; sourceTree = ""; }; + E7A324EC247E9DB3008B0052 /* BreadcrumbCallbackRemovalScenario.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BreadcrumbCallbackRemovalScenario.m; sourceTree = ""; }; + E7A324EE247E9DBC008B0052 /* BreadcrumbCallbackCrashScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreadcrumbCallbackCrashScenario.swift; sourceTree = ""; }; + E7B79CCF247FD6660039FB88 /* ManualContextConfigurationScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualContextConfigurationScenario.swift; sourceTree = ""; }; + E7B79CD1247FD66E0039FB88 /* ManualContextClientScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualContextClientScenario.swift; sourceTree = ""; }; + E7B79CD3247FD6760039FB88 /* ManualContextOnErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualContextOnErrorScenario.swift; sourceTree = ""; }; + E7B79CD5247FD7750039FB88 /* AutoContextNSErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoContextNSErrorScenario.swift; sourceTree = ""; }; + E7B79CD7247FD7810039FB88 /* AutoContextNSExceptionScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AutoContextNSExceptionScenario.swift; sourceTree = ""; }; + E7B79CD924800A5D0039FB88 /* MetadataMergeScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetadataMergeScenario.swift; sourceTree = ""; }; + F429511ED32FC9FB46649CAE /* ObjCMsgSendScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ObjCMsgSendScenario.m; sourceTree = ""; }; + F429521A8EEB435DCB6EACE1 /* ObjCExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ObjCExceptionScenario.m; sourceTree = ""; }; + F429526319377A8848136413 /* HandledExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HandledExceptionScenario.swift; sourceTree = ""; }; + F429534164257A2BE23ED72D /* AbortScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AbortScenario.m; sourceTree = ""; }; + F429538D19421F28D8EB0446 /* UndefinedInstructionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UndefinedInstructionScenario.m; sourceTree = ""; }; + F4295493796EA93321E5CDDB /* StackOverflowScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StackOverflowScenario.m; sourceTree = ""; }; + F42954E8B66F3FB7F5333CF7 /* Scenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Scenario.m; sourceTree = ""; }; + F429550B682F8F9677305881 /* CxxExceptionScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxExceptionScenario.mm; sourceTree = ""; }; + F429563584D9BC3A5B86BECF /* DisabledSessionTrackingScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DisabledSessionTrackingScenario.m; sourceTree = ""; }; + F429566550603ECAC2875333 /* PrivilegedInstructionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrivilegedInstructionScenario.m; sourceTree = ""; }; + F42956D34274D4ED16B4D491 /* BuiltinTrapScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BuiltinTrapScenario.m; sourceTree = ""; }; + F429570EE7A751B53D011481 /* ManualSessionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ManualSessionScenario.m; sourceTree = ""; }; + F4295871D1BCF211398CAEBA /* ReadOnlyPageScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReadOnlyPageScenario.m; sourceTree = ""; }; + F4295A20DE438C2B28167714 /* AccessNonObjectScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccessNonObjectScenario.m; sourceTree = ""; }; + F4295A364B3851D3811BC648 /* HandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HandledErrorScenario.swift; sourceTree = ""; }; + F4295ABA693D273D52AA9F6B /* Scenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Scenario.h; sourceTree = ""; }; + F4295B041F9CC494473DD226 /* OverwriteLinkRegisterScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OverwriteLinkRegisterScenario.m; sourceTree = ""; }; + F4295B7431F98954DA62E47F /* ReadGarbagePointerScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReadGarbagePointerScenario.m; sourceTree = ""; }; + F4295CA6B6792DECA15C450B /* AsyncSafeThreadScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AsyncSafeThreadScenario.m; sourceTree = ""; }; + F4295E71D7B2DFE77057F3DA /* ReleasedObjectScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ReleasedObjectScenario.m; sourceTree = ""; }; + F4295E86DC0BE9DC731B0D1C /* NullPointerScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NullPointerScenario.m; sourceTree = ""; }; + F4295EE3B0BD05E5FE513B20 /* AutoSessionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoSessionScenario.m; sourceTree = ""; }; + F4295EEDC00E5ED3C166DBF0 /* SwiftCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwiftCrashScenario.swift; sourceTree = ""; }; + F4295F13EBCAC9CB0ABC4008 /* NonExistentMethodScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NonExistentMethodScenario.m; sourceTree = ""; }; + F4295FA8EBBA645EECF7B483 /* HandledErrorOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HandledErrorOverrideScenario.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8AB8865D20404DD30003E444 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 01DF442C2798044E00C31104 /* SystemConfiguration.framework in Frameworks */, + AAAB3D412C2F133400957367 /* Bugsnag.xcframework in Frameworks */, + CB42FF9026F1EDB500E8D5D2 /* libBugsnagNetworkRequestPluginStatic.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 8AB8865720404DD30003E444 = { + isa = PBXGroup; + children = ( + 8AB8866220404DD30003E444 /* iOSTestApp */, + AA4C7F1329AEA060009B09A9 /* utils */, + F42953DE2BB41023C0B07F41 /* scenarios */, + 8AB8866120404DD30003E444 /* Products */, + D018DCE3210BCB4D0B8FA6D2 /* Frameworks */, + ); + sourceTree = ""; + }; + 8AB8866120404DD30003E444 /* Products */ = { + isa = PBXGroup; + children = ( + 8AB8866020404DD30003E444 /* iOSTestAppXcFramework.app */, + ); + name = Products; + sourceTree = ""; + }; + 8AB8866220404DD30003E444 /* iOSTestApp */ = { + isa = PBXGroup; + children = ( + 8AB8866320404DD30003E444 /* AppDelegate.swift */, + 8AB8866A20404DD30003E444 /* Assets.xcassets */, + 8AB8866F20404DD30003E444 /* Info.plist */, + 8AB8866C20404DD30003E444 /* LaunchScreen.storyboard */, + 8AB8866720404DD30003E444 /* Main.storyboard */, + 8AB8866520404DD30003E444 /* ViewController.swift */, + ); + path = iOSTestApp; + sourceTree = ""; + }; + AA4C7F1329AEA060009B09A9 /* utils */ = { + isa = PBXGroup; + children = ( + AA4C7F1429AEA0C4009B09A9 /* BugsnagWrapper.swift */, + AA8BAEE22A4DD90E00A8BEA7 /* CommandReaderThread.swift */, + 09F024F92B9F3ACD007D9F73 /* Fixture.swift */, + 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */, + 095E095B2AF3BFDA00273F1F /* Logging.h */, + 095E095C2AF3BFDA00273F1F /* Logging.m */, + 095E09592AF3BE8D00273F1F /* Logging.swift */, + 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */, + ); + name = utils; + path = ../shared/utils; + sourceTree = ""; + }; + D018DCE3210BCB4D0B8FA6D2 /* Frameworks */ = { + isa = PBXGroup; + children = ( + AAAB3D402C2F133400957367 /* Bugsnag.xcframework */, + 01DF442B2798044E00C31104 /* SystemConfiguration.framework */, + CB42FF8F26F1EDB500E8D5D2 /* libBugsnagNetworkRequestPluginStatic.a */, + AAFEFA0226EB6B5A00980A10 /* BugsnagNetworkRequestPlugin.framework */, + 01CD103826690463007FA5F0 /* libBugsnagStatic.a */, + ); + name = Frameworks; + sourceTree = ""; + }; + F42953DE2BB41023C0B07F41 /* scenarios */ = { + isa = PBXGroup; + children = ( + 010BAAF62833CE570003FF36 /* AbortOverrideScenario.m */, + F429534164257A2BE23ED72D /* AbortScenario.m */, + F4295A20DE438C2B28167714 /* AccessNonObjectScenario.m */, + 010BAB122833CF0F0003FF36 /* AppAndDeviceAttributesCallbackOverrideScenario.swift */, + 010BAB102833CEEC0003FF36 /* AppAndDeviceAttributesConfigOverrideScenario.swift */, + 010BAB162833CF530003FF36 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift */, + 0037410E2473CF2300BE41AA /* AppAndDeviceAttributesScenario.swift */, + 010BAB142833CF280003FF36 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift */, + 010BAB1A2833CF810003FF36 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift */, + 010BAB182833CF660003FF36 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift */, + 01E0DB0A25E8EBD100A740ED /* AppDurationScenario.swift */, + 010BAB262833D0160003FF36 /* AppHangDefaultConfigScenario.swift */, + 010BAB1C2833CFB00003FF36 /* AppHangDidBecomeActiveScenario.swift */, + 010BAB1E2833CFD40003FF36 /* AppHangDidEnterBackgroundScenario.swift */, + 010BAB242833D0070003FF36 /* AppHangDisabledScenario.swift */, + 010BAB202833CFE60003FF36 /* AppHangFatalDisabledScenario.swift */, + 010BAB222833CFF50003FF36 /* AppHangFatalOnlyScenario.swift */, + 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */, + 01F1474325F282E600C2DC65 /* AppHangScenario.swift */, + 01018B9F25E40ADD000312C6 /* AsyncSafeMallocScenario.m */, + F4295CA6B6792DECA15C450B /* AsyncSafeThreadScenario.m */, + 018F9B6428E57DBE00EAA02F /* AttemptDeliveryOnCrashScenario.swift */, + 001E5501243B8FDA0009E31D /* AutoCaptureRunScenario.m */, + E7B79CD5247FD7750039FB88 /* AutoContextNSErrorScenario.swift */, + E7B79CD7247FD7810039FB88 /* AutoContextNSExceptionScenario.swift */, + E75040A32478052D005D33BD /* AutoDetectFalseAbortScenario.swift */, + E750409F2478019D005D33BD /* AutoDetectFalseHandledScenario.swift */, + E75040A1247801A8005D33BD /* AutoDetectFalseNSExceptionScenario.swift */, + 8A98400220FD11BF0023ECD1 /* AutoSessionCustomVersionScenario.m */, + 8AEFC79820F9132C00A78779 /* AutoSessionHandledEventsScenario.m */, + 8AEEBBCF20FC9E1D00C60763 /* AutoSessionMixedEventsScenario.m */, + F4295EE3B0BD05E5FE513B20 /* AutoSessionScenario.m */, + 8AEFC79B20F92E2200A78779 /* AutoSessionUnhandledScenario.m */, + 8AEFC73020F8D1A000A78779 /* AutoSessionWithUserScenario.m */, + 01AF6A52258A112F00FFC803 /* BareboneTestHandledScenario.swift */, + 010BAB282833D08F0003FF36 /* BareboneTestUnhandledErrorScenario.swift */, + E7A324EE247E9DBC008B0052 /* BreadcrumbCallbackCrashScenario.swift */, + E7A324E5247E9D8D008B0052 /* BreadcrumbCallbackDiscardScenario.swift */, + E7A324E7247E9D9A008B0052 /* BreadcrumbCallbackOrderScenario.swift */, + E7A324E9247E9DA5008B0052 /* BreadcrumbCallbackOverrideScenario.swift */, + E7A324EC247E9DB3008B0052 /* BreadcrumbCallbackRemovalScenario.m */, + F42956D34274D4ED16B4D491 /* BuiltinTrapScenario.m */, + 01DCB82A27985D2C0048640A /* ConcurrentCrashesScenario.mm */, + 0184DBDF28C63F50006AF50B /* CouldNotCreateDirectoryScenario.swift */, + 01DE903726CE99B800455213 /* CriticalThermalStateScenario.swift */, + 8A72A0372396574F00328051 /* CustomPluginNotifierDescriptionScenario.m */, + 8A096DFB27C7E77600DB6ECC /* CxxBareThrowScenario.mm */, + 010BAAFA2833CE570003FF36 /* CxxExceptionOverrideScenario.mm */, + F429550B682F8F9677305881 /* CxxExceptionScenario.mm */, + 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */, + 010BAAF42833CE570003FF36 /* DisableAllExceptManualExceptionsAndCrashScenario.m */, + 010BAB402833D2AA0003FF36 /* DisabledReleaseStageAutoSessionScenario.swift */, + 010BAB3C2833D2890003FF36 /* DisabledReleaseStageManualSessionScenario.swift */, + F429563584D9BC3A5B86BECF /* DisabledSessionTrackingScenario.m */, + 010BAAFB2833CE570003FF36 /* DisableMachExceptionScenario.m */, + 010BAAEE2833CE560003FF36 /* DisableNSExceptionScenario.m */, + 010BAAF92833CE570003FF36 /* DisableSignalsExceptionScenario.m */, + 0163BFA62583B3CF008DC28B /* DiscardClassesHandledExceptionRegexScenario.swift */, + 010BAB2A2833D0DF0003FF36 /* DiscardClassesUnhandledCrashScenario.swift */, + 010BAB2C2833D0F20003FF36 /* DiscardClassesUnhandledExceptionScenario.swift */, + 8A38C5D024094D7B00BC4463 /* DiscardedBreadcrumbTypeScenario.swift */, + 0104085E258CA0A100933C60 /* DispatchCrashScenario.swift */, + 00507A63242BFE5600EF1B87 /* EnabledBreadcrumbTypesIsNilScenario.swift */, + 00432CC2240912A000826D05 /* EnabledErrorTypesCxxScenario.mm */, + E75040B324782597005D33BD /* EnabledReleaseStageAutoSessionScenario.swift */, + 010BAB3E2833D29A0003FF36 /* EnabledReleaseStageManualSessionScenario.swift */, + 010BAB342833D1F70003FF36 /* HandledErrorInvalidReleaseStageScenario.swift */, + F4295FA8EBBA645EECF7B483 /* HandledErrorOverrideScenario.swift */, + F4295A364B3851D3811BC648 /* HandledErrorScenario.swift */, + 010BAAF02833CE570003FF36 /* HandledErrorThreadSendAlwaysScenario.m */, + 010BAAED2833CE560003FF36 /* HandledErrorThreadSendUnhandledOnlyScenario.m */, + 8AB1081823301FE600672818 /* HandledErrorValidReleaseStageScenario.swift */, + F429526319377A8848136413 /* HandledExceptionScenario.swift */, + 8AF8FCAD22BD23BA00A967CA /* HandledInternalNotifyScenario.swift */, + 967F6F1129B2236A0054EED8 /* InternalWorkingsScenario.swift */, + 01847DD526453D4E00ADA4C7 /* InvalidCrashReportScenario.m */, + 01B6BB7425D5748800FC4DE6 /* LastRunInfoScenario.swift */, + 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */, + 8AB65FCB22DC77CB001200AB /* LoadConfigFromFileScenario.swift */, + E7B79CD1247FD66E0039FB88 /* ManualContextClientScenario.swift */, + E7B79CCF247FD6660039FB88 /* ManualContextConfigurationScenario.swift */, + E7B79CD3247FD6760039FB88 /* ManualContextOnErrorScenario.swift */, + F429570EE7A751B53D011481 /* ManualSessionScenario.m */, + 8AEFC73320F8D1BB00A78779 /* ManualSessionWithUserScenario.m */, + 8A530CCB22FDDBF000F0C108 /* ManyConcurrentNotifyScenario.m */, + CBB7878F2578FC0C0071BDE4 /* MarkUnhandledHandledScenario.h */, + CBB787902578FC0C0071BDE4 /* MarkUnhandledHandledScenario.m */, + 01221E54282E5538008095C3 /* MaxPersistedSessionsScenario.m */, + E7B79CD924800A5D0039FB88 /* MetadataMergeScenario.swift */, + E75040AD2478214E005D33BD /* MetadataRedactionDefaultScenario.swift */, + E75040AF2478214E005D33BD /* MetadataRedactionNestedScenario.swift */, + E75040AE2478214E005D33BD /* MetadataRedactionRegexScenario.swift */, + 8A3B5F2A240807EE00CE4A3A /* ModifyBreadcrumbInNotifyScenario.swift */, + 8A3B5F282407F66700CE4A3A /* ModifyBreadcrumbScenario.swift */, + AAFEF9E926EB533800980A10 /* NetworkBreadcrumbsScenario.swift */, + E7767F14221C223C0006648C /* NewSessionScenario.swift */, + F4295F13EBCAC9CB0ABC4008 /* NonExistentMethodScenario.m */, + E753F24524927409001FB671 /* NotifyCallbackCrashScenario.swift */, + 8A32DB8122424E3000EDD92F /* NSExceptionShiftScenario.m */, + F4295E86DC0BE9DC731B0D1C /* NullPointerScenario.m */, + 010BAAF52833CE570003FF36 /* ObjCExceptionOverrideScenario.m */, + F429521A8EEB435DCB6EACE1 /* ObjCExceptionScenario.m */, + F429511ED32FC9FB46649CAE /* ObjCMsgSendScenario.m */, + 01F6B7582832756300B75C5D /* OldCrashReportScenario.swift */, + 01F6B7592832756300B75C5D /* OldHandledErrorScenario.swift */, + 01AFCFCA282CE9F700D48D45 /* OldSessionScenario.m */, + E700EE61247D4D42008CFFB6 /* OnCrashHandlerScenario.m */, + E700EE52247D31EA008CFFB6 /* OnErrorOverwriteScenario.swift */, + CBE1C9222574F532004B8B5B /* OnErrorOverwriteUnhandledFalseScenario.swift */, + CBE1C9232574F532004B8B5B /* OnErrorOverwriteUnhandledTrueScenario.swift */, + E700EE5C247D322D008CFFB6 /* OnSendCallbackOrderScenario.swift */, + E700EE64247D6C08008CFFB6 /* OnSendCallbackRemovalScenario.m */, + E753F24724927412001FB671 /* OnSendErrorCallbackCrashScenario.swift */, + CB0AE1F0287D89C90079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift */, + 017B4133276B8D9B0054C91D /* OnSendErrorPersistenceScenario.m */, + E700EE54247D3204008CFFB6 /* OnSendOverwriteScenario.swift */, + A1117E562535B22300014FDA /* OOMAutoDetectErrorsScenario.swift */, + A1117E582535B29800014FDA /* OOMEnabledErrorTypesScenario.swift */, + 01BA54FB28699BC100EC14E0 /* OOMInactiveScenario.swift */, + A1117E542535A59100014FDA /* OOMLoadScenario.swift */, + 01E5EAD125B713990066EA8A /* OOMScenario.m */, + 01EE7F56278C680C00A59DC6 /* OOMSessionlessScenario.m */, + A1117E5A2536036400014FDA /* OOMSessionScenario.swift */, + 010BAAFC2833CE570003FF36 /* OOMWillTerminateScenario.m */, + E700EE58247D321B008CFFB6 /* OriginalErrorNSErrorScenario.swift */, + E700EE5A247D3224008CFFB6 /* OriginalErrorNSExceptionScenario.swift */, + 017BA42328A1558A00CB985E /* OversizedBreadcrumbsScenario.swift */, + 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */, + 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */, + F4295B041F9CC494473DD226 /* OverwriteLinkRegisterScenario.m */, + F429566550603ECAC2875333 /* PrivilegedInstructionScenario.m */, + F4295B7431F98954DA62E47F /* ReadGarbagePointerScenario.m */, + F4295871D1BCF211398CAEBA /* ReadOnlyPageScenario.m */, + 0104B47D275A7B3C003EBDF0 /* RecrashScenarios.mm */, + F4295E71D7B2DFE77057F3DA /* ReleasedObjectScenario.m */, + 010BDFB82885562D007025F9 /* ReportBackgroundAppHangScenario.swift */, + E7767F12221C21E30006648C /* ResumedSessionScenario.swift */, + 8AF6FD79225E3FA00056EF9E /* ResumeSessionOOMScenario.m */, + F4295ABA693D273D52AA9F6B /* Scenario.h */, + F42954E8B66F3FB7F5333CF7 /* Scenario.m */, + 010BAB2E2833D1830003FF36 /* SendLaunchCrashesSynchronouslyFalseScenario.swift */, + 010BAB302833D1930003FF36 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift */, + 01B6BBB525DA82B700FC4DE6 /* SendLaunchCrashesSynchronouslyScenario.swift */, + E7A324D9247E70C4008B0052 /* SessionCallbackCrashScenario.swift */, + E7A324DF247E70F9008B0052 /* SessionCallbackDiscardScenario.swift */, + E7A324DD247E70E6008B0052 /* SessionCallbackOrderScenario.swift */, + E7A324D7247E70B2008B0052 /* SessionCallbackOverrideScenario.swift */, + E7A324E2247E7C17008B0052 /* SessionCallbackRemovalScenario.m */, + 8A42FD33225DEE04007AE561 /* SessionOOMScenario.m */, + E700EE71247D79FF008CFFB6 /* SIGBUSScenario.m */, + E700EE74247D7A0C008CFFB6 /* SIGFPEScenario.m */, + E700EE77247D7A15008CFFB6 /* SIGILLScenario.m */, + 01F115C827BAAF2D00892B1E /* SIGPIPEIgnoredScenario.m */, + E700EE6B247D793A008CFFB6 /* SIGPIPEScenario.m */, + E700EE7A247D7A1F008CFFB6 /* SIGSEGVScenario.m */, + E700EE7D247D7A61008CFFB6 /* SIGSYSScenario.m */, + E700EE6E247D79F6008CFFB6 /* SIGTRAPScenario.m */, + 010BAAF32833CE570003FF36 /* spin_malloc.h */, + F4295493796EA93321E5CDDB /* StackOverflowScenario.m */, + E7767F10221C21D90006648C /* StoppedSessionScenario.swift */, + 8AF6FD76225E3F870056EF9E /* StopSessionOOMScenario.m */, + 8A840FB921AF5C450041DBFA /* SwiftAssertionScenario.swift */, + F4295EEDC00E5ED3C166DBF0 /* SwiftCrashScenario.swift */, + 017DCF9F28743FB5000ECB22 /* TelemetryUsageDisabledScenario.swift */, + 01E356BF26CD5B6A00BE3F64 /* ThermalStateBreadcrumbScenario.swift */, + F429538D19421F28D8EB0446 /* UndefinedInstructionScenario.m */, + 010BAB362833D2080003FF36 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift */, + 010BAB382833D21A0003FF36 /* UnhandledErrorChangeValidReleaseStageScenario.swift */, + 010BAB322833D1E80003FF36 /* UnhandledErrorInvalidReleaseStageScenario.swift */, + 010BAAF72833CE570003FF36 /* UnhandledErrorThreadSendAlwaysScenario.m */, + 010BAAEF2833CE560003FF36 /* UnhandledErrorThreadSendNeverScenario.m */, + 010BAB3A2833D2280003FF36 /* UnhandledErrorValidReleaseStageScenario.swift */, + 8AF8FCAB22BD1E5400A967CA /* UnhandledInternalNotifyScenario.swift */, + 010BAAFD2833CE570003FF36 /* UnhandledMachExceptionOverrideScenario.m */, + E700EE68247D73F8008CFFB6 /* UnhandledMachExceptionScenario.m */, + E700EE47247D1158008CFFB6 /* UserEventOverrideScenario.swift */, + E700EE4D247D1317008CFFB6 /* UserFromClientScenario.swift */, + AA6ACD1B2773E0B3006464C4 /* UserFromConfigScenario.swift */, + AA6ACD1F2773E3F0006464C4 /* UserInfoScenario.swift */, + 010BDFBC28883714007025F9 /* UserNilScenario.swift */, + 010BAAF12833CE570003FF36 /* UserPersistenceDontPersistUserScenario.m */, + 010BAAFE2833CE570003FF36 /* UserPersistenceNoUserScenario.m */, + 010BAAF22833CE570003FF36 /* UserPersistencePersistUserClientScenario.m */, + 010BAAF82833CE570003FF36 /* UserPersistencePersistUserScenario.m */, + E700EE49247D1164008CFFB6 /* UserSessionOverrideScenario.swift */, + 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */, + ); + name = scenarios; + path = ../shared/scenarios; + sourceTree = SOURCE_ROOT; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8AB8865F20404DD30003E444 /* iOSTestAppXcFramework */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8AB8867220404DD30003E444 /* Build configuration list for PBXNativeTarget "iOSTestAppXcFramework" */; + buildPhases = ( + 8AB8865C20404DD30003E444 /* Sources */, + 8AB8865D20404DD30003E444 /* Frameworks */, + 8AB8865E20404DD30003E444 /* Resources */, + AAAB3D432C2F133400957367 /* Embed Frameworks */, + 3FACF0EFE4366E7546A22C90 /* [Bugsnag] Upload dSYMs */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = iOSTestAppXcFramework; + productName = iOSTestApp; + productReference = 8AB8866020404DD30003E444 /* iOSTestAppXcFramework.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 8AB8865820404DD30003E444 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1140; + ORGANIZATIONNAME = Bugsnag; + TargetAttributes = { + 8AB8865F20404DD30003E444 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1020; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = 8AB8865B20404DD30003E444 /* Build configuration list for PBXProject "iOSTestAppXcFramework" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 8AB8865720404DD30003E444; + productRefGroup = 8AB8866120404DD30003E444 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8AB8865F20404DD30003E444 /* iOSTestAppXcFramework */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8AB8865E20404DD30003E444 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8AB8866E20404DD30003E444 /* LaunchScreen.storyboard in Resources */, + 8AB8866B20404DD30003E444 /* Assets.xcassets in Resources */, + 8AB8866920404DD30003E444 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3FACF0EFE4366E7546A22C90 /* [Bugsnag] Upload dSYMs */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}", + ); + name = "[Bugsnag] Upload dSYMs"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = "/usr/bin/env ruby"; + shellScript = "# First, attempt to get the API key from an environment variable\napi_key = ENV[\"BUGSNAG_API_KEY\"]\n\n# If not present, attempt to lookup the value from the Info.plist\nif !api_key\n default_info_plist_location = Dir.glob(\"./{ios/,}*/Info.plist\").reject {|path| path =~ /build|test/i }\n plist_buddy_response = `/usr/libexec/PlistBuddy -c \"print :BugsnagAPIKey\" \"#{default_info_plist_location.first}\"`\n api_key = plist_buddy_response if $?.success?\nend\n\ndsyms = Dir[\"#{ENV[\"DWARF_DSYM_FOLDER_PATH\"]}/*/Contents/Resources/DWARF/*\"]\n\nfork do\n Process.setsid\n STDIN.reopen(\"/dev/null\")\n STDOUT.reopen(\"/dev/null\", \"a\")\n STDERR.reopen(\"/dev/null\", \"a\")\n\n require 'shellwords'\n\n dsyms.each do |dsym|\n curl_command = \"curl -F dsym=@#{Shellwords.escape(dsym)} -F projectRoot=#{Shellwords.escape(ENV[\"PROJECT_DIR\"])} \"\n curl_command += \"-F apiKey=#{Shellwords.escape(api_key)} \" if api_key\n curl_command += \"https://upload.bugsnag.com/\"\n system(curl_command)\n end\nend\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8AB8865C20404DD30003E444 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 01221E55282E5538008095C3 /* MaxPersistedSessionsScenario.m in Sources */, + E700EE7B247D7A1F008CFFB6 /* SIGSEGVScenario.m in Sources */, + 967F6F1229B2236A0054EED8 /* InternalWorkingsScenario.swift in Sources */, + 010BAB0D2833CE570003FF36 /* OOMWillTerminateScenario.m in Sources */, + 010BAB252833D0070003FF36 /* AppHangDisabledScenario.swift in Sources */, + E75040A02478019D005D33BD /* AutoDetectFalseHandledScenario.swift in Sources */, + 01F115C927BAAF2D00892B1E /* SIGPIPEIgnoredScenario.m in Sources */, + 017BA42428A1558A00CB985E /* OversizedBreadcrumbsScenario.swift in Sources */, + 8AB8866620404DD30003E444 /* ViewController.swift in Sources */, + 010BAB0E2833CE570003FF36 /* UnhandledMachExceptionOverrideScenario.m in Sources */, + 09F024FA2B9F3ACD007D9F73 /* Fixture.swift in Sources */, + 8AB8866420404DD30003E444 /* AppDelegate.swift in Sources */, + 00507A64242BFE5600EF1B87 /* EnabledBreadcrumbTypesIsNilScenario.swift in Sources */, + 010BAB082833CE570003FF36 /* UnhandledErrorThreadSendAlwaysScenario.m in Sources */, + 01018BA025E40ADD000312C6 /* AsyncSafeMallocScenario.m in Sources */, + 8A98400320FD11BF0023ECD1 /* AutoSessionCustomVersionScenario.m in Sources */, + 8A3B5F292407F66700CE4A3A /* ModifyBreadcrumbScenario.swift in Sources */, + 010BAB2F2833D1830003FF36 /* SendLaunchCrashesSynchronouslyFalseScenario.swift in Sources */, + 01B6BB7525D5748800FC4DE6 /* LastRunInfoScenario.swift in Sources */, + E75040A2247801A8005D33BD /* AutoDetectFalseNSExceptionScenario.swift in Sources */, + E700EE7E247D7A61008CFFB6 /* SIGSYSScenario.m in Sources */, + 010BAB272833D0160003FF36 /* AppHangDefaultConfigScenario.swift in Sources */, + AA8BAEE32A4DD90E00A8BEA7 /* CommandReaderThread.swift in Sources */, + 010BAB212833CFE60003FF36 /* AppHangFatalDisabledScenario.swift in Sources */, + E75040A42478052D005D33BD /* AutoDetectFalseAbortScenario.swift in Sources */, + 8A14F0F62282D4AE00337B05 /* (null) in Sources */, + 010BAB152833CF280003FF36 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift in Sources */, + 8AB65FCC22DC77CB001200AB /* LoadConfigFromFileScenario.swift in Sources */, + E7B79CD4247FD6760039FB88 /* ManualContextOnErrorScenario.swift in Sources */, + E7767F13221C21E30006648C /* ResumedSessionScenario.swift in Sources */, + 0163BFA72583B3CF008DC28B /* DiscardClassesHandledExceptionRegexScenario.swift in Sources */, + E700EE69247D73F8008CFFB6 /* UnhandledMachExceptionScenario.m in Sources */, + E75040B12478214F005D33BD /* MetadataRedactionRegexScenario.swift in Sources */, + E700EE5B247D3224008CFFB6 /* OriginalErrorNSExceptionScenario.swift in Sources */, + 01AF6A53258A112F00FFC803 /* BareboneTestHandledScenario.swift in Sources */, + 8AEFC73120F8D1A000A78779 /* AutoSessionWithUserScenario.m in Sources */, + 8AB1081923301FE600672818 /* HandledErrorValidReleaseStageScenario.swift in Sources */, + 010BAB062833CE570003FF36 /* ObjCExceptionOverrideScenario.m in Sources */, + 8AF6FD7A225E3FA00056EF9E /* ResumeSessionOOMScenario.m in Sources */, + E700EE78247D7A15008CFFB6 /* SIGILLScenario.m in Sources */, + E75040B22478214F005D33BD /* MetadataRedactionNestedScenario.swift in Sources */, + E700EE65247D6C08008CFFB6 /* OnSendCallbackRemovalScenario.m in Sources */, + 8A38C5D124094D7B00BC4463 /* DiscardedBreadcrumbTypeScenario.swift in Sources */, + 010BAB292833D08F0003FF36 /* BareboneTestUnhandledErrorScenario.swift in Sources */, + AA4C7F1529AEA0C4009B09A9 /* BugsnagWrapper.swift in Sources */, + 01F6B75F2832757F00B75C5D /* OversizedHandledErrorScenario.swift in Sources */, + 010BAB002833CE570003FF36 /* DisableNSExceptionScenario.m in Sources */, + 8AEEBBD020FC9E1D00C60763 /* AutoSessionMixedEventsScenario.m in Sources */, + 010BAB052833CE570003FF36 /* DisableAllExceptManualExceptionsAndCrashScenario.m in Sources */, + E753F24624927409001FB671 /* NotifyCallbackCrashScenario.swift in Sources */, + 8A096DFC27C7E77600DB6ECC /* CxxBareThrowScenario.mm in Sources */, + AA6ACD1C2773E0B3006464C4 /* UserFromConfigScenario.swift in Sources */, + 8AF8FCAC22BD1E5400A967CA /* UnhandledInternalNotifyScenario.swift in Sources */, + 010BAB312833D1930003FF36 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift in Sources */, + 6526A0D4248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift in Sources */, + F4295A94DD2D131A594A212C /* HandledErrorScenario.swift in Sources */, + 09F024FC2B9F3B16007D9F73 /* MazeRunnerCommand.swift in Sources */, + F4295A7AA9B4A18992A2F020 /* HandledErrorOverrideScenario.swift in Sources */, + 01E0DB0B25E8EBD100A740ED /* AppDurationScenario.swift in Sources */, + E700EE62247D4D42008CFFB6 /* OnCrashHandlerScenario.m in Sources */, + E700EE48247D1158008CFFB6 /* UserEventOverrideScenario.swift in Sources */, + 010BAB0F2833CE570003FF36 /* UserPersistenceNoUserScenario.m in Sources */, + F429502603396F8671B333B3 /* HandledExceptionScenario.swift in Sources */, + F4295497A1582010C16F1861 /* AbortScenario.m in Sources */, + A1117E572535B22300014FDA /* OOMAutoDetectErrorsScenario.swift in Sources */, + 010BAB092833CE570003FF36 /* UserPersistencePersistUserScenario.m in Sources */, + E75040B424782597005D33BD /* EnabledReleaseStageAutoSessionScenario.swift in Sources */, + 010BAB232833CFF50003FF36 /* AppHangFatalOnlyScenario.swift in Sources */, + E700EE75247D7A0C008CFFB6 /* SIGFPEScenario.m in Sources */, + 010BAB072833CE570003FF36 /* AbortOverrideScenario.m in Sources */, + CBE1C9242574F532004B8B5B /* OnErrorOverwriteUnhandledFalseScenario.swift in Sources */, + 010BAB2B2833D0DF0003FF36 /* DiscardClassesUnhandledCrashScenario.swift in Sources */, + A1117E5B2536036400014FDA /* OOMSessionScenario.swift in Sources */, + 8AF8FCAE22BD23BA00A967CA /* HandledInternalNotifyScenario.swift in Sources */, + 01F6B75B2832756300B75C5D /* OldHandledErrorScenario.swift in Sources */, + CBE1C9252574F532004B8B5B /* OnErrorOverwriteUnhandledTrueScenario.swift in Sources */, + 010BAB042833CE570003FF36 /* UserPersistencePersistUserClientScenario.m in Sources */, + 8A42FD35225DEE04007AE561 /* SessionOOMScenario.m in Sources */, + AA6ACD202773E3F0006464C4 /* UserInfoScenario.swift in Sources */, + 010BAB012833CE570003FF36 /* UnhandledErrorThreadSendNeverScenario.m in Sources */, + E7A324EF247E9DBC008B0052 /* BreadcrumbCallbackCrashScenario.swift in Sources */, + F4295CEAD7C915EFA04898A5 /* Scenario.m in Sources */, + 010BAB0B2833CE570003FF36 /* CxxExceptionOverrideScenario.mm in Sources */, + 01DE903826CE99B800455213 /* CriticalThermalStateScenario.swift in Sources */, + 01B6BBB625DA82B800FC4DE6 /* SendLaunchCrashesSynchronouslyScenario.swift in Sources */, + 095E095D2AF3BFDA00273F1F /* Logging.m in Sources */, + F4295836C8AF75547C675E8D /* ReleasedObjectScenario.m in Sources */, + 01E5EAD225B713990066EA8A /* OOMScenario.m in Sources */, + 010BAB3D2833D2890003FF36 /* DisabledReleaseStageManualSessionScenario.swift in Sources */, + 01F6B75E2832757F00B75C5D /* OversizedCrashReportScenario.swift in Sources */, + 095E095A2AF3BE8D00273F1F /* Logging.swift in Sources */, + 8A530CCC22FDDBF000F0C108 /* ManyConcurrentNotifyScenario.m in Sources */, + 010BAB112833CEEC0003FF36 /* AppAndDeviceAttributesConfigOverrideScenario.swift in Sources */, + 010BAB0A2833CE570003FF36 /* DisableSignalsExceptionScenario.m in Sources */, + 010BAB412833D2AA0003FF36 /* DisabledReleaseStageAutoSessionScenario.swift in Sources */, + F42958881D3F34A76CADE4EC /* SwiftCrashScenario.swift in Sources */, + E7A324EA247E9DA5008B0052 /* BreadcrumbCallbackOverrideScenario.swift in Sources */, + F42955DB6D08642528917FAB /* CxxExceptionScenario.mm in Sources */, + 017B4134276B8D9B0054C91D /* OnSendErrorPersistenceScenario.m in Sources */, + 018F9B6528E57DBE00EAA02F /* AttemptDeliveryOnCrashScenario.swift in Sources */, + 010BAB2D2833D0F20003FF36 /* DiscardClassesUnhandledExceptionScenario.swift in Sources */, + 8A3B5F2B240807EE00CE4A3A /* ModifyBreadcrumbInNotifyScenario.swift in Sources */, + CBB787912578FC0C0071BDE4 /* MarkUnhandledHandledScenario.m in Sources */, + 010BAB022833CE570003FF36 /* HandledErrorThreadSendAlwaysScenario.m in Sources */, + 8A32DB8222424E3000EDD92F /* NSExceptionShiftScenario.m in Sources */, + F42954B7318A02824C65C514 /* ObjCMsgSendScenario.m in Sources */, + E700EE5D247D322D008CFFB6 /* OnSendCallbackOrderScenario.swift in Sources */, + 010BAB372833D2080003FF36 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift in Sources */, + 010BAB352833D1F70003FF36 /* HandledErrorInvalidReleaseStageScenario.swift in Sources */, + E7B79CD0247FD6660039FB88 /* ManualContextConfigurationScenario.swift in Sources */, + 010BAB1F2833CFD40003FF36 /* AppHangDidEnterBackgroundScenario.swift in Sources */, + E700EE59247D321B008CFFB6 /* OriginalErrorNSErrorScenario.swift in Sources */, + 010BAB032833CE570003FF36 /* UserPersistenceDontPersistUserScenario.m in Sources */, + 010BAB0C2833CE570003FF36 /* DisableMachExceptionScenario.m in Sources */, + 010BAB172833CF530003FF36 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift in Sources */, + F42953498545B853CC0B635E /* NullPointerScenario.m in Sources */, + E75040B02478214F005D33BD /* MetadataRedactionDefaultScenario.swift in Sources */, + 010BAB192833CF660003FF36 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift in Sources */, + E700EE6C247D793A008CFFB6 /* SIGPIPEScenario.m in Sources */, + 01BA54FC28699BC100EC14E0 /* OOMInactiveScenario.swift in Sources */, + A1117E552535A59100014FDA /* OOMLoadScenario.swift in Sources */, + 8A840FBA21AF5C450041DBFA /* SwiftAssertionScenario.swift in Sources */, + E753F24824927412001FB671 /* OnSendErrorCallbackCrashScenario.swift in Sources */, + 09F0250B2BA1E640007D9F73 /* FixtureConfig.swift in Sources */, + 01847DD626453D4E00ADA4C7 /* InvalidCrashReportScenario.m in Sources */, + 001E5502243B8FDA0009E31D /* AutoCaptureRunScenario.m in Sources */, + 0104085F258CA0A100933C60 /* DispatchCrashScenario.swift in Sources */, + E700EE55247D3204008CFFB6 /* OnSendOverwriteScenario.swift in Sources */, + 010BDFBD28883714007025F9 /* UserNilScenario.swift in Sources */, + CB0AE1F1287D89C90079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift in Sources */, + F429538D8941382EC2C857CE /* AsyncSafeThreadScenario.m in Sources */, + F42955869D33EE0E510B9651 /* ReadGarbagePointerScenario.m in Sources */, + 01FA9EC426D63BB20059FF4A /* AppHangInTerminationScenario.swift in Sources */, + 010BAB132833CF0F0003FF36 /* AppAndDeviceAttributesCallbackOverrideScenario.swift in Sources */, + 8A096DF627C7E56C00DB6ECC /* CxxUnexpectedScenario.mm in Sources */, + 8AEFC73420F8D1BB00A78779 /* ManualSessionWithUserScenario.m in Sources */, + F4295B56219D228FAA99BC14 /* ObjCExceptionScenario.m in Sources */, + F4295218A62E41518DC3C057 /* AccessNonObjectScenario.m in Sources */, + E7A324E0247E70F9008B0052 /* SessionCallbackDiscardScenario.swift in Sources */, + 09F025172BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift in Sources */, + 01F6B75A2832756300B75C5D /* OldCrashReportScenario.swift in Sources */, + 8A72A0382396574F00328051 /* CustomPluginNotifierDescriptionScenario.m in Sources */, + E700EE72247D79FF008CFFB6 /* SIGBUSScenario.m in Sources */, + E7767F11221C21D90006648C /* StoppedSessionScenario.swift in Sources */, + F4295D19B9E67F5786011698 /* OverwriteLinkRegisterScenario.m in Sources */, + 0184DBE028C63F51006AF50B /* CouldNotCreateDirectoryScenario.swift in Sources */, + F42959124DB949EEF1420957 /* ReadOnlyPageScenario.m in Sources */, + F4295B75B2244F442D84D9CA /* StackOverflowScenario.m in Sources */, + 010BAB1B2833CF810003FF36 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift in Sources */, + F42951A9FD696D9047149DA8 /* UndefinedInstructionScenario.m in Sources */, + E7A324E6247E9D8D008B0052 /* BreadcrumbCallbackDiscardScenario.swift in Sources */, + 00432CC4240912A100826D05 /* EnabledErrorTypesCxxScenario.mm in Sources */, + E7A324DE247E70E6008B0052 /* SessionCallbackOrderScenario.swift in Sources */, + E7A324DA247E70C4008B0052 /* SessionCallbackCrashScenario.swift in Sources */, + 01F1474425F282E600C2DC65 /* AppHangScenario.swift in Sources */, + 0104B47E275A7B3C003EBDF0 /* RecrashScenarios.mm in Sources */, + 01EE7F57278C680C00A59DC6 /* OOMSessionlessScenario.m in Sources */, + E7A324E3247E7C17008B0052 /* SessionCallbackRemovalScenario.m in Sources */, + AAFEF9EA26EB533800980A10 /* NetworkBreadcrumbsScenario.swift in Sources */, + E7767F15221C223C0006648C /* NewSessionScenario.swift in Sources */, + F42951BEB2518C610A85FE0D /* BuiltinTrapScenario.m in Sources */, + E7A324D8247E70B2008B0052 /* SessionCallbackOverrideScenario.swift in Sources */, + 8AEFC79C20F92E2200A78779 /* AutoSessionUnhandledScenario.m in Sources */, + 010BAB332833D1E80003FF36 /* UnhandledErrorInvalidReleaseStageScenario.swift in Sources */, + E700EE4E247D1317008CFFB6 /* UserFromClientScenario.swift in Sources */, + E7B79CDA24800A5D0039FB88 /* MetadataMergeScenario.swift in Sources */, + E7B79CD8247FD7810039FB88 /* AutoContextNSExceptionScenario.swift in Sources */, + 010BAB3B2833D2280003FF36 /* UnhandledErrorValidReleaseStageScenario.swift in Sources */, + 010BDFB92885562D007025F9 /* ReportBackgroundAppHangScenario.swift in Sources */, + 01E356C026CD5B6A00BE3F64 /* ThermalStateBreadcrumbScenario.swift in Sources */, + E7B79CD2247FD66E0039FB88 /* ManualContextClientScenario.swift in Sources */, + E7B79CD6247FD7750039FB88 /* AutoContextNSErrorScenario.swift in Sources */, + A1117E592535B29800014FDA /* OOMEnabledErrorTypesScenario.swift in Sources */, + F4295397AD31C1C1E64144F5 /* NonExistentMethodScenario.m in Sources */, + E700EE53247D31EA008CFFB6 /* OnErrorOverwriteScenario.swift in Sources */, + 01DCB82B27985D690048640A /* ConcurrentCrashesScenario.mm in Sources */, + 8AEFC79920F9132C00A78779 /* AutoSessionHandledEventsScenario.m in Sources */, + E7A324ED247E9DB3008B0052 /* BreadcrumbCallbackRemovalScenario.m in Sources */, + 0037410F2473CF2300BE41AA /* AppAndDeviceAttributesScenario.swift in Sources */, + E700EE6F247D79F6008CFFB6 /* SIGTRAPScenario.m in Sources */, + F4295A0B0DA0AF3B5502D29C /* PrivilegedInstructionScenario.m in Sources */, + F42958BE5DDACDBF653CA926 /* ManualSessionScenario.m in Sources */, + 010BAB1D2833CFB00003FF36 /* AppHangDidBecomeActiveScenario.swift in Sources */, + 01AFCFCB282CE9F700D48D45 /* OldSessionScenario.m in Sources */, + 017DCFA028743FB5000ECB22 /* TelemetryUsageDisabledScenario.swift in Sources */, + E7A324E8247E9D9A008B0052 /* BreadcrumbCallbackOrderScenario.swift in Sources */, + F42951BF19D7F35A03273CFB /* AutoSessionScenario.m in Sources */, + E700EE4A247D1164008CFFB6 /* UserSessionOverrideScenario.swift in Sources */, + 8AF6FD77225E3F870056EF9E /* StopSessionOOMScenario.m in Sources */, + F4295109FCAB93708FDAFE12 /* DisabledSessionTrackingScenario.m in Sources */, + 010BAB392833D21A0003FF36 /* UnhandledErrorChangeValidReleaseStageScenario.swift in Sources */, + 010BAB3F2833D29A0003FF36 /* EnabledReleaseStageManualSessionScenario.swift in Sources */, + 010BAAFF2833CE570003FF36 /* HandledErrorThreadSendUnhandledOnlyScenario.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 8AB8866720404DD30003E444 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 8AB8866820404DD30003E444 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 8AB8866C20404DD30003E444 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 8AB8866D20404DD30003E444 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 8AB8867020404DD30003E444 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 8AB8867120404DD30003E444 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 8AB8867320404DD30003E444 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 7W9PZ27Y5F; + ENABLE_TESTABILITY = YES; + GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; + HEADER_SEARCH_PATHS = ( + ../../../Bugsnag, + ../../../Bugsnag/Payload, + ); + INFOPLIST_FILE = iOSTestApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LINKER_DISPLAYS_MANGLED_NAMES = NO; + OTHER_SWIFT_FLAGS = "-Onone"; + PRESERVE_DEAD_CODE_INITS_AND_TERMS = NO; + PRODUCT_BUNDLE_IDENTIFIER = com.bugsnag.fixtures.cocoa; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + STRIP_STYLE = all; + STRIP_SWIFT_SYMBOLS = NO; + SWIFT_INSTALL_OBJC_HEADER = YES; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "iOSTestApp-Swift.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; + SWIFT_VERSION = 4.2; + SYSTEM_HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/include"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 8AB8867420404DD30003E444 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + "DEBUG_INFORMATION_FORMAT[sdk=iphoneos*]" = "dwarf-with-dsym"; + "DEBUG_INFORMATION_FORMAT[sdk=iphonesimulator*]" = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 7W9PZ27Y5F; + ENABLE_NS_ASSERTIONS = YES; + ENABLE_TESTABILITY = NO; + GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; + HEADER_SEARCH_PATHS = ( + ../../../Bugsnag, + ../../../Bugsnag/Payload, + ); + INFOPLIST_FILE = iOSTestApp/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LINKER_DISPLAYS_MANGLED_NAMES = NO; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_SWIFT_FLAGS = "-Onone"; + PRESERVE_DEAD_CODE_INITS_AND_TERMS = NO; + PRODUCT_BUNDLE_IDENTIFIER = com.bugsnag.fixtures.cocoa; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + STRIP_STYLE = all; + STRIP_SWIFT_SYMBOLS = NO; + SWIFT_INSTALL_OBJC_HEADER = YES; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "iOSTestApp-Swift.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; + SWIFT_VERSION = 4.2; + SYSTEM_HEADER_SEARCH_PATHS = "$(BUILT_PRODUCTS_DIR)/include"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 8AB8865B20404DD30003E444 /* Build configuration list for PBXProject "iOSTestAppXcFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8AB8867020404DD30003E444 /* Debug */, + 8AB8867120404DD30003E444 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 8AB8867220404DD30003E444 /* Build configuration list for PBXNativeTarget "iOSTestAppXcFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8AB8867320404DD30003E444 /* Debug */, + 8AB8867420404DD30003E444 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 8AB8865820404DD30003E444 /* Project object */; +} diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..d45de3fe9 --- /dev/null +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme new file mode 100644 index 000000000..9fafaba5e --- /dev/null +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata b/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..376fe8525 --- /dev/null +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + From 32050a4d30bd974bc639438a6da22d7bfe624a86 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 28 Jun 2024 21:37:44 +0100 Subject: [PATCH 02/34] XcFramework IPA building on command line --- Makefile | 4 +++ ...cscheme => iOSTestAppXcFramework.xcscheme} | 9 ----- .../scripts/export_xcframework_ios_app.sh | 34 +++++++++++++++++++ 3 files changed, 38 insertions(+), 9 deletions(-) rename features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/{iOSTestApp.xcscheme => iOSTestAppXcFramework.xcscheme} (88%) create mode 100755 features/scripts/export_xcframework_ios_app.sh diff --git a/Makefile b/Makefile index 7e647c78b..b07ceeff6 100644 --- a/Makefile +++ b/Makefile @@ -137,6 +137,10 @@ test-fixtures: ## Build the end-to-end test fixture @./features/scripts/export_mac_app.sh Release @./features/scripts/export_mac_app.sh Debug +xcframework-test-fixtures: ## Build the xcframework end-to-end test fixture + @./features/scripts/export_xcframework_ios_app.sh +# @./features/scripts/export_xcframework_mac_app.sh + e2e_ios_local: @./features/scripts/export_ios_app.sh bundle exec maze-runner --app=features/fixtures/ios/output/iOSTestApp.ipa --farm=local --os=ios --apple-team-id=7W9PZ27Y5F --udid="$(shell idevice_id -l)" $(FEATURES) diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestAppXcFramework.xcscheme similarity index 88% rename from features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme rename to features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestAppXcFramework.xcscheme index 9fafaba5e..2794ef747 100644 --- a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestApp.xcscheme +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/xcshareddata/xcschemes/iOSTestAppXcFramework.xcscheme @@ -27,15 +27,6 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES"> - - - - diff --git a/features/scripts/export_xcframework_ios_app.sh b/features/scripts/export_xcframework_ios_app.sh new file mode 100755 index 000000000..60c3ef999 --- /dev/null +++ b/features/scripts/export_xcframework_ios_app.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -o errexit + +cd features/fixtures/ios + +echo "--- iOSTestAppXcFramework: xcodebuild archive" + +# +# Using CLANG_ENABLE_MODULES=NO to surface build errors +# https://github.com/bugsnag/bugsnag-cocoa/pull/1284 +# + +xcrun xcodebuild \ + -scheme iOSTestAppXcFramework \ + -workspace iOSTestAppXcFramework.xcworkspace \ + -destination generic/platform=iOS \ + -configuration Debug \ + -archivePath archive/iosTestAppXcFramework.xcarchive \ + -allowProvisioningUpdates \ + -quiet \ + archive \ + CLANG_ENABLE_MODULES=NO \ + GCC_PREPROCESSOR_DEFINITIONS='$(inherited) BSG_LOG_LEVEL=BSG_LOGLEVEL_DEBUG BSG_KSLOG_ENABLED=1' + +echo "--- iOSTestAppXcFramework: xcodebuild -exportArchive" + +xcrun xcodebuild \ + -exportArchive \ + -archivePath archive/iosTestAppXcFramework.xcarchive \ + -destination generic/platform=iOS \ + -exportPath output/ \ + -quiet \ + -exportOptionsPlist exportOptions.plist From b6a2be55e790e9fda1ac73179bcd1c4c54bcf2de Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 28 Jun 2024 22:11:01 +0100 Subject: [PATCH 03/34] Build and run XcFramework e2e tests --- .buildkite/pipeline.yml | 92 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index dfe9eb0ee..050de616a 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -46,6 +46,98 @@ steps: - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestApp_Debug.ipa --app-id-file=./features/fixtures/ios/output/ipa_url_bb_debug.txt - bundle exec upload-app --farm=bs --app=./features/fixtures/ios/output/iOSTestApp_Debug.ipa --app-id-file=./features/fixtures/ios/output/ipa_url_bs_debug.txt + - label: Build XcFramework test fixtures + key: xcframework_cocoa_fixture + timeout_in_minutes: 30 + agents: + queue: macos-14 + env: + XCODE_VERSION: 15.3.0 + artifact_paths: + - features/fixtures/ios/output/iOSTestAppXcFramework.ipa +# - features/fixtures/macos/output/macOSTestApp.zip + - features/fixtures/ios/output/xcframework_ipa_url_bb.txt + plugins: + - artifacts#v1.9.3: + download: "build/xcframeworks/products/Bugsnag.xcframework" + compressed: xcframework.zip + commands: + - bundle install + - make xcframework-test-fixtures + - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframeworkipa_url_bb.txt + + + + - label: ':bitbar: iOS 16 XcFramework E2E tests batch 1' + depends_on: + - xcframework_cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/xcframework_ipa_url_bb.txt" + - "--farm=bb" + - "--device=IOS_16" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + # PLAT-11155: App hang scenarios run on BrowserStack + - "--exclude=features/app_hangs.feature" + - "--exclude=features/[e-z].*.feature$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 16 XcFramework E2E tests batch 2' + depends_on: + - xcframework_cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/xcframework_ipa_url_bb.txt" + - "--farm=bb" + - "--device=IOS_16" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + - "--exclude=features/[a-d].*.feature$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + + + + + + + + - label: Carthage timeout_in_minutes: 15 agents: From 1b1b3f9c59f7495d1dbc349669cd75b9ff5f6214 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 28 Jun 2024 22:40:06 +0100 Subject: [PATCH 04/34] Artifact fixes --- .buildkite/pipeline.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 050de616a..7f24fffb3 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -8,6 +8,7 @@ steps: # - label: Static framework and Swift Package Manager builds + key: framework_build timeout_in_minutes: 10 agents: queue: macos-14 @@ -17,10 +18,10 @@ steps: - make build_xcframework - make build_swift - make build_ios_static + - zip -r Bugsnag.xcframework.zip build/xcframeworks/products/Bugsnag.xcframework plugins: - artifacts#v1.9.3: - upload: "build/xcframeworks/products/Bugsnag.xcframework" - compressed: xcframework.zip + upload: "Bugsnag.xcframework.zip" - label: Build test fixtures key: cocoa_fixture @@ -48,26 +49,25 @@ steps: - label: Build XcFramework test fixtures key: xcframework_cocoa_fixture + depends_on: framework_build timeout_in_minutes: 30 agents: queue: macos-14 env: XCODE_VERSION: 15.3.0 - artifact_paths: - - features/fixtures/ios/output/iOSTestAppXcFramework.ipa -# - features/fixtures/macos/output/macOSTestApp.zip - - features/fixtures/ios/output/xcframework_ipa_url_bb.txt plugins: - artifacts#v1.9.3: - download: "build/xcframeworks/products/Bugsnag.xcframework" - compressed: xcframework.zip + download: "Bugsnag.xcframework.zip" + upload: + - features/fixtures/ios/output/iOSTestAppXcFramework.ipa + # - features/fixtures/macos/output/macOSTestApp.zip + - features/fixtures/ios/output/xcframework_ipa_url_bb.txt commands: + - unzip Bugsnag.xcframework.zip - bundle install - make xcframework-test-fixtures - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframeworkipa_url_bb.txt - - - label: ':bitbar: iOS 16 XcFramework E2E tests batch 1' depends_on: - xcframework_cocoa_fixture From 499f850de5d0ebb6b6afbb68241e8b4f1f524818 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Sat, 29 Jun 2024 14:45:12 +0100 Subject: [PATCH 05/34] Do not use absolute path --- .../iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata b/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata index 376fe8525..2587f78ff 100644 --- a/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcworkspace/contents.xcworkspacedata @@ -5,6 +5,6 @@ location = "group:../../../BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPlugin.xcodeproj"> + location = "group:iOSTestAppXcFramework.xcodeproj"> From db95c4e874a5321c143e5eaecfdab5440ff42c96 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Sat, 29 Jun 2024 14:50:07 +0100 Subject: [PATCH 06/34] Correct filename --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 7f24fffb3..85e1ade63 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -66,7 +66,7 @@ steps: - unzip Bugsnag.xcframework.zip - bundle install - make xcframework-test-fixtures - - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframeworkipa_url_bb.txt + - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframework_ipa_url_bb.txt - label: ':bitbar: iOS 16 XcFramework E2E tests batch 1' depends_on: From ac339ce25f1b7f62caab92983466046c6e679f43 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Sat, 29 Jun 2024 14:57:22 +0100 Subject: [PATCH 07/34] No fail fast --- .buildkite/pipeline.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 85e1ade63..16710a96b 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -88,7 +88,6 @@ steps: - "--device=IOS_16" - "--no-tunnel" - "--aws-public-ip" - - "--fail-fast" # PLAT-11155: App hang scenarios run on BrowserStack - "--exclude=features/app_hangs.feature" - "--exclude=features/[e-z].*.feature$" @@ -120,7 +119,6 @@ steps: - "--device=IOS_16" - "--no-tunnel" - "--aws-public-ip" - - "--fail-fast" - "--exclude=features/[a-d].*.feature$" concurrency: 25 concurrency_group: 'bitbar' From 3d9a89d620a08c0f29f6bc1e643be97f3cb2a4ec Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 12 Jul 2024 17:10:05 +0100 Subject: [PATCH 08/34] Should build in Release mode --- features/scripts/export_xcframework_ios_app.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/scripts/export_xcframework_ios_app.sh b/features/scripts/export_xcframework_ios_app.sh index 60c3ef999..ffbc7fe86 100755 --- a/features/scripts/export_xcframework_ios_app.sh +++ b/features/scripts/export_xcframework_ios_app.sh @@ -15,7 +15,7 @@ xcrun xcodebuild \ -scheme iOSTestAppXcFramework \ -workspace iOSTestAppXcFramework.xcworkspace \ -destination generic/platform=iOS \ - -configuration Debug \ + -configuration Release \ -archivePath archive/iosTestAppXcFramework.xcarchive \ -allowProvisioningUpdates \ -quiet \ From b356207780902fbba2cd2d926806a449414e65e2 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 12 Jul 2024 18:39:31 +0100 Subject: [PATCH 09/34] Remove lock file --- Gemfile.lock | 83 ++++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 42 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 97974183f..fea61f33e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,24 @@ +PATH + remote: ../maze-runner + specs: + bugsnag-maze-runner (9.11.0) + appium_lib (~> 12.0.0) + appium_lib_core (~> 5.4.0) + bugsnag (~> 6.24) + cucumber (~> 7.1) + cucumber-expressions (~> 6.0.0) + curb (~> 0.9.6) + dogstatsd-ruby (~> 5.5.0) + json_schemer (~> 0.2.24) + optimist (~> 3.0.1) + os (~> 1.0.0) + rack (~> 2.2) + rake (~> 12.3.3) + rubyzip (~> 2.3.2) + selenium-webdriver (~> 4.0) + test-unit (~> 3.5.2) + webrick (~> 1.7.0) + GEM remote: https://rubygems.org/ specs: @@ -5,7 +26,7 @@ GEM base64 nkf rexml - activesupport (7.1.3.2) + activesupport (7.1.3.4) base64 bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) @@ -15,8 +36,8 @@ GEM minitest (>= 5.1) mutex_m tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) @@ -30,26 +51,9 @@ GEM atomos (0.1.3) base64 (0.2.0) bigdecimal (3.1.8) - bugsnag (6.26.4) + bugsnag (6.27.1) concurrent-ruby (~> 1.0) - bugsnag-maze-runner (9.9.0) - appium_lib (~> 12.0.0) - appium_lib_core (~> 5.4.0) - bugsnag (~> 6.24) - cucumber (~> 7.1) - cucumber-expressions (~> 6.0.0) - curb (~> 0.9.6) - dogstatsd-ruby (~> 5.5.0) - json_schemer (~> 0.2.24) - optimist (~> 3.0.1) - os (~> 1.0.0) - rack (~> 2.2) - rake (~> 12.3.3) - rubyzip (~> 2.3.2) - selenium-webdriver (~> 4.0) - test-unit (~> 3.5.2) - webrick (~> 1.7.0) - builder (3.2.4) + builder (3.3.0) childprocess (4.1.0) claide (1.1.0) cocoapods (1.15.2) @@ -90,7 +94,7 @@ GEM netrc (~> 0.11) cocoapods-try (1.2.0) colored2 (3.1.2) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.3) connection_pool (2.4.1) cucumber (7.1.0) builder (~> 3.2, >= 3.2.4) @@ -136,7 +140,7 @@ GEM faye-websocket (0.11.3) eventmachine (>= 0.12.0) websocket-driver (>= 0.5.1) - ffi (1.16.3) + ffi (1.17.0-x86_64-darwin) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) @@ -153,8 +157,8 @@ GEM uri_template (~> 0.7) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0507) - minitest (5.22.3) + mime-types-data (3.2024.0702) + minitest (5.24.1) molinillo (0.8.0) multi_test (0.1.2) mutex_m (0.2.0) @@ -162,19 +166,18 @@ GEM nap (1.1.0) netrc (0.11.0) nkf (0.2.0) - nokogiri (1.15.6-arm64-darwin) - racc (~> 1.4) - nokogiri (1.15.6-x86_64-darwin) + nokogiri (1.16.6-x86_64-darwin) racc (~> 1.4) optimist (3.0.1) os (1.0.1) power_assert (2.0.3) public_suffix (4.0.7) - racc (1.7.3) + racc (1.8.0) rack (2.2.9) rake (12.3.3) - regexp_parser (2.9.1) - rexml (3.2.6) + regexp_parser (2.9.2) + rexml (3.2.9) + strscan rouge (2.0.7) ruby-macho (2.5.1) rubyzip (2.3.2) @@ -183,9 +186,9 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - simpleidn (0.2.2) - unf (~> 0.1.4) - sys-uname (1.2.3) + simpleidn (0.2.3) + strscan (3.1.0) + sys-uname (1.3.0) ffi (~> 1.1) test-unit (3.5.9) power_assert @@ -194,12 +197,9 @@ GEM ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.9.1) uri_template (0.7.0) webrick (1.7.0) - websocket (1.2.10) + websocket (1.2.11) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -214,13 +214,12 @@ GEM rouge (~> 2.0.7) PLATFORMS - arm64-darwin-22 x86_64-darwin-19 DEPENDENCIES - bugsnag-maze-runner (~> 9.0) + bugsnag-maze-runner! cocoapods xcpretty BUNDLED WITH - 2.4.18 + 2.4.8 From e468ff0be872bf048c6ea866e7219c065e9776e0 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 12 Jul 2024 18:39:52 +0100 Subject: [PATCH 10/34] Allow for app built with XcFramework notifier --- features/release/app_and_device_attributes.feature | 6 +++--- features/release/barebone_tests.feature | 11 ++++++----- features/release/config_from_plist.feature | 12 ++++++------ features/release/out_of_memory.feature | 2 +- features/release/release_stage_errors.feature | 4 ++-- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/features/release/app_and_device_attributes.feature b/features/release/app_and_device_attributes.feature index d56dbc7db..a7644f7be 100644 --- a/features/release/app_and_device_attributes.feature +++ b/features/release/app_and_device_attributes.feature @@ -60,9 +60,9 @@ Feature: App and Device attributes present # App metadata - And the event "metaData.app.name" equals the platform-dependent string: - | ios | iOSTestApp | - | macos | macOSTestApp | + And the event "metaData.app.name" matches the platform-dependent regex: + | ios | iOSTestApp(XcFramework) | + | macos | macOSTestApp(XcFramework) | And I discard the oldest error And the event "app.isLaunching" is false diff --git a/features/release/barebone_tests.feature b/features/release/barebone_tests.feature index 981e86175..aeab8ce04 100644 --- a/features/release/barebone_tests.feature +++ b/features/release/barebone_tests.feature @@ -85,10 +85,11 @@ Feature: Barebone tests And the event "unhandled" is true And the event "usage.callbacks" is not null And the event "usage.config" is not null - And the event "usage.config.staticallyLinked" equals the platform-dependent boolean: - | ios | true | - | macos | @null | - | watchos | @null | + # TODO +# And the event "usage.config.staticallyLinked" equals the platform-dependent boolean: +# | ios | true | +# | macos | @null | +# | watchos | @null | And the event "usage.system.stringCharsTruncated" equals 345 And the event "usage.system.stringsTruncated" equals 1 And the event "user.email" equals "foobar@example.com" @@ -302,7 +303,7 @@ Feature: Barebone tests And on iOS 13 and later, the event "metaData.app.memoryLimit" is a number And the event "metaData._usage" is null And the event "metaData.app.memoryUsage" is a number - And the event "metaData.app.name" equals "iOSTestApp" + And the event "metaData.app.name" matches "iOSTestApp(XcFramework)" And the event "metaData.custom.bar" equals "foo" And the event "metaData.device.batteryLevel" is a number And the event "metaData.device.charging" is a boolean diff --git a/features/release/config_from_plist.feature b/features/release/config_from_plist.feature index 85aefc0ec..d7efe8948 100644 --- a/features/release/config_from_plist.feature +++ b/features/release/config_from_plist.feature @@ -14,9 +14,9 @@ Feature: Loading Bugsnag configuration from Info.plist And the session payload field "sessions" is not null And the error "Bugsnag-API-Key" header equals "0192837465afbecd0192837465afbecd" - And the event "metaData.nserror.domain" equals the platform-dependent string: - | ios | iOSTestApp.LaunchError | - | macos | macOSTestApp.LaunchError | + And the event "metaData.nserror.domain" matches the platform-dependent regex: + | ios | iOSTestApp(XcFramework).LaunchError | + | macos | macOSTestApp(XcFramework).LaunchError | And the event "app.releaseStage" equals "beta2" Scenario: Calling Bugsnag.start() with no configuration @@ -31,9 +31,9 @@ Feature: Loading Bugsnag configuration from Info.plist And the error payload field "notifier.name" equals the platform-dependent string: | ios | iOS Bugsnag Notifier | | macos | OSX Bugsnag Notifier | - And the event "metaData.nserror.domain" equals the platform-dependent string: - | ios | iOSTestApp.LoadConfigFromFileAutoScenarioError | - | macos | macOSTestApp.LoadConfigFromFileAutoScenarioError | + And the event "metaData.nserror.domain" matches the platform-dependent regex: + | ios | iOSTestApp(XcFramework).LoadConfigFromFileAutoScenarioError | + | macos | macOSTestApp(XcFramework).LoadConfigFromFileAutoScenarioError | And the event "app.releaseStage" equals "beta2" Scenario: Info.plist settings are used when calling startWithApiKey diff --git a/features/release/out_of_memory.feature b/features/release/out_of_memory.feature index f0ce2667c..dbaa3c466 100644 --- a/features/release/out_of_memory.feature +++ b/features/release/out_of_memory.feature @@ -39,7 +39,7 @@ Feature: Out of memory errors And the event "metaData.device.simulator" is false And the event "metaData.device.wordSize" is not null And the event "app.id" equals "com.bugsnag.fixtures.cocoa" - And the event "metaData.app.name" equals "iOSTestApp" + And the event "metaData.app.name" matches "iOSTestApp(XcFramework)" And the event "app.inForeground" is true And the event "app.type" equals "iOS" And the event "app.bundleVersion" is not null diff --git a/features/release/release_stage_errors.feature b/features/release/release_stage_errors.feature index 3451904f8..b6f6f50fb 100644 --- a/features/release/release_stage_errors.feature +++ b/features/release/release_stage_errors.feature @@ -46,8 +46,8 @@ Feature: Discarding reports based on release stage And I wait to receive an error Then the error is valid for the error reporting API And the exception "errorClass" equals the platform-dependent string: - | ios | iOSTestApp.MagicError | - | macos | macOSTestApp.MagicError | + | ios | iOSTestApp(XcFramework).MagicError | + | macos | macOSTestApp(XcFramework).MagicError | And the exception "message" equals "incoming!" And the event "unhandled" is false And the event "app.releaseStage" equals "prod" From 1b70ecffdff681a6252c5e706c6909962ab622c3 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 12 Jul 2024 18:40:01 +0100 Subject: [PATCH 11/34] Test --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index cf8779be2..6aefee6a3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -33,7 +33,7 @@ services: - ./maze_output:/app/maze_output cocoa-maze-runner-bitbar: - image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli + image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:tms-matches-steps-cli environment: <<: *common-environment BITBAR_USERNAME: From e03e4c9d59f53c8a87fc5831b9ce0744bc615771 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Thu, 25 Jul 2024 17:59:40 +0100 Subject: [PATCH 12/34] Test again dev maze --- Gemfile | 4 +- Gemfile.lock | 225 --------------------------------------------- docker-compose.yml | 2 +- 3 files changed, 3 insertions(+), 228 deletions(-) delete mode 100644 Gemfile.lock diff --git a/Gemfile b/Gemfile index 9034f842f..44e47f954 100644 --- a/Gemfile +++ b/Gemfile @@ -2,12 +2,12 @@ source 'https://rubygems.org' # A reference to Maze Runner is only needed for running tests locally and if committed it must be # portable for CI, e.g. a specific release. However, leaving it commented out would mean quicker CI. -gem 'bugsnag-maze-runner', '~> 9.0' +# gem 'bugsnag-maze-runner', '~> 9.0' gem 'cocoapods' gem 'xcpretty' # Use a specific branch -#gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'master' +gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'tms/matches-steps' # Locally, you can run against Maze Runner branches and uncommitted changes: #gem 'bugsnag-maze-runner', path: '../maze-runner' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index fea61f33e..000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,225 +0,0 @@ -PATH - remote: ../maze-runner - specs: - bugsnag-maze-runner (9.11.0) - appium_lib (~> 12.0.0) - appium_lib_core (~> 5.4.0) - bugsnag (~> 6.24) - cucumber (~> 7.1) - cucumber-expressions (~> 6.0.0) - curb (~> 0.9.6) - dogstatsd-ruby (~> 5.5.0) - json_schemer (~> 0.2.24) - optimist (~> 3.0.1) - os (~> 1.0.0) - rack (~> 2.2) - rake (~> 12.3.3) - rubyzip (~> 2.3.2) - selenium-webdriver (~> 4.0) - test-unit (~> 3.5.2) - webrick (~> 1.7.0) - -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.7) - base64 - nkf - rexml - activesupport (7.1.3.4) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - appium_lib (12.0.1) - appium_lib_core (~> 5.0) - nokogiri (~> 1.8, >= 1.8.1) - tomlrb (>= 1.1, < 3.0) - appium_lib_core (5.4.0) - faye-websocket (~> 0.11.0) - selenium-webdriver (~> 4.2, < 4.6) - atomos (0.1.3) - base64 (0.2.0) - bigdecimal (3.1.8) - bugsnag (6.27.1) - concurrent-ruby (~> 1.0) - builder (3.3.0) - childprocess (4.1.0) - claide (1.1.0) - cocoapods (1.15.2) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.15.2) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 2.1, < 3.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.6.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.23.0, < 2.0) - cocoapods-core (1.15.2) - activesupport (>= 5.0, < 8) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-downloader (2.1) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.3.3) - connection_pool (2.4.1) - cucumber (7.1.0) - builder (~> 3.2, >= 3.2.4) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-create-meta (~> 6.0, >= 6.0.1) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-html-formatter (~> 17.0, >= 17.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-wire (~> 6.2, >= 6.2.0) - diff-lcs (~> 1.4, >= 1.4.4) - mime-types (~> 3.3, >= 3.3.1) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-core (10.1.1) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-create-meta (6.0.4) - cucumber-messages (~> 17.1, >= 17.1.1) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-cucumber-expressions (14.0.0) - cucumber-expressions (6.0.1) - cucumber-gherkin (22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-html-formatter (17.0.0) - cucumber-messages (~> 17.1, >= 17.1.0) - cucumber-messages (17.1.1) - cucumber-tag-expressions (4.1.0) - cucumber-wire (6.2.1) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - curb (0.9.11) - diff-lcs (1.5.1) - dogstatsd-ruby (5.5.0) - drb (2.2.1) - ecma-re-validator (0.4.0) - regexp_parser (~> 2.2) - escape (0.0.4) - ethon (0.16.0) - ffi (>= 1.15.0) - eventmachine (1.2.7) - faye-websocket (0.11.3) - eventmachine (>= 0.12.0) - websocket-driver (>= 0.5.1) - ffi (1.17.0-x86_64-darwin) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - hana (1.3.7) - httpclient (2.8.3) - i18n (1.14.5) - concurrent-ruby (~> 1.0) - json (2.7.2) - json_schemer (0.2.25) - ecma-re-validator (~> 0.3) - hana (~> 1.3) - regexp_parser (~> 2.0) - simpleidn (~> 0.2) - uri_template (~> 0.7) - mime-types (3.5.2) - mime-types-data (~> 3.2015) - mime-types-data (3.2024.0702) - minitest (5.24.1) - molinillo (0.8.0) - multi_test (0.1.2) - mutex_m (0.2.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - nkf (0.2.0) - nokogiri (1.16.6-x86_64-darwin) - racc (~> 1.4) - optimist (3.0.1) - os (1.0.1) - power_assert (2.0.3) - public_suffix (4.0.7) - racc (1.8.0) - rack (2.2.9) - rake (12.3.3) - regexp_parser (2.9.2) - rexml (3.2.9) - strscan - rouge (2.0.7) - ruby-macho (2.5.1) - rubyzip (2.3.2) - selenium-webdriver (4.5.0) - childprocess (>= 0.5, < 5.0) - rexml (~> 3.2, >= 3.2.5) - rubyzip (>= 1.2.2, < 3.0) - websocket (~> 1.0) - simpleidn (0.2.3) - strscan (3.1.0) - sys-uname (1.3.0) - ffi (~> 1.1) - test-unit (3.5.9) - power_assert - tomlrb (2.0.3) - typhoeus (1.4.1) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - uri_template (0.7.0) - webrick (1.7.0) - websocket (1.2.11) - websocket-driver (0.7.6) - websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.5) - xcodeproj (1.24.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (~> 3.2.4) - xcpretty (0.3.0) - rouge (~> 2.0.7) - -PLATFORMS - x86_64-darwin-19 - -DEPENDENCIES - bugsnag-maze-runner! - cocoapods - xcpretty - -BUNDLED WITH - 2.4.8 diff --git a/docker-compose.yml b/docker-compose.yml index 6aefee6a3..a2cfe3a79 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ x-common-environment: &common-environment services: cocoa-maze-runner: - image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli + image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:tms-matches-steps-cli environment: <<: *common-environment BROWSER_STACK_USERNAME: From f3d8581b722b16bc737a5c24af8fe67a55f486d7 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Thu, 25 Jul 2024 18:00:01 +0100 Subject: [PATCH 13/34] Removed - unnecessary --- .gitignore | 1 + docker-compose.yml | 12 ------------ 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 993f88eca..fb42ca13e 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ Package.resolved /oclint.json bb.ready /maze_output +Gemfile.lock diff --git a/docker-compose.yml b/docker-compose.yml index a2cfe3a79..349a9ed20 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -46,15 +46,3 @@ services: - ./features/:/app/features/ - ./maze_output:/app/maze_output - /var/run/docker.sock:/var/run/docker.sock - - cocoa-maze-runner-legacy: - image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli-legacy - environment: - <<: *common-environment - BROWSER_STACK_USERNAME: - BROWSER_STACK_ACCESS_KEY: - USE_LEGACY_DRIVER: 1 - volumes: - - ./features/fixtures/ios/output:/app/build - - ./features/:/app/features/ - - ./maze_output:/app/maze_output From f46a601a19c4e755d72270887e4bf8530ec71d96 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Thu, 25 Jul 2024 18:13:55 +0100 Subject: [PATCH 14/34] Missing ? --- features/release/app_and_device_attributes.feature | 4 ++-- features/release/barebone_tests.feature | 2 +- features/release/config_from_plist.feature | 8 ++++---- features/release/out_of_memory.feature | 2 +- features/release/release_stage_errors.feature | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/features/release/app_and_device_attributes.feature b/features/release/app_and_device_attributes.feature index a7644f7be..5b1dc4fa5 100644 --- a/features/release/app_and_device_attributes.feature +++ b/features/release/app_and_device_attributes.feature @@ -61,8 +61,8 @@ Feature: App and Device attributes present # App metadata And the event "metaData.app.name" matches the platform-dependent regex: - | ios | iOSTestApp(XcFramework) | - | macos | macOSTestApp(XcFramework) | + | ios | iOSTestApp(XcFramework)? | + | macos | macOSTestApp(XcFramework)? | And I discard the oldest error And the event "app.isLaunching" is false diff --git a/features/release/barebone_tests.feature b/features/release/barebone_tests.feature index aeab8ce04..97c719cde 100644 --- a/features/release/barebone_tests.feature +++ b/features/release/barebone_tests.feature @@ -303,7 +303,7 @@ Feature: Barebone tests And on iOS 13 and later, the event "metaData.app.memoryLimit" is a number And the event "metaData._usage" is null And the event "metaData.app.memoryUsage" is a number - And the event "metaData.app.name" matches "iOSTestApp(XcFramework)" + And the event "metaData.app.name" matches "iOSTestApp(XcFramework)?" And the event "metaData.custom.bar" equals "foo" And the event "metaData.device.batteryLevel" is a number And the event "metaData.device.charging" is a boolean diff --git a/features/release/config_from_plist.feature b/features/release/config_from_plist.feature index d7efe8948..d58512af7 100644 --- a/features/release/config_from_plist.feature +++ b/features/release/config_from_plist.feature @@ -15,8 +15,8 @@ Feature: Loading Bugsnag configuration from Info.plist And the error "Bugsnag-API-Key" header equals "0192837465afbecd0192837465afbecd" And the event "metaData.nserror.domain" matches the platform-dependent regex: - | ios | iOSTestApp(XcFramework).LaunchError | - | macos | macOSTestApp(XcFramework).LaunchError | + | ios | iOSTestApp(XcFramework)?.LaunchError | + | macos | macOSTestApp(XcFramework)?.LaunchError | And the event "app.releaseStage" equals "beta2" Scenario: Calling Bugsnag.start() with no configuration @@ -32,8 +32,8 @@ Feature: Loading Bugsnag configuration from Info.plist | ios | iOS Bugsnag Notifier | | macos | OSX Bugsnag Notifier | And the event "metaData.nserror.domain" matches the platform-dependent regex: - | ios | iOSTestApp(XcFramework).LoadConfigFromFileAutoScenarioError | - | macos | macOSTestApp(XcFramework).LoadConfigFromFileAutoScenarioError | + | ios | iOSTestApp(XcFramework)?.LoadConfigFromFileAutoScenarioError | + | macos | macOSTestApp(XcFramework)?.LoadConfigFromFileAutoScenarioError | And the event "app.releaseStage" equals "beta2" Scenario: Info.plist settings are used when calling startWithApiKey diff --git a/features/release/out_of_memory.feature b/features/release/out_of_memory.feature index dbaa3c466..c9505f883 100644 --- a/features/release/out_of_memory.feature +++ b/features/release/out_of_memory.feature @@ -39,7 +39,7 @@ Feature: Out of memory errors And the event "metaData.device.simulator" is false And the event "metaData.device.wordSize" is not null And the event "app.id" equals "com.bugsnag.fixtures.cocoa" - And the event "metaData.app.name" matches "iOSTestApp(XcFramework)" + And the event "metaData.app.name" matches "iOSTestApp(XcFramework)?" And the event "app.inForeground" is true And the event "app.type" equals "iOS" And the event "app.bundleVersion" is not null diff --git a/features/release/release_stage_errors.feature b/features/release/release_stage_errors.feature index b6f6f50fb..fbb746557 100644 --- a/features/release/release_stage_errors.feature +++ b/features/release/release_stage_errors.feature @@ -46,8 +46,8 @@ Feature: Discarding reports based on release stage And I wait to receive an error Then the error is valid for the error reporting API And the exception "errorClass" equals the platform-dependent string: - | ios | iOSTestApp(XcFramework).MagicError | - | macos | macOSTestApp(XcFramework).MagicError | + | ios | iOSTestApp(XcFramework)?.MagicError | + | macos | macOSTestApp(XcFramework)?.MagicError | And the exception "message" equals "incoming!" And the event "unhandled" is false And the event "app.releaseStage" equals "prod" From 8d3f16d5d785fd60ddcb5b704bc4ee1394cead74 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 26 Jul 2024 11:10:06 +0100 Subject: [PATCH 15/34] Run the release tests --- .buildkite/pipeline.yml | 135 ++++++++++++++++++++-------------------- 1 file changed, 67 insertions(+), 68 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 16710a96b..f7ed648fa 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -68,74 +68,6 @@ steps: - make xcframework-test-fixtures - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframework_ipa_url_bb.txt - - label: ':bitbar: iOS 16 XcFramework E2E tests batch 1' - depends_on: - - xcframework_cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/xcframework_ipa_url_bb.txt" - - "--farm=bb" - - "--device=IOS_16" - - "--no-tunnel" - - "--aws-public-ip" - # PLAT-11155: App hang scenarios run on BrowserStack - - "--exclude=features/app_hangs.feature" - - "--exclude=features/[e-z].*.feature$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':bitbar: iOS 16 XcFramework E2E tests batch 2' - depends_on: - - xcframework_cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/xcframework_ipa_url_bb.txt" - - "--farm=bb" - - "--device=IOS_16" - - "--no-tunnel" - - "--aws-public-ip" - - "--exclude=features/[a-d].*.feature$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - - - - - - - - label: Carthage timeout_in_minutes: 15 agents: @@ -432,6 +364,73 @@ steps: --os=macos --fail-fast + ############################################################################## + # + # XcFramework E2E tests + # + + - label: ':bitbar: iOS 16 XcFramework E2E tests batch 1' + depends_on: + - xcframework_cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/xcframework_ipa_url_bb.txt" + - "--farm=bb" + - "--device=IOS_16" + - "--no-tunnel" + - "--aws-public-ip" + # PLAT-11155: App hang scenarios run on BrowserStack + - "features/release" + - "--exclude=features/release/app_hangs.feature" + - "--exclude=features/release/[e-z].*.feature$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 16 XcFramework E2E tests batch 2' + depends_on: + - xcframework_cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/xcframework_ipa_url_bb.txt" + - "--farm=bb" + - "--device=IOS_16" + - "--no-tunnel" + - "--aws-public-ip" + - "features/release" + - "--exclude=features/release/[a-d].*.feature$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + ############################################################################## # # Full set of E2E tests on one iOS version From 2954620efffd5080f0937d824d0628d74f743178 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 26 Jul 2024 22:27:01 +0100 Subject: [PATCH 16/34] Use regex step --- features/release/release_stage_errors.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/release/release_stage_errors.feature b/features/release/release_stage_errors.feature index fbb746557..af113cfe6 100644 --- a/features/release/release_stage_errors.feature +++ b/features/release/release_stage_errors.feature @@ -45,7 +45,7 @@ Feature: Discarding reports based on release stage When I run "HandledErrorValidReleaseStageScenario" And I wait to receive an error Then the error is valid for the error reporting API - And the exception "errorClass" equals the platform-dependent string: + And the exception "errorClass" matches the platform-dependent regex: | ios | iOSTestApp(XcFramework)?.MagicError | | macos | macOSTestApp(XcFramework)?.MagicError | And the exception "message" equals "incoming!" From e48411088f5e94560390117e65c5342a1c1cc490 Mon Sep 17 00:00:00 2001 From: Steve K-W Date: Mon, 29 Jul 2024 16:07:57 +0100 Subject: [PATCH 17/34] Just run the barebone tests on a full build for the xcframework fixture [full ci] --- .buildkite/pipeline.full.yml | 85 ++++++++++++++++++++++++++++++++++ .buildkite/pipeline.yml | 88 ------------------------------------ 2 files changed, 85 insertions(+), 88 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 4bcf09aec..3bf0e8b31 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -2,11 +2,96 @@ env: LANG: "en_GB.UTF-8" steps: + + - label: Build XcFramework test fixtures + key: xcframework_cocoa_fixture + depends_on: framework_build + timeout_in_minutes: 30 + agents: + queue: macos-14 + env: + XCODE_VERSION: 15.3.0 + plugins: + - artifacts#v1.9.3: + download: "Bugsnag.xcframework.zip" + upload: + - features/fixtures/ios/output/iOSTestAppXcFramework.ipa + # - features/fixtures/macos/output/macOSTestApp.zip + - features/fixtures/ios/output/xcframework_ipa_url_bb.txt + commands: + - unzip Bugsnag.xcframework.zip + - bundle install + - make xcframework-test-fixtures + - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframework_ipa_url_bb.txt + ############################################################################## # # E2E tests # + ############################################################################## + # + # XcFramework E2E tests + # + + - label: ':bitbar: iOS 16 XcFramework barebone E2E tests' + depends_on: + - xcframework_cocoa_fixture + timeout_in_minutes: 20 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/xcframework_ipa_url_bb.txt" + - "--farm=bb" + - "--device=IOS_16" + - "--no-tunnel" + - "--aws-public-ip" + - "features/release/barebone_tests.feature" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 13 XcFramework barebone E2E tests' + depends_on: + - xcframework_cocoa_fixture + timeout_in_minutes: 20 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/xcframework_ipa_url_bb.txt" + - "--farm=bb" + - "--device=IOS_13" + - "--no-tunnel" + - "--aws-public-ip" + - "features/release/barebone_tests.feature" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + # # BitBar # diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index f7ed648fa..bc14ddfbf 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -47,27 +47,6 @@ steps: - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestApp_Debug.ipa --app-id-file=./features/fixtures/ios/output/ipa_url_bb_debug.txt - bundle exec upload-app --farm=bs --app=./features/fixtures/ios/output/iOSTestApp_Debug.ipa --app-id-file=./features/fixtures/ios/output/ipa_url_bs_debug.txt - - label: Build XcFramework test fixtures - key: xcframework_cocoa_fixture - depends_on: framework_build - timeout_in_minutes: 30 - agents: - queue: macos-14 - env: - XCODE_VERSION: 15.3.0 - plugins: - - artifacts#v1.9.3: - download: "Bugsnag.xcframework.zip" - upload: - - features/fixtures/ios/output/iOSTestAppXcFramework.ipa - # - features/fixtures/macos/output/macOSTestApp.zip - - features/fixtures/ios/output/xcframework_ipa_url_bb.txt - commands: - - unzip Bugsnag.xcframework.zip - - bundle install - - make xcframework-test-fixtures - - bundle exec upload-app --farm=bb --app=./features/fixtures/ios/output/iOSTestAppXcFramework.ipa --app-id-file=./features/fixtures/ios/output/xcframework_ipa_url_bb.txt - - label: Carthage timeout_in_minutes: 15 agents: @@ -364,73 +343,6 @@ steps: --os=macos --fail-fast - ############################################################################## - # - # XcFramework E2E tests - # - - - label: ':bitbar: iOS 16 XcFramework E2E tests batch 1' - depends_on: - - xcframework_cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/xcframework_ipa_url_bb.txt" - - "--farm=bb" - - "--device=IOS_16" - - "--no-tunnel" - - "--aws-public-ip" - # PLAT-11155: App hang scenarios run on BrowserStack - - "features/release" - - "--exclude=features/release/app_hangs.feature" - - "--exclude=features/release/[e-z].*.feature$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':bitbar: iOS 16 XcFramework E2E tests batch 2' - depends_on: - - xcframework_cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/xcframework_ipa_url_bb.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/xcframework_ipa_url_bb.txt" - - "--farm=bb" - - "--device=IOS_16" - - "--no-tunnel" - - "--aws-public-ip" - - "features/release" - - "--exclude=features/release/[a-d].*.feature$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - ############################################################################## # # Full set of E2E tests on one iOS version From cc302b070b39cd9d59e8d57af6ef0c2c551e61fc Mon Sep 17 00:00:00 2001 From: Steve K-W Date: Mon, 29 Jul 2024 16:42:46 +0100 Subject: [PATCH 18/34] Revert MR changes --- Gemfile | 4 ++-- docker-compose.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 44e47f954..9034f842f 100644 --- a/Gemfile +++ b/Gemfile @@ -2,12 +2,12 @@ source 'https://rubygems.org' # A reference to Maze Runner is only needed for running tests locally and if committed it must be # portable for CI, e.g. a specific release. However, leaving it commented out would mean quicker CI. -# gem 'bugsnag-maze-runner', '~> 9.0' +gem 'bugsnag-maze-runner', '~> 9.0' gem 'cocoapods' gem 'xcpretty' # Use a specific branch -gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'tms/matches-steps' +#gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner', branch: 'master' # Locally, you can run against Maze Runner branches and uncommitted changes: #gem 'bugsnag-maze-runner', path: '../maze-runner' diff --git a/docker-compose.yml b/docker-compose.yml index 349a9ed20..392560c19 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ x-common-environment: &common-environment services: cocoa-maze-runner: - image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:tms-matches-steps-cli + image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli environment: <<: *common-environment BROWSER_STACK_USERNAME: @@ -33,7 +33,7 @@ services: - ./maze_output:/app/maze_output cocoa-maze-runner-bitbar: - image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner:tms-matches-steps-cli + image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli environment: <<: *common-environment BITBAR_USERNAME: From 0a87123a3b23dbf1b06e17f50848f15c4475792f Mon Sep 17 00:00:00 2001 From: Steve K-W Date: Tue, 30 Jul 2024 13:12:45 +0100 Subject: [PATCH 19/34] Don't follow symlinks [full ci] --- .buildkite/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index bc14ddfbf..44f79b765 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -18,7 +18,7 @@ steps: - make build_xcframework - make build_swift - make build_ios_static - - zip -r Bugsnag.xcframework.zip build/xcframeworks/products/Bugsnag.xcframework + - zip -ry Bugsnag.xcframework.zip build/xcframeworks/products/Bugsnag.xcframework plugins: - artifacts#v1.9.3: upload: "Bugsnag.xcframework.zip" From ab3135f0ffbe84ec3b9cda161a4b5ceb56b8c60d Mon Sep 17 00:00:00 2001 From: Steve K-W Date: Tue, 30 Jul 2024 14:07:37 +0100 Subject: [PATCH 20/34] Move usage check away from scope of XcFramework tests [full ci] --- features/release/barebone_tests.feature | 5 ----- features/release/delivery.feature | 8 ++++++++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/features/release/barebone_tests.feature b/features/release/barebone_tests.feature index 97c719cde..001c070a0 100644 --- a/features/release/barebone_tests.feature +++ b/features/release/barebone_tests.feature @@ -85,11 +85,6 @@ Feature: Barebone tests And the event "unhandled" is true And the event "usage.callbacks" is not null And the event "usage.config" is not null - # TODO -# And the event "usage.config.staticallyLinked" equals the platform-dependent boolean: -# | ios | true | -# | macos | @null | -# | watchos | @null | And the event "usage.system.stringCharsTruncated" equals 345 And the event "usage.system.stringsTruncated" equals 1 And the event "user.email" equals "foobar@example.com" diff --git a/features/release/delivery.feature b/features/release/delivery.feature index 3b75d6d00..c9d66ed7e 100644 --- a/features/release/delivery.feature +++ b/features/release/delivery.feature @@ -173,6 +173,10 @@ Feature: Delivery of errors And the event "metaData.error.type" equals "" And the event "unhandled" is true And the event "usage.config.attemptDeliveryOnCrash" is true + And the event "usage.config.staticallyLinked" equals the platform-dependent boolean: + | ios | true | + | macos | @null | + | watchos | @null | And I discard the oldest error And I relaunch the app after a crash And I configure Bugsnag for "AttemptDeliveryOnCrashScenario" @@ -197,6 +201,10 @@ Feature: Delivery of errors And the event "metaData.error.type" equals "" And the event "unhandled" is true And the event "usage.config.attemptDeliveryOnCrash" is true + And the event "usage.config.staticallyLinked" equals the platform-dependent boolean: + | ios | true | + | macos | @null | + | watchos | @null | And I discard the oldest error And I relaunch the app after a crash And I configure Bugsnag for "AttemptDeliveryOnCrashScenario" From 1057abdf0edf212aaabfc6f1fbfedad63720d7d6 Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Fri, 26 Jul 2024 13:47:27 +0100 Subject: [PATCH 21/34] Re-enable app-hang tests --- features/app_hangs.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/app_hangs.feature b/features/app_hangs.feature index 065b9816d..63ce93246 100644 --- a/features/app_hangs.feature +++ b/features/app_hangs.feature @@ -1,5 +1,5 @@ @app_hang_test -@skip # TODO: Investigate app hang flakes + Feature: App hangs Background: From 8eb70fb6eaa65aeb730859323e0bf527ed5273e0 Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Mon, 5 Aug 2024 16:15:12 +0100 Subject: [PATCH 22/34] Disable failing app-hang iOS 13 tests --- .buildkite/pipeline.full.yml | 57 +++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 3bf0e8b31..60b8b71c3 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -430,33 +430,36 @@ steps: limit: 2 # PLAT-11155: App hang tests run on BrowserStack (Appium 1.x) for now - - label: ':browserstack: iOS 13 app hang tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 30 - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: "features/fixtures/ios/output/ipa_url_bs_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v3.7.0: - pull: cocoa-maze-runner - run: cocoa-maze-runner - command: - - "--app=@build/ipa_url_bs_release.txt" - - "--farm=bs" - - "--device=IOS_13" - - "--appium-version=1.21.0" - - "--fail-fast" - - "features/app_hangs.feature" - concurrency: 5 - concurrency_group: 'browserstack-app' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 + # + # PLAT-12554: Currently being skipped due to issues with app-hang test on iOS 13 + # + # - label: ':browserstack: iOS 13 app hang tests' + # depends_on: + # - cocoa_fixture + # timeout_in_minutes: 30 + # agents: + # queue: opensource + # plugins: + # artifacts#v1.5.0: + # download: "features/fixtures/ios/output/ipa_url_bs_release.txt" + # upload: "maze_output/failed/**/*" + # docker-compose#v3.7.0: + # pull: cocoa-maze-runner + # run: cocoa-maze-runner + # command: + # - "--app=@build/ipa_url_bs_release.txt" + # - "--farm=bs" + # - "--device=IOS_13" + # - "--appium-version=1.21.0" + # - "--fail-fast" + # - "features/app_hangs.feature" + # concurrency: 5 + # concurrency_group: 'browserstack-app' + # concurrency_method: eager + # retry: + # automatic: + # - exit_status: -1 # Agent was lost + # limit: 2 - label: 'ARM macOS 13 E2E tests' depends_on: From e41db63524ddc5fef023fd3adb5d7f101bb1698e Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Tue, 6 Aug 2024 16:51:38 +0100 Subject: [PATCH 23/34] Add other downstream repos for automatic updates (#1673) --- .github/workflows/downstream_updates.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/downstream_updates.yml b/.github/workflows/downstream_updates.yml index 782372e2a..ba8794a0f 100644 --- a/.github/workflows/downstream_updates.yml +++ b/.github/workflows/downstream_updates.yml @@ -17,7 +17,7 @@ jobs: RELEASE_VERSION: ${{ github.event_name == 'workflow_dispatch' && inputs.target_version || github.event.release.tag_name }} strategy: matrix: - downstream_repo: ['bugsnag/bugsnag-unity', 'bugsnag/bugsnag-flutter'] + downstream_repo: ['bugsnag/bugsnag-unity', 'bugsnag/bugsnag-flutter', 'bugsnag/bugsnag-js', 'bugsnag/bugsnag-unreal'] steps: - name: Install libcurl4-openssl-dev and net-tools run: | From 7b328eda106d9fec727767d9b427a58f6a29102a Mon Sep 17 00:00:00 2001 From: Karl Stenerud Date: Thu, 15 Aug 2024 12:47:33 +0200 Subject: [PATCH 24/34] Remove call to os_proc_available_memory() on Mac Catalyst due to missing API implementation on earlier Catalyst version --- Bugsnag/Helpers/BSGRunContext.m | 6 ++++-- CHANGELOG.md | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Bugsnag/Helpers/BSGRunContext.m b/Bugsnag/Helpers/BSGRunContext.m index 9b6411ae5..0ee3f7b94 100644 --- a/Bugsnag/Helpers/BSGRunContext.m +++ b/Bugsnag/Helpers/BSGRunContext.m @@ -460,8 +460,10 @@ static void UpdateTaskMemory(void) { if (task_vm.limit_bytes_remaining) { setMemoryUsage(footprint, task_vm.limit_bytes_remaining); } else { -#if !TARGET_OS_OSX - if (@available(iOS 13.0, tvOS 13.0, watchOS 6.0, macCatalyst 13.1, *)) { +#if !TARGET_OS_OSX && !TARGET_OS_MACCATALYST + // We disable access to os_proc_available_memory() entirely on Catalyst + // because earlier versions are missing the API, causing linker errors on launch. + if (@available(iOS 13.0, tvOS 13.0, watchOS 6.0, *)) { setMemoryUsage(footprint, os_proc_available_memory()); } #endif diff --git a/CHANGELOG.md b/CHANGELOG.md index 28471f98c..88ac54e83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========= +## TBD + +### Bug Fixes + +* Disable calls to os_proc_available_memory() on Catalyst due to missing API in earlier versions. + [1689](https://github.com/bugsnag/bugsnag-cocoa/pull/1689) + ## 6.30.1 (2024-07-25) ### Bug Fixes From d344ad8d6ce3df8eb8c971710e8998531ec72d43 Mon Sep 17 00:00:00 2001 From: Karl Stenerud Date: Thu, 5 Sep 2024 12:38:15 +0200 Subject: [PATCH 25/34] Use direct project references instead of cocoapods for the macos fixture --- features/fixtures/macos/Podfile | 23 ----- .../macOSTestApp.xcodeproj/project.pbxproj | 85 ++++--------------- .../contents.xcworkspacedata | 7 +- features/scripts/export_mac_app.sh | 4 - features/support/env.rb | 1 - 5 files changed, 23 insertions(+), 97 deletions(-) delete mode 100644 features/fixtures/macos/Podfile diff --git a/features/fixtures/macos/Podfile b/features/fixtures/macos/Podfile deleted file mode 100644 index eeecb8da9..000000000 --- a/features/fixtures/macos/Podfile +++ /dev/null @@ -1,23 +0,0 @@ -target 'macOSTestApp' do - platform :osx, '10.11' - use_frameworks! - pod 'Bugsnag', path: '../../..' - pod 'BugsnagNetworkRequestPlugin', path: '../../..' -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - if target.name == "Bugsnag" - target.build_configurations.each do |config| - config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'BSG_LOG_LEVEL=BSG_LOGLEVEL_DEBUG BSG_KSLOG_ENABLED=1'] - config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'YES' - - # Include all our build warning settings without needing to duplicate them here - xcconfig = "Pods/Target Support Files/#{target.name}/#{target.name}.#{config.name.downcase}.xcconfig" - File.open(xcconfig, 'a') do |file| - file << '#include "../../../../../../Bugsnag.xcconfig"' - end - end - end - end -end diff --git a/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj b/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj index f67ad192c..69aa80d41 100644 --- a/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj +++ b/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj @@ -184,6 +184,10 @@ 01FA9EC626D64FFF0059FF4A /* AppHangInTerminationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FA9EC526D64FFF0059FF4A /* AppHangInTerminationScenario.swift */; }; 095E095F2AF3C98F00273F1F /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 095E095E2AF3C98F00273F1F /* Logging.swift */; }; 095E09622AF3C9A500273F1F /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 095E09612AF3C9A500273F1F /* Logging.m */; }; + 09E045582C89A334003882D3 /* Bugsnag.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09E045572C89A334003882D3 /* Bugsnag.framework */; }; + 09E045592C89A334003882D3 /* Bugsnag.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 09E045572C89A334003882D3 /* Bugsnag.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 09E0455C2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */; }; + 09E0455D2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 09F0250E2BA301FD007D9F73 /* FixtureConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250C2BA301FD007D9F73 /* FixtureConfig.swift */; }; 09F0250F2BA301FD007D9F73 /* Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250D2BA301FD007D9F73 /* Fixture.swift */; }; 09F025112BA30225007D9F73 /* MazeRunnerCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F025102BA30225007D9F73 /* MazeRunnerCommand.swift */; }; @@ -196,16 +200,17 @@ AA6ACD1E2773E39C006464C4 /* UserInfoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = AA6ACD1D2773E39C006464C4 /* UserInfoScenario.swift */; }; CB0AE1F3287DBA380079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB0AE1F2287DBA380079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift */; }; CBB7878E2578FB3F0071BDE4 /* MarkUnhandledHandledScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = CBB7878C2578FB3F0071BDE4 /* MarkUnhandledHandledScenario.m */; }; - FECF3DC11A84CDC5FD442710 /* Pods_macOSTestApp.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C65BFC9838298CFA8A35072 /* Pods_macOSTestApp.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 01452356254AFD7C00D436AA /* Embed Frameworks */ = { + 09E0455A2C89A334003882D3 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( + 09E0455D2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework in Embed Frameworks */, + 09E045592C89A334003882D3 /* Bugsnag.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -397,12 +402,14 @@ 095E095E2AF3C98F00273F1F /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 095E09602AF3C9A500273F1F /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; 095E09612AF3C9A500273F1F /* Logging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; + 09E045512C89A228003882D3 /* Bugsnag.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Bugsnag.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 09E045542C89A230003882D3 /* BugsnagNetworkRequestPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BugsnagNetworkRequestPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 09E045572C89A334003882D3 /* Bugsnag.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Bugsnag.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BugsnagNetworkRequestPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 09F0250C2BA301FD007D9F73 /* FixtureConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FixtureConfig.swift; sourceTree = ""; }; 09F0250D2BA301FD007D9F73 /* Fixture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fixture.swift; sourceTree = ""; }; 09F025102BA30225007D9F73 /* MazeRunnerCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MazeRunnerCommand.swift; sourceTree = ""; }; 09F025122BA30240007D9F73 /* CommandReaderThread.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandReaderThread.swift; sourceTree = ""; }; - 2C49722B331FF4B0DC477462 /* Pods-macOSTestApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-macOSTestApp.release.xcconfig"; path = "Target Support Files/Pods-macOSTestApp/Pods-macOSTestApp.release.xcconfig"; sourceTree = ""; }; - 5C65BFC9838298CFA8A35072 /* Pods_macOSTestApp.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_macOSTestApp.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8A096DF727C7E63A00DB6ECC /* CxxUnexpectedScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxUnexpectedScenario.mm; sourceTree = ""; }; 8A096DF927C7E6D800DB6ECC /* CxxBareThrowScenario.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxBareThrowScenario.mm; sourceTree = ""; }; 967F6F1529B767CE0054EED8 /* InternalWorkingsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InternalWorkingsScenario.swift; sourceTree = ""; }; @@ -412,7 +419,6 @@ CB0AE1F2287DBA380079B28E /* OnSendErrorCallbackFeatureFlagsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnSendErrorCallbackFeatureFlagsScenario.swift; sourceTree = ""; }; CBB7878C2578FB3F0071BDE4 /* MarkUnhandledHandledScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MarkUnhandledHandledScenario.m; sourceTree = ""; }; CBB7878D2578FB3F0071BDE4 /* MarkUnhandledHandledScenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MarkUnhandledHandledScenario.h; sourceTree = ""; }; - E32FA33AF8114150BBC3AEF4 /* Pods-macOSTestApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-macOSTestApp.debug.xcconfig"; path = "Target Support Files/Pods-macOSTestApp/Pods-macOSTestApp.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -420,7 +426,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FECF3DC11A84CDC5FD442710 /* Pods_macOSTestApp.framework in Frameworks */, + 09E0455C2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework in Frameworks */, + 09E045582C89A334003882D3 /* Bugsnag.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -617,7 +624,10 @@ 01452352254AFD7C00D436AA /* Frameworks */ = { isa = PBXGroup; children = ( - 5C65BFC9838298CFA8A35072 /* Pods_macOSTestApp.framework */, + 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */, + 09E045572C89A334003882D3 /* Bugsnag.framework */, + 09E045542C89A230003882D3 /* BugsnagNetworkRequestPlugin.framework */, + 09E045512C89A228003882D3 /* Bugsnag.framework */, ); name = Frameworks; sourceTree = ""; @@ -630,7 +640,6 @@ 01452234254AFCD600D436AA /* scenarios */, 0176C0A9254AE81B0066E0F3 /* Products */, 01452352254AFD7C00D436AA /* Frameworks */, - 7F1338EF880258961EDBFE91 /* Pods */, ); sourceTree = ""; }; @@ -658,15 +667,6 @@ path = macOSTestApp; sourceTree = ""; }; - 7F1338EF880258961EDBFE91 /* Pods */ = { - isa = PBXGroup; - children = ( - E32FA33AF8114150BBC3AEF4 /* Pods-macOSTestApp.debug.xcconfig */, - 2C49722B331FF4B0DC477462 /* Pods-macOSTestApp.release.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; AA4C7F1629AEA1F2009B09A9 /* utils */ = { isa = PBXGroup; children = ( @@ -690,12 +690,10 @@ isa = PBXNativeTarget; buildConfigurationList = 0176C0C5254AE81B0066E0F3 /* Build configuration list for PBXNativeTarget "macOSTestApp" */; buildPhases = ( - 9FBDACA0F6A1E3220B57DED3 /* [CP] Check Pods Manifest.lock */, 0176C0A4254AE81B0066E0F3 /* Sources */, 0176C0A5254AE81B0066E0F3 /* Frameworks */, 0176C0A6254AE81B0066E0F3 /* Resources */, - 01452356254AFD7C00D436AA /* Embed Frameworks */, - 9B046CE9C00053AC2F9C5463 /* [CP] Embed Pods Frameworks */, + 09E0455A2C89A334003882D3 /* Embed Frameworks */, ); buildRules = ( ); @@ -752,51 +750,6 @@ }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 9B046CE9C00053AC2F9C5463 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-macOSTestApp/Pods-macOSTestApp-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Bugsnag/Bugsnag.framework", - "${BUILT_PRODUCTS_DIR}/BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPlugin.framework", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Bugsnag.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/BugsnagNetworkRequestPlugin.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-macOSTestApp/Pods-macOSTestApp-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9FBDACA0F6A1E3220B57DED3 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-macOSTestApp-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 0176C0A4254AE81B0066E0F3 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -1117,7 +1070,6 @@ }; 0176C0C6254AE81B0066E0F3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E32FA33AF8114150BBC3AEF4 /* Pods-macOSTestApp.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -1143,7 +1095,6 @@ }; 0176C0C7254AE81B0066E0F3 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2C49722B331FF4B0DC477462 /* Pods-macOSTestApp.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; diff --git a/features/fixtures/macos/macOSTestApp.xcworkspace/contents.xcworkspacedata b/features/fixtures/macos/macOSTestApp.xcworkspace/contents.xcworkspacedata index 7ecf56db1..ad81686f8 100644 --- a/features/fixtures/macos/macOSTestApp.xcworkspace/contents.xcworkspacedata +++ b/features/fixtures/macos/macOSTestApp.xcworkspace/contents.xcworkspacedata @@ -2,9 +2,12 @@ + location = "group:../../../BugsnagNetworkRequestPlugin/BugsnagNetworkRequestPlugin.xcodeproj"> + + + location = "group:macOSTestApp.xcodeproj"> diff --git a/features/scripts/export_mac_app.sh b/features/scripts/export_mac_app.sh index 91a05c2fc..f594a106b 100755 --- a/features/scripts/export_mac_app.sh +++ b/features/scripts/export_mac_app.sh @@ -12,10 +12,6 @@ BUILD_CONFIGURATION=$1 pushd features/fixtures/macos - echo "--- macOSTestApp: pod install" - - pod install - echo "--- macOSTestApp: xcodebuild archive" BUILD_ARGS=( diff --git a/features/support/env.rb b/features/support/env.rb index 1fe0f7282..4697613bc 100644 --- a/features/support/env.rb +++ b/features/support/env.rb @@ -155,7 +155,6 @@ def skip_between(os, version_lo, version_hi) out: File.open(File.join(path, 'device.log'), 'w') ) Process.wait log - FileUtils.mv '/tmp/kscrash.log', path end when 'ios' begin From f2fe73bcf49909b57d3cff96984793a662e1dc8a Mon Sep 17 00:00:00 2001 From: Karl Stenerud Date: Thu, 26 Sep 2024 13:29:48 +0200 Subject: [PATCH 26/34] Replace FixtureConfig with an Objective-C version so that it will be easier to split things out in a later PR without causing objc-swift issues. --- .../ios/iOSTestApp.xcodeproj/project.pbxproj | 18 ++++++---- .../project.pbxproj | 18 ++++++---- .../macOSTestApp.xcodeproj/project.pbxproj | 18 ++++++---- features/fixtures/shared/Bridge_InternalAPI.h | 10 ++++++ features/fixtures/shared/Bridge_PublicAPI.h | 9 +++++ .../CustomPluginNotifierDescriptionScenario.m | 1 + features/fixtures/shared/scenarios/Scenario.h | 4 +-- .../fixtures/shared/utils/FixtureConfig.h | 31 +++++++++++++++++ .../fixtures/shared/utils/FixtureConfig.m | 28 ++++++++++++++++ .../fixtures/shared/utils/FixtureConfig.swift | 33 ------------------- .../watchOSTestApp.xcodeproj/project.pbxproj | 6 ++++ 11 files changed, 122 insertions(+), 54 deletions(-) create mode 100644 features/fixtures/shared/Bridge_InternalAPI.h create mode 100644 features/fixtures/shared/Bridge_PublicAPI.h create mode 100644 features/fixtures/shared/utils/FixtureConfig.h create mode 100644 features/fixtures/shared/utils/FixtureConfig.m delete mode 100644 features/fixtures/shared/utils/FixtureConfig.swift diff --git a/features/fixtures/ios/iOSTestApp.xcodeproj/project.pbxproj b/features/fixtures/ios/iOSTestApp.xcodeproj/project.pbxproj index ff74fb394..296d00be4 100644 --- a/features/fixtures/ios/iOSTestApp.xcodeproj/project.pbxproj +++ b/features/fixtures/ios/iOSTestApp.xcodeproj/project.pbxproj @@ -86,11 +86,11 @@ 01F6B75E2832757F00B75C5D /* OversizedCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */; }; 01F6B75F2832757F00B75C5D /* OversizedHandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */; }; 01FA9EC426D63BB20059FF4A /* AppHangInTerminationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */; }; + 0915E1032CA57A44006B1815 /* FixtureConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1012CA57A44006B1815 /* FixtureConfig.m */; }; 095E095A2AF3BE8D00273F1F /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 095E09592AF3BE8D00273F1F /* Logging.swift */; }; 095E095D2AF3BFDA00273F1F /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 095E095C2AF3BFDA00273F1F /* Logging.m */; }; 09F024FA2B9F3ACD007D9F73 /* Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F024F92B9F3ACD007D9F73 /* Fixture.swift */; }; 09F024FC2B9F3B16007D9F73 /* MazeRunnerCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */; }; - 09F0250B2BA1E640007D9F73 /* FixtureConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */; }; 09F025172BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */; }; 6526A0D4248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */; }; 8A096DF627C7E56C00DB6ECC /* CxxUnexpectedScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */; }; @@ -289,12 +289,15 @@ 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedCrashReportScenario.swift; sourceTree = ""; }; 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedHandledErrorScenario.swift; sourceTree = ""; }; 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangInTerminationScenario.swift; sourceTree = ""; }; + 0915E0FF2CA57A34006B1815 /* Bridge_PublicAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_PublicAPI.h; path = ../Bridge_PublicAPI.h; sourceTree = ""; }; + 0915E1002CA57A34006B1815 /* Bridge_InternalAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_InternalAPI.h; path = ../Bridge_InternalAPI.h; sourceTree = ""; }; + 0915E1012CA57A44006B1815 /* FixtureConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FixtureConfig.m; sourceTree = ""; }; + 0915E1022CA57A44006B1815 /* FixtureConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixtureConfig.h; sourceTree = ""; }; 095E09592AF3BE8D00273F1F /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 095E095B2AF3BFDA00273F1F /* Logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; 095E095C2AF3BFDA00273F1F /* Logging.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; 09F024F92B9F3ACD007D9F73 /* Fixture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fixture.swift; sourceTree = ""; }; 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MazeRunnerCommand.swift; sourceTree = ""; }; - 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FixtureConfig.swift; sourceTree = ""; }; 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DelayedNotifyErrorScenario.swift; sourceTree = ""; }; 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadConfigFromFileAutoScenario.swift; sourceTree = ""; }; 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxUnexpectedScenario.mm; sourceTree = ""; }; @@ -465,10 +468,13 @@ AA4C7F1329AEA060009B09A9 /* utils */ = { isa = PBXGroup; children = ( + 0915E1002CA57A34006B1815 /* Bridge_InternalAPI.h */, + 0915E0FF2CA57A34006B1815 /* Bridge_PublicAPI.h */, AA4C7F1429AEA0C4009B09A9 /* BugsnagWrapper.swift */, AA8BAEE22A4DD90E00A8BEA7 /* CommandReaderThread.swift */, 09F024F92B9F3ACD007D9F73 /* Fixture.swift */, - 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */, + 0915E1022CA57A44006B1815 /* FixtureConfig.h */, + 0915E1012CA57A44006B1815 /* FixtureConfig.m */, 095E095B2AF3BFDA00273F1F /* Logging.h */, 095E095C2AF3BFDA00273F1F /* Logging.m */, 095E09592AF3BE8D00273F1F /* Logging.swift */, @@ -879,6 +885,7 @@ E7A324EA247E9DA5008B0052 /* BreadcrumbCallbackOverrideScenario.swift in Sources */, F42955DB6D08642528917FAB /* CxxExceptionScenario.mm in Sources */, 017B4134276B8D9B0054C91D /* OnSendErrorPersistenceScenario.m in Sources */, + 0915E1032CA57A44006B1815 /* FixtureConfig.m in Sources */, 018F9B6528E57DBE00EAA02F /* AttemptDeliveryOnCrashScenario.swift in Sources */, 010BAB2D2833D0F20003FF36 /* DiscardClassesUnhandledExceptionScenario.swift in Sources */, 8A3B5F2B240807EE00CE4A3A /* ModifyBreadcrumbInNotifyScenario.swift in Sources */, @@ -903,7 +910,6 @@ A1117E552535A59100014FDA /* OOMLoadScenario.swift in Sources */, 8A840FBA21AF5C450041DBFA /* SwiftAssertionScenario.swift in Sources */, E753F24824927412001FB671 /* OnSendErrorCallbackCrashScenario.swift in Sources */, - 09F0250B2BA1E640007D9F73 /* FixtureConfig.swift in Sources */, 01847DD626453D4E00ADA4C7 /* InvalidCrashReportScenario.m in Sources */, 001E5502243B8FDA0009E31D /* AutoCaptureRunScenario.m in Sources */, 0104085F258CA0A100933C60 /* DispatchCrashScenario.swift in Sources */, @@ -1137,7 +1143,7 @@ STRIP_STYLE = all; STRIP_SWIFT_SYMBOLS = NO; SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_InternalAPI.h; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; SWIFT_VERSION = 4.2; @@ -1180,7 +1186,7 @@ STRIP_STYLE = all; STRIP_SWIFT_SYMBOLS = NO; SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_InternalAPI.h; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; SWIFT_VERSION = 4.2; diff --git a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj index ad2cb567a..00c0caf67 100644 --- a/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj +++ b/features/fixtures/ios/iOSTestAppXcFramework.xcodeproj/project.pbxproj @@ -85,11 +85,11 @@ 01F6B75E2832757F00B75C5D /* OversizedCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */; }; 01F6B75F2832757F00B75C5D /* OversizedHandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */; }; 01FA9EC426D63BB20059FF4A /* AppHangInTerminationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */; }; + 0915E1062CA57ABA006B1815 /* FixtureConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1042CA57ABA006B1815 /* FixtureConfig.m */; }; 095E095A2AF3BE8D00273F1F /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 095E09592AF3BE8D00273F1F /* Logging.swift */; }; 095E095D2AF3BFDA00273F1F /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 095E095C2AF3BFDA00273F1F /* Logging.m */; }; 09F024FA2B9F3ACD007D9F73 /* Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F024F92B9F3ACD007D9F73 /* Fixture.swift */; }; 09F024FC2B9F3B16007D9F73 /* MazeRunnerCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */; }; - 09F0250B2BA1E640007D9F73 /* FixtureConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */; }; 09F025172BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */; }; 6526A0D4248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */; }; 8A096DF627C7E56C00DB6ECC /* CxxUnexpectedScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */; }; @@ -304,12 +304,15 @@ 01F6B75C2832757F00B75C5D /* OversizedCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedCrashReportScenario.swift; sourceTree = ""; }; 01F6B75D2832757F00B75C5D /* OversizedHandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedHandledErrorScenario.swift; sourceTree = ""; }; 01FA9EC326D63BB20059FF4A /* AppHangInTerminationScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppHangInTerminationScenario.swift; sourceTree = ""; }; + 0915E1042CA57ABA006B1815 /* FixtureConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FixtureConfig.m; sourceTree = ""; }; + 0915E1052CA57ABA006B1815 /* FixtureConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixtureConfig.h; sourceTree = ""; }; + 0915E1072CA57AC3006B1815 /* Bridge_PublicAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_PublicAPI.h; path = ../Bridge_PublicAPI.h; sourceTree = ""; }; + 0915E1082CA57AC3006B1815 /* Bridge_InternalAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_InternalAPI.h; path = ../Bridge_InternalAPI.h; sourceTree = ""; }; 095E09592AF3BE8D00273F1F /* Logging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 095E095B2AF3BFDA00273F1F /* Logging.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; 095E095C2AF3BFDA00273F1F /* Logging.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; 09F024F92B9F3ACD007D9F73 /* Fixture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Fixture.swift; sourceTree = ""; }; 09F024FB2B9F3B16007D9F73 /* MazeRunnerCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MazeRunnerCommand.swift; sourceTree = ""; }; - 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FixtureConfig.swift; sourceTree = ""; }; 09F025162BAD7B04007D9F73 /* DelayedNotifyErrorScenario.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DelayedNotifyErrorScenario.swift; sourceTree = ""; }; 6526A0D3248A83350002E2C9 /* LoadConfigFromFileAutoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoadConfigFromFileAutoScenario.swift; sourceTree = ""; }; 8A096DF527C7E56C00DB6ECC /* CxxUnexpectedScenario.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CxxUnexpectedScenario.mm; sourceTree = ""; }; @@ -481,10 +484,13 @@ AA4C7F1329AEA060009B09A9 /* utils */ = { isa = PBXGroup; children = ( + 0915E1082CA57AC3006B1815 /* Bridge_InternalAPI.h */, + 0915E1072CA57AC3006B1815 /* Bridge_PublicAPI.h */, AA4C7F1429AEA0C4009B09A9 /* BugsnagWrapper.swift */, AA8BAEE22A4DD90E00A8BEA7 /* CommandReaderThread.swift */, 09F024F92B9F3ACD007D9F73 /* Fixture.swift */, - 09F0250A2BA1E640007D9F73 /* FixtureConfig.swift */, + 0915E1052CA57ABA006B1815 /* FixtureConfig.h */, + 0915E1042CA57ABA006B1815 /* FixtureConfig.m */, 095E095B2AF3BFDA00273F1F /* Logging.h */, 095E095C2AF3BFDA00273F1F /* Logging.m */, 095E09592AF3BE8D00273F1F /* Logging.swift */, @@ -883,6 +889,7 @@ 010BAB0B2833CE570003FF36 /* CxxExceptionOverrideScenario.mm in Sources */, 01DE903826CE99B800455213 /* CriticalThermalStateScenario.swift in Sources */, 01B6BBB625DA82B800FC4DE6 /* SendLaunchCrashesSynchronouslyScenario.swift in Sources */, + 0915E1062CA57ABA006B1815 /* FixtureConfig.m in Sources */, 095E095D2AF3BFDA00273F1F /* Logging.m in Sources */, F4295836C8AF75547C675E8D /* ReleasedObjectScenario.m in Sources */, 01E5EAD225B713990066EA8A /* OOMScenario.m in Sources */, @@ -921,7 +928,6 @@ A1117E552535A59100014FDA /* OOMLoadScenario.swift in Sources */, 8A840FBA21AF5C450041DBFA /* SwiftAssertionScenario.swift in Sources */, E753F24824927412001FB671 /* OnSendErrorCallbackCrashScenario.swift in Sources */, - 09F0250B2BA1E640007D9F73 /* FixtureConfig.swift in Sources */, 01847DD626453D4E00ADA4C7 /* InvalidCrashReportScenario.m in Sources */, 001E5502243B8FDA0009E31D /* AutoCaptureRunScenario.m in Sources */, 0104085F258CA0A100933C60 /* DispatchCrashScenario.swift in Sources */, @@ -1159,7 +1165,7 @@ STRIP_STYLE = all; STRIP_SWIFT_SYMBOLS = NO; SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_InternalAPI.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "iOSTestApp-Swift.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; @@ -1206,7 +1212,7 @@ STRIP_STYLE = all; STRIP_SWIFT_SYMBOLS = NO; SWIFT_INSTALL_OBJC_HEADER = YES; - SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_InternalAPI.h; SWIFT_OBJC_INTERFACE_HEADER_NAME = "iOSTestApp-Swift.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; diff --git a/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj b/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj index 69aa80d41..e6a297aef 100644 --- a/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj +++ b/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj @@ -182,13 +182,13 @@ 01F6B74F2832381300B75C5D /* OversizedCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F6B74B2832381300B75C5D /* OversizedCrashReportScenario.swift */; }; 01F7365A278D90440000113C /* NetworkBreadcrumbsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01F73659278D90440000113C /* NetworkBreadcrumbsScenario.swift */; }; 01FA9EC626D64FFF0059FF4A /* AppHangInTerminationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01FA9EC526D64FFF0059FF4A /* AppHangInTerminationScenario.swift */; }; + 0915E0FA2CA57647006B1815 /* FixtureConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E0F92CA57647006B1815 /* FixtureConfig.m */; }; 095E095F2AF3C98F00273F1F /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 095E095E2AF3C98F00273F1F /* Logging.swift */; }; 095E09622AF3C9A500273F1F /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 095E09612AF3C9A500273F1F /* Logging.m */; }; 09E045582C89A334003882D3 /* Bugsnag.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09E045572C89A334003882D3 /* Bugsnag.framework */; }; 09E045592C89A334003882D3 /* Bugsnag.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 09E045572C89A334003882D3 /* Bugsnag.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 09E0455C2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */; }; 09E0455D2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 09F0250E2BA301FD007D9F73 /* FixtureConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250C2BA301FD007D9F73 /* FixtureConfig.swift */; }; 09F0250F2BA301FD007D9F73 /* Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F0250D2BA301FD007D9F73 /* Fixture.swift */; }; 09F025112BA30225007D9F73 /* MazeRunnerCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F025102BA30225007D9F73 /* MazeRunnerCommand.swift */; }; 09F025132BA30240007D9F73 /* CommandReaderThread.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09F025122BA30240007D9F73 /* CommandReaderThread.swift */; }; @@ -399,6 +399,10 @@ 01F6B74B2832381300B75C5D /* OversizedCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OversizedCrashReportScenario.swift; sourceTree = ""; }; 01F73659278D90440000113C /* NetworkBreadcrumbsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkBreadcrumbsScenario.swift; sourceTree = ""; }; 01FA9EC526D64FFF0059FF4A /* AppHangInTerminationScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppHangInTerminationScenario.swift; sourceTree = ""; }; + 0915E0F82CA57647006B1815 /* FixtureConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FixtureConfig.h; sourceTree = ""; }; + 0915E0F92CA57647006B1815 /* FixtureConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FixtureConfig.m; sourceTree = ""; }; + 0915E0FD2CA57849006B1815 /* Bridge_InternalAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_InternalAPI.h; path = ../Bridge_InternalAPI.h; sourceTree = ""; }; + 0915E0FE2CA5785A006B1815 /* Bridge_PublicAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_PublicAPI.h; path = ../Bridge_PublicAPI.h; sourceTree = ""; }; 095E095E2AF3C98F00273F1F /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 095E09602AF3C9A500273F1F /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; 095E09612AF3C9A500273F1F /* Logging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; @@ -406,7 +410,6 @@ 09E045542C89A230003882D3 /* BugsnagNetworkRequestPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BugsnagNetworkRequestPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 09E045572C89A334003882D3 /* Bugsnag.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Bugsnag.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 09E0455B2C89A33B003882D3 /* BugsnagNetworkRequestPlugin.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = BugsnagNetworkRequestPlugin.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 09F0250C2BA301FD007D9F73 /* FixtureConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FixtureConfig.swift; sourceTree = ""; }; 09F0250D2BA301FD007D9F73 /* Fixture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fixture.swift; sourceTree = ""; }; 09F025102BA30225007D9F73 /* MazeRunnerCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MazeRunnerCommand.swift; sourceTree = ""; }; 09F025122BA30240007D9F73 /* CommandReaderThread.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandReaderThread.swift; sourceTree = ""; }; @@ -670,10 +673,13 @@ AA4C7F1629AEA1F2009B09A9 /* utils */ = { isa = PBXGroup; children = ( + 0915E0FD2CA57849006B1815 /* Bridge_InternalAPI.h */, + 0915E0FE2CA5785A006B1815 /* Bridge_PublicAPI.h */, AA4C7F1729AEA31D009B09A9 /* BugsnagWrapper.swift */, 09F025122BA30240007D9F73 /* CommandReaderThread.swift */, 09F0250D2BA301FD007D9F73 /* Fixture.swift */, - 09F0250C2BA301FD007D9F73 /* FixtureConfig.swift */, + 0915E0F82CA57647006B1815 /* FixtureConfig.h */, + 0915E0F92CA57647006B1815 /* FixtureConfig.m */, 095E09602AF3C9A500273F1F /* Logging.h */, 095E09612AF3C9A500273F1F /* Logging.m */, 095E095E2AF3C98F00273F1F /* Logging.swift */, @@ -767,7 +773,6 @@ 01F47D31254B1B3100B184AD /* OverwriteLinkRegisterScenario.m in Sources */, 01F47D08254B1B3100B184AD /* AutoSessionCustomVersionScenario.m in Sources */, 01F47CC6254B1B3100B184AD /* HandledExceptionScenario.swift in Sources */, - 09F0250E2BA301FD007D9F73 /* FixtureConfig.swift in Sources */, 01F47D0D254B1B3100B184AD /* LoadConfigFromFileScenario.swift in Sources */, 095E09622AF3C9A500273F1F /* Logging.m in Sources */, 01F47CF5254B1B3100B184AD /* StoppedSessionScenario.swift in Sources */, @@ -820,6 +825,7 @@ 01F47CD3254B1B3100B184AD /* EnabledBreadcrumbTypesIsNilScenario.swift in Sources */, 01F47CC4254B1B3100B184AD /* OriginalErrorNSExceptionScenario.swift in Sources */, 01F47D0C254B1B3100B184AD /* UserEventOverrideScenario.swift in Sources */, + 0915E0FA2CA57647006B1815 /* FixtureConfig.m in Sources */, 01F47CD6254B1B3100B184AD /* SIGILLScenario.m in Sources */, 01F47D32254B1B3100B184AD /* ResumeSessionOOMScenario.m in Sources */, 010BAB722833D34A0003FF36 /* BareboneTestHandledScenario.swift in Sources */, @@ -1087,7 +1093,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_InternalAPI.h; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.2; }; @@ -1112,7 +1118,7 @@ PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; STRIP_SWIFT_SYMBOLS = NO; - SWIFT_OBJC_BRIDGING_HEADER = ../shared/scenarios/Scenario.h; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_InternalAPI.h; SWIFT_VERSION = 4.2; }; name = Release; diff --git a/features/fixtures/shared/Bridge_InternalAPI.h b/features/fixtures/shared/Bridge_InternalAPI.h new file mode 100644 index 000000000..0b4945419 --- /dev/null +++ b/features/fixtures/shared/Bridge_InternalAPI.h @@ -0,0 +1,10 @@ +// +// Bridge_InternalAPI.h +// macOSTestApp +// +// Created by Karl Stenerud on 26.09.24. +// Copyright © 2024 Bugsnag Inc. All rights reserved. +// + +#import "Bridge_PublicAPI.h" +#import "BugsnagInternals.h" diff --git a/features/fixtures/shared/Bridge_PublicAPI.h b/features/fixtures/shared/Bridge_PublicAPI.h new file mode 100644 index 000000000..7783b826d --- /dev/null +++ b/features/fixtures/shared/Bridge_PublicAPI.h @@ -0,0 +1,9 @@ +// +// Bridge_PublicAPI.h +// macOSTestApp +// +// Created by Karl Stenerud on 26.09.24. +// Copyright © 2024 Bugsnag Inc. All rights reserved. +// + +#import "Scenario.h" diff --git a/features/fixtures/shared/scenarios/CustomPluginNotifierDescriptionScenario.m b/features/fixtures/shared/scenarios/CustomPluginNotifierDescriptionScenario.m index a859006e0..0330670b8 100644 --- a/features/fixtures/shared/scenarios/CustomPluginNotifierDescriptionScenario.m +++ b/features/fixtures/shared/scenarios/CustomPluginNotifierDescriptionScenario.m @@ -1,5 +1,6 @@ #import "Scenario.h" #import "Logging.h" +#import "Bridge_InternalAPI.h" @interface CustomPluginNotifierDescriptionScenario : Scenario @end diff --git a/features/fixtures/shared/scenarios/Scenario.h b/features/fixtures/shared/scenarios/Scenario.h index 5045fd21e..ddbc6053e 100644 --- a/features/fixtures/shared/scenarios/Scenario.h +++ b/features/fixtures/shared/scenarios/Scenario.h @@ -5,7 +5,7 @@ #import #import -#import "BugsnagInternals.h" +#import "FixtureConfig.h" NS_ASSUME_NONNULL_BEGIN @@ -13,8 +13,6 @@ void logInternal(const char* level, NSString *format, va_list args); void markErrorHandledCallback(const BSG_KSCrashReportWriter *writer); -@class FixtureConfig; - @interface Scenario : NSObject @property (strong, nonatomic, nonnull) FixtureConfig *fixtureConfig; diff --git a/features/fixtures/shared/utils/FixtureConfig.h b/features/fixtures/shared/utils/FixtureConfig.h new file mode 100644 index 000000000..7e91643ff --- /dev/null +++ b/features/fixtures/shared/utils/FixtureConfig.h @@ -0,0 +1,31 @@ +// +// FixtureConfig.h +// macOSTestApp +// +// Created by Karl Stenerud on 26.09.24. +// Copyright © 2024 Bugsnag Inc. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface FixtureConfig : NSObject + +@property NSString *apiKey; +@property NSURL *mazeRunnerURL; +@property NSURL *docsURL; +@property NSURL *tracesURL; +@property NSURL *commandURL; +@property NSURL *metricsURL; +@property NSURL *reflectURL; +@property NSURL *notifyURL; +@property NSURL *sessionsURL; + +//init(apiKey: String, mazeRunnerBaseAddress: URL) { + +- (instancetype) initWithApiKey:(NSString *)apiKey mazeRunnerBaseAddress:(NSURL *)mazeRunnerBaseAddress; + +@end + +NS_ASSUME_NONNULL_END diff --git a/features/fixtures/shared/utils/FixtureConfig.m b/features/fixtures/shared/utils/FixtureConfig.m new file mode 100644 index 000000000..1a784f6b4 --- /dev/null +++ b/features/fixtures/shared/utils/FixtureConfig.m @@ -0,0 +1,28 @@ +// +// FixtureConfig.m +// macOSTestApp +// +// Created by Karl Stenerud on 26.09.24. +// Copyright © 2024 Bugsnag Inc. All rights reserved. +// + +#import "FixtureConfig.h" + +@implementation FixtureConfig + +- (instancetype) initWithApiKey:(NSString *)apiKey mazeRunnerBaseAddress:(NSURL *)mazeRunnerBaseAddress { + if ((self = [super init])) { + _apiKey = apiKey; + _mazeRunnerURL = mazeRunnerBaseAddress; + _docsURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"docs"]; + _tracesURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"traces"]; + _commandURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"command"]; + _metricsURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"metrics"]; + _notifyURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"notify"]; + _sessionsURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"sessions"]; + _reflectURL = [mazeRunnerBaseAddress URLByAppendingPathComponent:@"reflect"]; + } + return self; +} + +@end diff --git a/features/fixtures/shared/utils/FixtureConfig.swift b/features/fixtures/shared/utils/FixtureConfig.swift deleted file mode 100644 index 825c5d082..000000000 --- a/features/fixtures/shared/utils/FixtureConfig.swift +++ /dev/null @@ -1,33 +0,0 @@ -// -// FixtureConfig.swift -// iOSTestApp -// -// Created by Karl Stenerud on 11.03.24. -// Copyright © 2024 Bugsnag. All rights reserved. -// - -import Foundation - -@objcMembers class FixtureConfig: NSObject { - var apiKey: String - let mazeRunnerURL: URL - let docsURL: URL - let tracesURL: URL - let commandURL: URL - let metricsURL: URL - let reflectURL: URL - var notifyURL: URL - var sessionsURL: URL - - init(apiKey: String, mazeRunnerBaseAddress: URL) { - self.apiKey = apiKey - mazeRunnerURL = mazeRunnerBaseAddress - docsURL = mazeRunnerBaseAddress.appendingPathComponent("docs") - tracesURL = mazeRunnerBaseAddress.appendingPathComponent("traces") - commandURL = mazeRunnerBaseAddress.appendingPathComponent("command") - metricsURL = mazeRunnerBaseAddress.appendingPathComponent("metrics") - notifyURL = mazeRunnerBaseAddress.appendingPathComponent("notify") - sessionsURL = mazeRunnerBaseAddress.appendingPathComponent("sessions") - reflectURL = mazeRunnerBaseAddress.appendingPathComponent("reflect") - } -} diff --git a/features/fixtures/watchos/watchOSTestApp.xcodeproj/project.pbxproj b/features/fixtures/watchos/watchOSTestApp.xcodeproj/project.pbxproj index 6898ff83d..c39c863c2 100644 --- a/features/fixtures/watchos/watchOSTestApp.xcodeproj/project.pbxproj +++ b/features/fixtures/watchos/watchOSTestApp.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ 01515B1D28508DBB00E498EC /* ExtensionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01515B1B28508DBB00E498EC /* ExtensionDelegate.swift */; }; 018F050D284F314D004EA50D /* HandledExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 018F050C284F314D004EA50D /* HandledExceptionScenario.swift */; }; 018F050F284F3155004EA50D /* NetworkBreadcrumbsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 018F050E284F3155004EA50D /* NetworkBreadcrumbsScenario.swift */; }; + 0915E10B2CA57B4F006B1815 /* FixtureConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1092CA57B4F006B1815 /* FixtureConfig.m */; }; C1AD3C358BC309F832CCC972 /* Pods_watchOSTestApp_WatchKit_Extension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B2DE4764F62DB21DAE7435C /* Pods_watchOSTestApp_WatchKit_Extension.framework */; }; /* End PBXBuildFile section */ @@ -84,6 +85,8 @@ 01515B1B28508DBB00E498EC /* ExtensionDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExtensionDelegate.swift; sourceTree = ""; }; 018F050C284F314D004EA50D /* HandledExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HandledExceptionScenario.swift; sourceTree = ""; }; 018F050E284F3155004EA50D /* NetworkBreadcrumbsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkBreadcrumbsScenario.swift; sourceTree = ""; }; + 0915E1092CA57B4F006B1815 /* FixtureConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FixtureConfig.m; path = ../utils/FixtureConfig.m; sourceTree = ""; }; + 0915E10A2CA57B4F006B1815 /* FixtureConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FixtureConfig.h; path = ../utils/FixtureConfig.h; sourceTree = ""; }; 5B2DE4764F62DB21DAE7435C /* Pods_watchOSTestApp_WatchKit_Extension.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_watchOSTestApp_WatchKit_Extension.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C7F2423F2C2AA215837EC98D /* Pods-watchOSTestApp WatchKit Extension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-watchOSTestApp WatchKit Extension.release.xcconfig"; path = "Target Support Files/Pods-watchOSTestApp WatchKit Extension/Pods-watchOSTestApp WatchKit Extension.release.xcconfig"; sourceTree = ""; }; F7B7E9CC24320877BE6D3B95 /* Pods-watchOSTestApp WatchKit Extension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-watchOSTestApp WatchKit Extension.debug.xcconfig"; path = "Target Support Files/Pods-watchOSTestApp WatchKit Extension/Pods-watchOSTestApp WatchKit Extension.debug.xcconfig"; sourceTree = ""; }; @@ -158,6 +161,8 @@ children = ( 01479BA72847923A00E53BB9 /* BareboneTestHandledScenario.swift */, 01479BA9284792B100E53BB9 /* BareboneTestUnhandledErrorScenario.swift */, + 0915E10A2CA57B4F006B1815 /* FixtureConfig.h */, + 0915E1092CA57B4F006B1815 /* FixtureConfig.m */, 018F050C284F314D004EA50D /* HandledExceptionScenario.swift */, 018F050E284F3155004EA50D /* NetworkBreadcrumbsScenario.swift */, 01479A46284779A400E53BB9 /* Scenario.h */, @@ -357,6 +362,7 @@ buildActionMask = 2147483647; files = ( 01479BAA284792B100E53BB9 /* BareboneTestUnhandledErrorScenario.swift in Sources */, + 0915E10B2CA57B4F006B1815 /* FixtureConfig.m in Sources */, 018F050D284F314D004EA50D /* HandledExceptionScenario.swift in Sources */, 01515B1D28508DBB00E498EC /* ExtensionDelegate.swift in Sources */, 01479A2F2847775600E53BB9 /* ComplicationController.swift in Sources */, From 76cb8aedfc9d35f6cddd501c877bc24ed89258ae Mon Sep 17 00:00:00 2001 From: Karl Stenerud Date: Fri, 27 Sep 2024 08:39:17 +0200 Subject: [PATCH 27/34] Add macos fixture that uses the Bugsnag xcframeworks --- .../macOSTestApp.xcodeproj/project.pbxproj | 2 + .../project.pbxproj | 1123 +++++++++++++++++ .../contents.xcworkspacedata | 7 + .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 58 + .../Assets.xcassets/Contents.json | 6 + .../MainWindowController.m | 106 ++ .../macOSTestAppXcFramework.entitlements | 10 + .../macos/macOSTestAppXcFramework/main.m | 15 + features/fixtures/shared/scenarios/Scenario.m | 2 - features/fixtures/shared/utils/Fixture.swift | 1 + 11 files changed, 1339 insertions(+), 2 deletions(-) create mode 100644 features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.pbxproj create mode 100644 features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/Contents.json create mode 100644 features/fixtures/macos/macOSTestAppXcFramework/MainWindowController.m create mode 100644 features/fixtures/macos/macOSTestAppXcFramework/macOSTestAppXcFramework.entitlements create mode 100644 features/fixtures/macos/macOSTestAppXcFramework/main.m diff --git a/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj b/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj index e6a297aef..033956f9c 100644 --- a/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj +++ b/features/fixtures/macos/macOSTestApp.xcodeproj/project.pbxproj @@ -403,6 +403,7 @@ 0915E0F92CA57647006B1815 /* FixtureConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FixtureConfig.m; sourceTree = ""; }; 0915E0FD2CA57849006B1815 /* Bridge_InternalAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_InternalAPI.h; path = ../Bridge_InternalAPI.h; sourceTree = ""; }; 0915E0FE2CA5785A006B1815 /* Bridge_PublicAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_PublicAPI.h; path = ../Bridge_PublicAPI.h; sourceTree = ""; }; + 0915E2BB2CA5A1FF006B1815 /* ReverseBridge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ReverseBridge.h; sourceTree = ""; }; 095E095E2AF3C98F00273F1F /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; 095E09602AF3C9A500273F1F /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; 095E09612AF3C9A500273F1F /* Logging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; @@ -666,6 +667,7 @@ 017FBFB5254B09C300809042 /* MainWindowController.h */, 017FBFB6254B09C300809042 /* MainWindowController.m */, 017FBFB7254B09C300809042 /* MainWindowController.xib */, + 0915E2BB2CA5A1FF006B1815 /* ReverseBridge.h */, ); path = macOSTestApp; sourceTree = ""; diff --git a/features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.pbxproj b/features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.pbxproj new file mode 100644 index 000000000..ab1a48527 --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.pbxproj @@ -0,0 +1,1123 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 56; + objects = { + +/* Begin PBXBuildFile section */ + 0915E11F2CA59012006B1815 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0915E11E2CA59012006B1815 /* Assets.xcassets */; }; + 0915E1242CA59012006B1815 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1232CA59012006B1815 /* main.m */; }; + 0915E1392CA5912D006B1815 /* BugsnagWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E12F2CA5912D006B1815 /* BugsnagWrapper.swift */; }; + 0915E13A2CA5912D006B1815 /* CommandReaderThread.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1302CA5912D006B1815 /* CommandReaderThread.swift */; }; + 0915E13B2CA5912D006B1815 /* Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1312CA5912D006B1815 /* Fixture.swift */; }; + 0915E13C2CA5912D006B1815 /* FixtureConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1332CA5912D006B1815 /* FixtureConfig.m */; }; + 0915E13D2CA5912D006B1815 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1352CA5912D006B1815 /* Logging.m */; }; + 0915E13E2CA5912D006B1815 /* Logging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1362CA5912D006B1815 /* Logging.swift */; }; + 0915E13F2CA5912D006B1815 /* MazeRunnerCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1372CA5912D006B1815 /* MazeRunnerCommand.swift */; }; + 0915E1442CA59C35006B1815 /* Scenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1422CA59C35006B1815 /* Scenario.m */; }; + 0915E1D02CA59CF3006B1815 /* DelayedNotifyErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1452CA59CEE006B1815 /* DelayedNotifyErrorScenario.swift */; }; + 0915E1D12CA59CF3006B1815 /* OnSendErrorPersistenceScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1462CA59CEE006B1815 /* OnSendErrorPersistenceScenario.m */; }; + 0915E1D22CA59CF3006B1815 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1472CA59CEE006B1815 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift */; }; + 0915E1D32CA59CF3006B1815 /* AutoSessionUnhandledScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1482CA59CEE006B1815 /* AutoSessionUnhandledScenario.m */; }; + 0915E1D42CA59CF3006B1815 /* OOMAutoDetectErrorsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1492CA59CEE006B1815 /* OOMAutoDetectErrorsScenario.swift */; }; + 0915E1D52CA59CF3006B1815 /* DiscardClassesHandledExceptionRegexScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E14A2CA59CEE006B1815 /* DiscardClassesHandledExceptionRegexScenario.swift */; }; + 0915E1D62CA59CF3006B1815 /* OversizedHandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E14B2CA59CEE006B1815 /* OversizedHandledErrorScenario.swift */; }; + 0915E1D72CA59CF3006B1815 /* AppAndDeviceAttributesConfigOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E14C2CA59CEE006B1815 /* AppAndDeviceAttributesConfigOverrideScenario.swift */; }; + 0915E1D82CA59CF3006B1815 /* BareboneTestHandledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E14D2CA59CEE006B1815 /* BareboneTestHandledScenario.swift */; }; + 0915E1D92CA59CF3006B1815 /* EnabledReleaseStageAutoSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E14E2CA59CEE006B1815 /* EnabledReleaseStageAutoSessionScenario.swift */; }; + 0915E1DA2CA59CF3006B1815 /* BreadcrumbCallbackDiscardScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E14F2CA59CEE006B1815 /* BreadcrumbCallbackDiscardScenario.swift */; }; + 0915E1DB2CA59CF3006B1815 /* OOMSessionlessScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1502CA59CEF006B1815 /* OOMSessionlessScenario.m */; }; + 0915E1DC2CA59CF3006B1815 /* DisableSignalsExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1512CA59CEF006B1815 /* DisableSignalsExceptionScenario.m */; }; + 0915E1DD2CA59CF3006B1815 /* CxxBareThrowScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1522CA59CEF006B1815 /* CxxBareThrowScenario.mm */; }; + 0915E1DE2CA59CF3006B1815 /* AccessNonObjectScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1532CA59CEF006B1815 /* AccessNonObjectScenario.m */; }; + 0915E1DF2CA59CF3006B1815 /* CriticalThermalStateScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1542CA59CEF006B1815 /* CriticalThermalStateScenario.swift */; }; + 0915E1E02CA59CF3006B1815 /* OldSessionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1552CA59CEF006B1815 /* OldSessionScenario.m */; }; + 0915E1E12CA59CF3006B1815 /* EnabledBreadcrumbTypesIsNilScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1562CA59CEF006B1815 /* EnabledBreadcrumbTypesIsNilScenario.swift */; }; + 0915E1E22CA59CF3006B1815 /* AutoSessionWithUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1572CA59CEF006B1815 /* AutoSessionWithUserScenario.m */; }; + 0915E1E32CA59CF3006B1815 /* ManualSessionWithUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1582CA59CEF006B1815 /* ManualSessionWithUserScenario.m */; }; + 0915E1E42CA59CF3006B1815 /* HandledErrorThreadSendUnhandledOnlyScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1592CA59CEF006B1815 /* HandledErrorThreadSendUnhandledOnlyScenario.m */; }; + 0915E1E52CA59CF3006B1815 /* OnSendErrorCallbackFeatureFlagsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E15A2CA59CEF006B1815 /* OnSendErrorCallbackFeatureFlagsScenario.swift */; }; + 0915E1E62CA59CF3006B1815 /* ModifyBreadcrumbInNotifyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E15B2CA59CEF006B1815 /* ModifyBreadcrumbInNotifyScenario.swift */; }; + 0915E1E72CA59CF3006B1815 /* MetadataRedactionRegexScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E15C2CA59CEF006B1815 /* MetadataRedactionRegexScenario.swift */; }; + 0915E1E82CA59CF3006B1815 /* OriginalErrorNSErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E15D2CA59CEF006B1815 /* OriginalErrorNSErrorScenario.swift */; }; + 0915E1EA2CA59CF3006B1815 /* CxxExceptionOverrideScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0915E15F2CA59CEF006B1815 /* CxxExceptionOverrideScenario.mm */; }; + 0915E1EB2CA59CF3006B1815 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1602CA59CEF006B1815 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift */; }; + 0915E1EC2CA59CF3006B1815 /* BreadcrumbCallbackOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1612CA59CEF006B1815 /* BreadcrumbCallbackOverrideScenario.swift */; }; + 0915E1ED2CA59CF3006B1815 /* AutoCaptureRunScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1622CA59CEF006B1815 /* AutoCaptureRunScenario.m */; }; + 0915E1EE2CA59CF3006B1815 /* OOMEnabledErrorTypesScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1632CA59CEF006B1815 /* OOMEnabledErrorTypesScenario.swift */; }; + 0915E1EF2CA59CF3006B1815 /* AbortScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1642CA59CEF006B1815 /* AbortScenario.m */; }; + 0915E1F02CA59CF3006B1815 /* CxxExceptionScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1652CA59CEF006B1815 /* CxxExceptionScenario.mm */; }; + 0915E1F22CA59CF3006B1815 /* OversizedBreadcrumbsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1672CA59CEF006B1815 /* OversizedBreadcrumbsScenario.swift */; }; + 0915E1F42CA59CF3006B1815 /* BreadcrumbCallbackRemovalScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1692CA59CEF006B1815 /* BreadcrumbCallbackRemovalScenario.m */; }; + 0915E1F62CA59CF3006B1815 /* BuiltinTrapScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E16B2CA59CF0006B1815 /* BuiltinTrapScenario.m */; }; + 0915E1F82CA59CF3006B1815 /* AutoDetectFalseAbortScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E16D2CA59CF0006B1815 /* AutoDetectFalseAbortScenario.swift */; }; + 0915E1F92CA59CF3006B1815 /* OldCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E16E2CA59CF0006B1815 /* OldCrashReportScenario.swift */; }; + 0915E1FA2CA59CF3006B1815 /* AsyncSafeMallocScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E16F2CA59CF0006B1815 /* AsyncSafeMallocScenario.m */; }; + 0915E1FB2CA59CF3006B1815 /* HandledErrorThreadSendAlwaysScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1702CA59CF0006B1815 /* HandledErrorThreadSendAlwaysScenario.m */; }; + 0915E1FC2CA59CF3006B1815 /* ObjCMsgSendScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1712CA59CF0006B1815 /* ObjCMsgSendScenario.m */; }; + 0915E1FD2CA59CF3006B1815 /* ResumeSessionOOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1722CA59CF0006B1815 /* ResumeSessionOOMScenario.m */; }; + 0915E1FE2CA59CF3006B1815 /* MetadataMergeScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1732CA59CF0006B1815 /* MetadataMergeScenario.swift */; }; + 0915E1FF2CA59CF3006B1815 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1742CA59CF0006B1815 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift */; }; + 0915E2002CA59CF3006B1815 /* OversizedCrashReportScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1752CA59CF0006B1815 /* OversizedCrashReportScenario.swift */; }; + 0915E2012CA59CF3006B1815 /* ResumedSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1762CA59CF0006B1815 /* ResumedSessionScenario.swift */; }; + 0915E2022CA59CF3006B1815 /* AutoContextNSExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1772CA59CF0006B1815 /* AutoContextNSExceptionScenario.swift */; }; + 0915E2032CA59CF3006B1815 /* LastRunInfoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1782CA59CF0006B1815 /* LastRunInfoScenario.swift */; }; + 0915E2042CA59CF3006B1815 /* DiscardClassesUnhandledCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1792CA59CF0006B1815 /* DiscardClassesUnhandledCrashScenario.swift */; }; + 0915E2052CA59CF3006B1815 /* AppAndDeviceAttributesCallbackOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E17A2CA59CF0006B1815 /* AppAndDeviceAttributesCallbackOverrideScenario.swift */; }; + 0915E2062CA59CF3006B1815 /* DisabledReleaseStageAutoSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E17B2CA59CF0006B1815 /* DisabledReleaseStageAutoSessionScenario.swift */; }; + 0915E2072CA59CF3006B1815 /* AutoSessionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E17C2CA59CF0006B1815 /* AutoSessionScenario.m */; }; + 0915E2082CA59CF3006B1815 /* OOMLoadScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E17D2CA59CF0006B1815 /* OOMLoadScenario.swift */; }; + 0915E2092CA59CF3006B1815 /* AppHangDefaultConfigScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E17E2CA59CF0006B1815 /* AppHangDefaultConfigScenario.swift */; }; + 0915E20A2CA59CF3006B1815 /* DisableAllExceptManualExceptionsAndCrashScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E17F2CA59CF0006B1815 /* DisableAllExceptManualExceptionsAndCrashScenario.m */; }; + 0915E20B2CA59CF3006B1815 /* OldHandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1802CA59CF0006B1815 /* OldHandledErrorScenario.swift */; }; + 0915E20C2CA59CF3006B1815 /* AppDurationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1812CA59CF0006B1815 /* AppDurationScenario.swift */; }; + 0915E20D2CA59CF3006B1815 /* ReadOnlyPageScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1822CA59CF0006B1815 /* ReadOnlyPageScenario.m */; }; + 0915E20E2CA59CF3006B1815 /* OnCrashHandlerScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1832CA59CF0006B1815 /* OnCrashHandlerScenario.m */; }; + 0915E20F2CA59CF3006B1815 /* OOMInactiveScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1842CA59CF1006B1815 /* OOMInactiveScenario.swift */; }; + 0915E2102CA59CF3006B1815 /* ModifyBreadcrumbScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1852CA59CF1006B1815 /* ModifyBreadcrumbScenario.swift */; }; + 0915E2112CA59CF3006B1815 /* AppAndDeviceAttributesScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1862CA59CF1006B1815 /* AppAndDeviceAttributesScenario.swift */; }; + 0915E2122CA59CF3006B1815 /* ManualContextClientScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1872CA59CF1006B1815 /* ManualContextClientScenario.swift */; }; + 0915E2132CA59CF3006B1815 /* BreadcrumbCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1882CA59CF1006B1815 /* BreadcrumbCallbackCrashScenario.swift */; }; + 0915E2142CA59CF3006B1815 /* OnSendOverwriteScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1892CA59CF1006B1815 /* OnSendOverwriteScenario.swift */; }; + 0915E2152CA59CF3006B1815 /* OriginalErrorNSExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E18A2CA59CF1006B1815 /* OriginalErrorNSExceptionScenario.swift */; }; + 0915E2162CA59CF3006B1815 /* AutoSessionMixedEventsScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E18B2CA59CF1006B1815 /* AutoSessionMixedEventsScenario.m */; }; + 0915E2172CA59CF3006B1815 /* BreadcrumbCallbackOrderScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E18C2CA59CF1006B1815 /* BreadcrumbCallbackOrderScenario.swift */; }; + 0915E2182CA59CF3006B1815 /* InvalidCrashReportScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E18D2CA59CF1006B1815 /* InvalidCrashReportScenario.m */; }; + 0915E2192CA59CF3006B1815 /* DispatchCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E18E2CA59CF1006B1815 /* DispatchCrashScenario.swift */; }; + 0915E21A2CA59CF3006B1815 /* AutoSessionHandledEventsScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E18F2CA59CF1006B1815 /* AutoSessionHandledEventsScenario.m */; }; + 0915E21B2CA59CF3006B1815 /* HandledErrorValidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1912CA59CF1006B1815 /* HandledErrorValidReleaseStageScenario.swift */; }; + 0915E21C2CA59CF3006B1815 /* PrivilegedInstructionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1922CA59CF1006B1815 /* PrivilegedInstructionScenario.m */; }; + 0915E21D2CA59CF3006B1815 /* OnErrorOverwriteUnhandledFalseScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1932CA59CF1006B1815 /* OnErrorOverwriteUnhandledFalseScenario.swift */; }; + 0915E21E2CA59CF3006B1815 /* ReadGarbagePointerScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1942CA59CF1006B1815 /* ReadGarbagePointerScenario.m */; }; + 0915E21F2CA59CF3006B1815 /* HandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1952CA59CF1006B1815 /* HandledErrorScenario.swift */; }; + 0915E2202CA59CF3006B1815 /* OverwriteLinkRegisterScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1962CA59CF1006B1815 /* OverwriteLinkRegisterScenario.m */; }; + 0915E2212CA59CF3006B1815 /* DisabledReleaseStageManualSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1972CA59CF1006B1815 /* DisabledReleaseStageManualSessionScenario.swift */; }; + 0915E2222CA59CF3006B1815 /* NullPointerScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1982CA59CF1006B1815 /* NullPointerScenario.m */; }; + 0915E2232CA59CF3006B1815 /* AutoContextNSErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1992CA59CF1006B1815 /* AutoContextNSErrorScenario.swift */; }; + 0915E2242CA59CF3006B1815 /* OnErrorOverwriteUnhandledTrueScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E19A2CA59CF1006B1815 /* OnErrorOverwriteUnhandledTrueScenario.swift */; }; + 0915E2252CA59CF3006B1815 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E19B2CA59CF1006B1815 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift */; }; + 0915E2262CA59CF3006B1815 /* HandledErrorInvalidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E19C2CA59CF1006B1815 /* HandledErrorInvalidReleaseStageScenario.swift */; }; + 0915E2272CA59CF3006B1815 /* AutoDetectFalseHandledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E19D2CA59CF1006B1815 /* AutoDetectFalseHandledScenario.swift */; }; + 0915E2282CA59CF3006B1815 /* InternalWorkingsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E19E2CA59CF1006B1815 /* InternalWorkingsScenario.swift */; }; + 0915E2292CA59CF3006B1815 /* OnSendErrorCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E19F2CA59CF1006B1815 /* OnSendErrorCallbackCrashScenario.swift */; }; + 0915E22A2CA59CF3006B1815 /* OnErrorOverwriteScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A02CA59CF2006B1815 /* OnErrorOverwriteScenario.swift */; }; + 0915E22B2CA59CF3006B1815 /* OOMWillTerminateScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A12CA59CF2006B1815 /* OOMWillTerminateScenario.m */; }; + 0915E22C2CA59CF3006B1815 /* BareboneTestUnhandledErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A22CA59CF2006B1815 /* BareboneTestUnhandledErrorScenario.swift */; }; + 0915E22D2CA59CF3006B1815 /* ManualContextOnErrorScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A32CA59CF2006B1815 /* ManualContextOnErrorScenario.swift */; }; + 0915E22F2CA59CF3006B1815 /* EnabledErrorTypesCxxScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A52CA59CF2006B1815 /* EnabledErrorTypesCxxScenario.mm */; }; + 0915E2302CA59CF3006B1815 /* ConcurrentCrashesScenario.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A62CA59CF2006B1815 /* ConcurrentCrashesScenario.mm */; }; + 0915E2312CA59CF3006B1815 /* NewSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A72CA59CF2006B1815 /* NewSessionScenario.swift */; }; + 0915E2322CA59CF3006B1815 /* AutoSessionCustomVersionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A82CA59CF2006B1815 /* AutoSessionCustomVersionScenario.m */; }; + 0915E2332CA59CF3006B1815 /* LoadConfigFromFileScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1A92CA59CF2006B1815 /* LoadConfigFromFileScenario.swift */; }; + 0915E2342CA59CF3006B1815 /* MetadataRedactionNestedScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1AA2CA59CF2006B1815 /* MetadataRedactionNestedScenario.swift */; }; + 0915E2352CA59CF3006B1815 /* NetworkBreadcrumbsScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1AB2CA59CF2006B1815 /* NetworkBreadcrumbsScenario.swift */; }; + 0915E2362CA59CF3006B1815 /* DiscardedBreadcrumbTypeScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1AC2CA59CF2006B1815 /* DiscardedBreadcrumbTypeScenario.swift */; }; + 0915E2372CA59CF3006B1815 /* AppHangFatalDisabledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1AD2CA59CF2006B1815 /* AppHangFatalDisabledScenario.swift */; }; + 0915E2382CA59CF3006B1815 /* ManualSessionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1AE2CA59CF2006B1815 /* ManualSessionScenario.m */; }; + 0915E2392CA59CF3006B1815 /* AppHangDisabledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1AF2CA59CF2006B1815 /* AppHangDisabledScenario.swift */; }; + 0915E23A2CA59CF3006B1815 /* MarkUnhandledHandledScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B02CA59CF2006B1815 /* MarkUnhandledHandledScenario.m */; }; + 0915E23B2CA59CF3006B1815 /* OnSendCallbackOrderScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B12CA59CF2006B1815 /* OnSendCallbackOrderScenario.swift */; }; + 0915E23C2CA59CF3006B1815 /* NotifyCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B22CA59CF2006B1815 /* NotifyCallbackCrashScenario.swift */; }; + 0915E23D2CA59CF3006B1815 /* MaxPersistedSessionsScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B32CA59CF2006B1815 /* MaxPersistedSessionsScenario.m */; }; + 0915E23E2CA59CF3006B1815 /* MetadataRedactionDefaultScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B42CA59CF2006B1815 /* MetadataRedactionDefaultScenario.swift */; }; + 0915E23F2CA59CF3006B1815 /* AppHangFatalOnlyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B52CA59CF2006B1815 /* AppHangFatalOnlyScenario.swift */; }; + 0915E2402CA59CF3006B1815 /* DisabledSessionTrackingScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B62CA59CF2006B1815 /* DisabledSessionTrackingScenario.m */; }; + 0915E2412CA59CF3006B1815 /* ManualContextConfigurationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B72CA59CF2006B1815 /* ManualContextConfigurationScenario.swift */; }; + 0915E2422CA59CF3006B1815 /* AsyncSafeThreadScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B82CA59CF2006B1815 /* AsyncSafeThreadScenario.m */; }; + 0915E2432CA59CF3006B1815 /* AutoDetectFalseNSExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1B92CA59CF2006B1815 /* AutoDetectFalseNSExceptionScenario.swift */; }; + 0915E2442CA59CF3006B1815 /* DisableMachExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1BA2CA59CF2006B1815 /* DisableMachExceptionScenario.m */; }; + 0915E2452CA59CF3006B1815 /* HandledErrorOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1BB2CA59CF2006B1815 /* HandledErrorOverrideScenario.swift */; }; + 0915E2462CA59CF3006B1815 /* OOMSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1BC2CA59CF2006B1815 /* OOMSessionScenario.swift */; }; + 0915E2472CA59CF3006B1815 /* NonExistentMethodScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1BD2CA59CF3006B1815 /* NonExistentMethodScenario.m */; }; + 0915E2492CA59CF3006B1815 /* AbortOverrideScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1BF2CA59CF3006B1815 /* AbortOverrideScenario.m */; }; + 0915E24A2CA59CF3006B1815 /* ManyConcurrentNotifyScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C02CA59CF3006B1815 /* ManyConcurrentNotifyScenario.m */; }; + 0915E24C2CA59CF3006B1815 /* DisableNSExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C22CA59CF3006B1815 /* DisableNSExceptionScenario.m */; }; + 0915E24D2CA59CF3006B1815 /* HandledExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C32CA59CF3006B1815 /* HandledExceptionScenario.swift */; }; + 0915E24E2CA59CF3006B1815 /* ReleasedObjectScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C42CA59CF3006B1815 /* ReleasedObjectScenario.m */; }; + 0915E24F2CA59CF3006B1815 /* AppHangScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C52CA59CF3006B1815 /* AppHangScenario.swift */; }; + 0915E2502CA59CF3006B1815 /* EnabledReleaseStageManualSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C62CA59CF3006B1815 /* EnabledReleaseStageManualSessionScenario.swift */; }; + 0915E2512CA59CF3006B1815 /* DiscardClassesUnhandledExceptionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C72CA59CF3006B1815 /* DiscardClassesUnhandledExceptionScenario.swift */; }; + 0915E2522CA59CF3006B1815 /* RecrashScenarios.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C82CA59CF3006B1815 /* RecrashScenarios.mm */; }; + 0915E2532CA59CF3006B1815 /* LoadConfigFromFileAutoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1C92CA59CF3006B1815 /* LoadConfigFromFileAutoScenario.swift */; }; + 0915E2542CA59CF3006B1815 /* NSExceptionShiftScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1CA2CA59CF3006B1815 /* NSExceptionShiftScenario.m */; }; + 0915E2552CA59CF3006B1815 /* ObjCExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1CB2CA59CF3006B1815 /* ObjCExceptionScenario.m */; }; + 0915E2562CA59CF3006B1815 /* AppHangInTerminationScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1CC2CA59CF3006B1815 /* AppHangInTerminationScenario.swift */; }; + 0915E2572CA59CF3006B1815 /* CouldNotCreateDirectoryScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1CD2CA59CF3006B1815 /* CouldNotCreateDirectoryScenario.swift */; }; + 0915E2582CA59CF3006B1815 /* OnSendCallbackRemovalScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1CE2CA59CF3006B1815 /* OnSendCallbackRemovalScenario.m */; }; + 0915E2592CA59CF3006B1815 /* ObjCExceptionOverrideScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E1CF2CA59CF3006B1815 /* ObjCExceptionOverrideScenario.m */; }; + 0915E2872CA59DEB006B1815 /* SIGBUSScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E25A2CA59DEA006B1815 /* SIGBUSScenario.m */; }; + 0915E2882CA59DEB006B1815 /* SIGPIPEIgnoredScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E25B2CA59DEA006B1815 /* SIGPIPEIgnoredScenario.m */; }; + 0915E2892CA59DEB006B1815 /* SessionCallbackOrderScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E25C2CA59DEA006B1815 /* SessionCallbackOrderScenario.swift */; }; + 0915E28A2CA59DEB006B1815 /* UndefinedInstructionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E25D2CA59DEA006B1815 /* UndefinedInstructionScenario.m */; }; + 0915E28B2CA59DEB006B1815 /* UnhandledErrorThreadSendNeverScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E25E2CA59DEA006B1815 /* UnhandledErrorThreadSendNeverScenario.m */; }; + 0915E28C2CA59DEB006B1815 /* StopSessionOOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E25F2CA59DEA006B1815 /* StopSessionOOMScenario.m */; }; + 0915E28D2CA59DEB006B1815 /* SIGFPEScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2602CA59DEA006B1815 /* SIGFPEScenario.m */; }; + 0915E28E2CA59DEB006B1815 /* UnhandledErrorValidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2612CA59DEA006B1815 /* UnhandledErrorValidReleaseStageScenario.swift */; }; + 0915E28F2CA59DEB006B1815 /* UserFromClientScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2622CA59DEA006B1815 /* UserFromClientScenario.swift */; }; + 0915E2902CA59DEB006B1815 /* UserFromConfigScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2632CA59DEA006B1815 /* UserFromConfigScenario.swift */; }; + 0915E2912CA59DEB006B1815 /* SwiftCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2642CA59DEA006B1815 /* SwiftCrashScenario.swift */; }; + 0915E2922CA59DEB006B1815 /* UserPersistenceDontPersistUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2652CA59DEA006B1815 /* UserPersistenceDontPersistUserScenario.m */; }; + 0915E2932CA59DEB006B1815 /* UserSessionOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2662CA59DEA006B1815 /* UserSessionOverrideScenario.swift */; }; + 0915E2942CA59DEB006B1815 /* SwiftAssertionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2672CA59DEA006B1815 /* SwiftAssertionScenario.swift */; }; + 0915E2952CA59DEB006B1815 /* UserPersistencePersistUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2682CA59DEA006B1815 /* UserPersistencePersistUserScenario.m */; }; + 0915E2962CA59DEB006B1815 /* UserInfoScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2692CA59DEA006B1815 /* UserInfoScenario.swift */; }; + 0915E2972CA59DEB006B1815 /* UserPersistenceNoUserScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E26A2CA59DEA006B1815 /* UserPersistenceNoUserScenario.m */; }; + 0915E2982CA59DEB006B1815 /* SIGSYSScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E26B2CA59DEA006B1815 /* SIGSYSScenario.m */; }; + 0915E2992CA59DEB006B1815 /* SIGSEGVScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E26C2CA59DEA006B1815 /* SIGSEGVScenario.m */; }; + 0915E29A2CA59DEB006B1815 /* SIGTRAPScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E26D2CA59DEA006B1815 /* SIGTRAPScenario.m */; }; + 0915E29B2CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E26E2CA59DEA006B1815 /* SendLaunchCrashesSynchronouslyScenario.swift */; }; + 0915E29C2CA59DEB006B1815 /* UserEventOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2702CA59DEA006B1815 /* UserEventOverrideScenario.swift */; }; + 0915E29D2CA59DEB006B1815 /* UnhandledMachExceptionOverrideScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2712CA59DEA006B1815 /* UnhandledMachExceptionOverrideScenario.m */; }; + 0915E29E2CA59DEB006B1815 /* StackOverflowScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2722CA59DEA006B1815 /* StackOverflowScenario.m */; }; + 0915E29F2CA59DEB006B1815 /* SessionCallbackRemovalScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2732CA59DEA006B1815 /* SessionCallbackRemovalScenario.m */; }; + 0915E2A02CA59DEB006B1815 /* StoppedSessionScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2742CA59DEA006B1815 /* StoppedSessionScenario.swift */; }; + 0915E2A12CA59DEB006B1815 /* SessionCallbackCrashScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2752CA59DEA006B1815 /* SessionCallbackCrashScenario.swift */; }; + 0915E2A32CA59DEB006B1815 /* UserNilScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2772CA59DEA006B1815 /* UserNilScenario.swift */; }; + 0915E2A42CA59DEB006B1815 /* SIGPIPEScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2782CA59DEA006B1815 /* SIGPIPEScenario.m */; }; + 0915E2A52CA59DEB006B1815 /* UnhandledErrorThreadSendAlwaysScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2792CA59DEA006B1815 /* UnhandledErrorThreadSendAlwaysScenario.m */; }; + 0915E2A62CA59DEB006B1815 /* TelemetryUsageDisabledScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E27A2CA59DEA006B1815 /* TelemetryUsageDisabledScenario.swift */; }; + 0915E2A72CA59DEB006B1815 /* UnhandledMachExceptionScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E27B2CA59DEA006B1815 /* UnhandledMachExceptionScenario.m */; }; + 0915E2A82CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E27C2CA59DEA006B1815 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift */; }; + 0915E2A92CA59DEB006B1815 /* SessionCallbackOverrideScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E27D2CA59DEA006B1815 /* SessionCallbackOverrideScenario.swift */; }; + 0915E2AA2CA59DEB006B1815 /* UnhandledErrorChangeValidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E27E2CA59DEA006B1815 /* UnhandledErrorChangeValidReleaseStageScenario.swift */; }; + 0915E2AB2CA59DEB006B1815 /* UnhandledErrorInvalidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E27F2CA59DEA006B1815 /* UnhandledErrorInvalidReleaseStageScenario.swift */; }; + 0915E2AC2CA59DEB006B1815 /* SessionOOMScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2802CA59DEA006B1815 /* SessionOOMScenario.m */; }; + 0915E2AD2CA59DEB006B1815 /* SessionCallbackDiscardScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2812CA59DEB006B1815 /* SessionCallbackDiscardScenario.swift */; }; + 0915E2AE2CA59DEB006B1815 /* ThermalStateBreadcrumbScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2822CA59DEB006B1815 /* ThermalStateBreadcrumbScenario.swift */; }; + 0915E2AF2CA59DEB006B1815 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2832CA59DEB006B1815 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift */; }; + 0915E2B02CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyFalseScenario.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2842CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyFalseScenario.swift */; }; + 0915E2B12CA59DEB006B1815 /* UserPersistencePersistUserClientScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2852CA59DEB006B1815 /* UserPersistencePersistUserClientScenario.m */; }; + 0915E2B22CA59DEB006B1815 /* SIGILLScenario.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2862CA59DEB006B1815 /* SIGILLScenario.m */; }; + 0915E2B52CA59E4C006B1815 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2B32CA59E4C006B1815 /* AppDelegate.m */; }; + 0915E2B92CA59E69006B1815 /* MainWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0915E2B62CA59E69006B1815 /* MainWindowController.xib */; }; + 0915E2BF2CA68851006B1815 /* MainWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0915E2BE2CA68851006B1815 /* MainWindowController.m */; }; + 0915E2C02CA68886006B1815 /* Bugsnag.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0915E12C2CA590F6006B1815 /* Bugsnag.xcframework */; }; + 0915E2C12CA68886006B1815 /* Bugsnag.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0915E12C2CA590F6006B1815 /* Bugsnag.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 0915E2C32CA68888006B1815 /* BugsnagNetworkRequestPlugin.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0915E12B2CA590F6006B1815 /* BugsnagNetworkRequestPlugin.xcframework */; }; + 0915E2C42CA68888006B1815 /* BugsnagNetworkRequestPlugin.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0915E12B2CA590F6006B1815 /* BugsnagNetworkRequestPlugin.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 0915E2C22CA68886006B1815 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 0915E2C12CA68886006B1815 /* Bugsnag.xcframework in Embed Frameworks */, + 0915E2C42CA68888006B1815 /* BugsnagNetworkRequestPlugin.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0915E1152CA59011006B1815 /* macOSTestAppXcFramework.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = macOSTestAppXcFramework.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 0915E11E2CA59012006B1815 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 0915E1232CA59012006B1815 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 0915E1252CA59012006B1815 /* macOSTestAppXcFramework.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = macOSTestAppXcFramework.entitlements; sourceTree = ""; }; + 0915E12B2CA590F6006B1815 /* BugsnagNetworkRequestPlugin.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = BugsnagNetworkRequestPlugin.xcframework; path = ../../../../build/xcframeworks/products/BugsnagNetworkRequestPlugin.xcframework; sourceTree = ""; }; + 0915E12C2CA590F6006B1815 /* Bugsnag.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Bugsnag.xcframework; path = ../../../../build/xcframeworks/products/Bugsnag.xcframework; sourceTree = ""; }; + 0915E12F2CA5912D006B1815 /* BugsnagWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BugsnagWrapper.swift; sourceTree = ""; }; + 0915E1302CA5912D006B1815 /* CommandReaderThread.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CommandReaderThread.swift; sourceTree = ""; }; + 0915E1312CA5912D006B1815 /* Fixture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Fixture.swift; sourceTree = ""; }; + 0915E1322CA5912D006B1815 /* FixtureConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixtureConfig.h; sourceTree = ""; }; + 0915E1332CA5912D006B1815 /* FixtureConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FixtureConfig.m; sourceTree = ""; }; + 0915E1342CA5912D006B1815 /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Logging.h; sourceTree = ""; }; + 0915E1352CA5912D006B1815 /* Logging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Logging.m; sourceTree = ""; }; + 0915E1362CA5912D006B1815 /* Logging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logging.swift; sourceTree = ""; }; + 0915E1372CA5912D006B1815 /* MazeRunnerCommand.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MazeRunnerCommand.swift; sourceTree = ""; }; + 0915E1402CA59BEE006B1815 /* Bridge_PublicAPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bridge_PublicAPI.h; path = ../../shared/Bridge_PublicAPI.h; sourceTree = ""; }; + 0915E1422CA59C35006B1815 /* Scenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Scenario.m; path = ../../../shared/scenarios/Scenario.m; sourceTree = ""; }; + 0915E1432CA59C35006B1815 /* Scenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Scenario.h; path = ../../../shared/scenarios/Scenario.h; sourceTree = ""; }; + 0915E1452CA59CEE006B1815 /* DelayedNotifyErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DelayedNotifyErrorScenario.swift; path = ../../../shared/scenarios/DelayedNotifyErrorScenario.swift; sourceTree = ""; }; + 0915E1462CA59CEE006B1815 /* OnSendErrorPersistenceScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OnSendErrorPersistenceScenario.m; path = ../../../shared/scenarios/OnSendErrorPersistenceScenario.m; sourceTree = ""; }; + 0915E1472CA59CEE006B1815 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesStartWithApiKeyScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesStartWithApiKeyScenario.swift; sourceTree = ""; }; + 0915E1482CA59CEE006B1815 /* AutoSessionUnhandledScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoSessionUnhandledScenario.m; path = ../../../shared/scenarios/AutoSessionUnhandledScenario.m; sourceTree = ""; }; + 0915E1492CA59CEE006B1815 /* OOMAutoDetectErrorsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OOMAutoDetectErrorsScenario.swift; path = ../../../shared/scenarios/OOMAutoDetectErrorsScenario.swift; sourceTree = ""; }; + 0915E14A2CA59CEE006B1815 /* DiscardClassesHandledExceptionRegexScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DiscardClassesHandledExceptionRegexScenario.swift; path = ../../../shared/scenarios/DiscardClassesHandledExceptionRegexScenario.swift; sourceTree = ""; }; + 0915E14B2CA59CEE006B1815 /* OversizedHandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OversizedHandledErrorScenario.swift; path = ../../../shared/scenarios/OversizedHandledErrorScenario.swift; sourceTree = ""; }; + 0915E14C2CA59CEE006B1815 /* AppAndDeviceAttributesConfigOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesConfigOverrideScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesConfigOverrideScenario.swift; sourceTree = ""; }; + 0915E14D2CA59CEE006B1815 /* BareboneTestHandledScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BareboneTestHandledScenario.swift; path = ../../../shared/scenarios/BareboneTestHandledScenario.swift; sourceTree = ""; }; + 0915E14E2CA59CEE006B1815 /* EnabledReleaseStageAutoSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EnabledReleaseStageAutoSessionScenario.swift; path = ../../../shared/scenarios/EnabledReleaseStageAutoSessionScenario.swift; sourceTree = ""; }; + 0915E14F2CA59CEE006B1815 /* BreadcrumbCallbackDiscardScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BreadcrumbCallbackDiscardScenario.swift; path = ../../../shared/scenarios/BreadcrumbCallbackDiscardScenario.swift; sourceTree = ""; }; + 0915E1502CA59CEF006B1815 /* OOMSessionlessScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OOMSessionlessScenario.m; path = ../../../shared/scenarios/OOMSessionlessScenario.m; sourceTree = ""; }; + 0915E1512CA59CEF006B1815 /* DisableSignalsExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DisableSignalsExceptionScenario.m; path = ../../../shared/scenarios/DisableSignalsExceptionScenario.m; sourceTree = ""; }; + 0915E1522CA59CEF006B1815 /* CxxBareThrowScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CxxBareThrowScenario.mm; path = ../../../shared/scenarios/CxxBareThrowScenario.mm; sourceTree = ""; }; + 0915E1532CA59CEF006B1815 /* AccessNonObjectScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AccessNonObjectScenario.m; path = ../../../shared/scenarios/AccessNonObjectScenario.m; sourceTree = ""; }; + 0915E1542CA59CEF006B1815 /* CriticalThermalStateScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CriticalThermalStateScenario.swift; path = ../../../shared/scenarios/CriticalThermalStateScenario.swift; sourceTree = ""; }; + 0915E1552CA59CEF006B1815 /* OldSessionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OldSessionScenario.m; path = ../../../shared/scenarios/OldSessionScenario.m; sourceTree = ""; }; + 0915E1562CA59CEF006B1815 /* EnabledBreadcrumbTypesIsNilScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EnabledBreadcrumbTypesIsNilScenario.swift; path = ../../../shared/scenarios/EnabledBreadcrumbTypesIsNilScenario.swift; sourceTree = ""; }; + 0915E1572CA59CEF006B1815 /* AutoSessionWithUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoSessionWithUserScenario.m; path = ../../../shared/scenarios/AutoSessionWithUserScenario.m; sourceTree = ""; }; + 0915E1582CA59CEF006B1815 /* ManualSessionWithUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ManualSessionWithUserScenario.m; path = ../../../shared/scenarios/ManualSessionWithUserScenario.m; sourceTree = ""; }; + 0915E1592CA59CEF006B1815 /* HandledErrorThreadSendUnhandledOnlyScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HandledErrorThreadSendUnhandledOnlyScenario.m; path = ../../../shared/scenarios/HandledErrorThreadSendUnhandledOnlyScenario.m; sourceTree = ""; }; + 0915E15A2CA59CEF006B1815 /* OnSendErrorCallbackFeatureFlagsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnSendErrorCallbackFeatureFlagsScenario.swift; path = ../../../shared/scenarios/OnSendErrorCallbackFeatureFlagsScenario.swift; sourceTree = ""; }; + 0915E15B2CA59CEF006B1815 /* ModifyBreadcrumbInNotifyScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ModifyBreadcrumbInNotifyScenario.swift; path = ../../../shared/scenarios/ModifyBreadcrumbInNotifyScenario.swift; sourceTree = ""; }; + 0915E15C2CA59CEF006B1815 /* MetadataRedactionRegexScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MetadataRedactionRegexScenario.swift; path = ../../../shared/scenarios/MetadataRedactionRegexScenario.swift; sourceTree = ""; }; + 0915E15D2CA59CEF006B1815 /* OriginalErrorNSErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OriginalErrorNSErrorScenario.swift; path = ../../../shared/scenarios/OriginalErrorNSErrorScenario.swift; sourceTree = ""; }; + 0915E15F2CA59CEF006B1815 /* CxxExceptionOverrideScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CxxExceptionOverrideScenario.mm; path = ../../../shared/scenarios/CxxExceptionOverrideScenario.mm; sourceTree = ""; }; + 0915E1602CA59CEF006B1815 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift; sourceTree = ""; }; + 0915E1612CA59CEF006B1815 /* BreadcrumbCallbackOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BreadcrumbCallbackOverrideScenario.swift; path = ../../../shared/scenarios/BreadcrumbCallbackOverrideScenario.swift; sourceTree = ""; }; + 0915E1622CA59CEF006B1815 /* AutoCaptureRunScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoCaptureRunScenario.m; path = ../../../shared/scenarios/AutoCaptureRunScenario.m; sourceTree = ""; }; + 0915E1632CA59CEF006B1815 /* OOMEnabledErrorTypesScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OOMEnabledErrorTypesScenario.swift; path = ../../../shared/scenarios/OOMEnabledErrorTypesScenario.swift; sourceTree = ""; }; + 0915E1642CA59CEF006B1815 /* AbortScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AbortScenario.m; path = ../../../shared/scenarios/AbortScenario.m; sourceTree = ""; }; + 0915E1652CA59CEF006B1815 /* CxxExceptionScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CxxExceptionScenario.mm; path = ../../../shared/scenarios/CxxExceptionScenario.mm; sourceTree = ""; }; + 0915E1672CA59CEF006B1815 /* OversizedBreadcrumbsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OversizedBreadcrumbsScenario.swift; path = ../../../shared/scenarios/OversizedBreadcrumbsScenario.swift; sourceTree = ""; }; + 0915E1692CA59CEF006B1815 /* BreadcrumbCallbackRemovalScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BreadcrumbCallbackRemovalScenario.m; path = ../../../shared/scenarios/BreadcrumbCallbackRemovalScenario.m; sourceTree = ""; }; + 0915E16B2CA59CF0006B1815 /* BuiltinTrapScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BuiltinTrapScenario.m; path = ../../../shared/scenarios/BuiltinTrapScenario.m; sourceTree = ""; }; + 0915E16D2CA59CF0006B1815 /* AutoDetectFalseAbortScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AutoDetectFalseAbortScenario.swift; path = ../../../shared/scenarios/AutoDetectFalseAbortScenario.swift; sourceTree = ""; }; + 0915E16E2CA59CF0006B1815 /* OldCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OldCrashReportScenario.swift; path = ../../../shared/scenarios/OldCrashReportScenario.swift; sourceTree = ""; }; + 0915E16F2CA59CF0006B1815 /* AsyncSafeMallocScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncSafeMallocScenario.m; path = ../../../shared/scenarios/AsyncSafeMallocScenario.m; sourceTree = ""; }; + 0915E1702CA59CF0006B1815 /* HandledErrorThreadSendAlwaysScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HandledErrorThreadSendAlwaysScenario.m; path = ../../../shared/scenarios/HandledErrorThreadSendAlwaysScenario.m; sourceTree = ""; }; + 0915E1712CA59CF0006B1815 /* ObjCMsgSendScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ObjCMsgSendScenario.m; path = ../../../shared/scenarios/ObjCMsgSendScenario.m; sourceTree = ""; }; + 0915E1722CA59CF0006B1815 /* ResumeSessionOOMScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ResumeSessionOOMScenario.m; path = ../../../shared/scenarios/ResumeSessionOOMScenario.m; sourceTree = ""; }; + 0915E1732CA59CF0006B1815 /* MetadataMergeScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MetadataMergeScenario.swift; path = ../../../shared/scenarios/MetadataMergeScenario.swift; sourceTree = ""; }; + 0915E1742CA59CF0006B1815 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift; sourceTree = ""; }; + 0915E1752CA59CF0006B1815 /* OversizedCrashReportScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OversizedCrashReportScenario.swift; path = ../../../shared/scenarios/OversizedCrashReportScenario.swift; sourceTree = ""; }; + 0915E1762CA59CF0006B1815 /* ResumedSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ResumedSessionScenario.swift; path = ../../../shared/scenarios/ResumedSessionScenario.swift; sourceTree = ""; }; + 0915E1772CA59CF0006B1815 /* AutoContextNSExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AutoContextNSExceptionScenario.swift; path = ../../../shared/scenarios/AutoContextNSExceptionScenario.swift; sourceTree = ""; }; + 0915E1782CA59CF0006B1815 /* LastRunInfoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LastRunInfoScenario.swift; path = ../../../shared/scenarios/LastRunInfoScenario.swift; sourceTree = ""; }; + 0915E1792CA59CF0006B1815 /* DiscardClassesUnhandledCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DiscardClassesUnhandledCrashScenario.swift; path = ../../../shared/scenarios/DiscardClassesUnhandledCrashScenario.swift; sourceTree = ""; }; + 0915E17A2CA59CF0006B1815 /* AppAndDeviceAttributesCallbackOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesCallbackOverrideScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesCallbackOverrideScenario.swift; sourceTree = ""; }; + 0915E17B2CA59CF0006B1815 /* DisabledReleaseStageAutoSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DisabledReleaseStageAutoSessionScenario.swift; path = ../../../shared/scenarios/DisabledReleaseStageAutoSessionScenario.swift; sourceTree = ""; }; + 0915E17C2CA59CF0006B1815 /* AutoSessionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoSessionScenario.m; path = ../../../shared/scenarios/AutoSessionScenario.m; sourceTree = ""; }; + 0915E17D2CA59CF0006B1815 /* OOMLoadScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OOMLoadScenario.swift; path = ../../../shared/scenarios/OOMLoadScenario.swift; sourceTree = ""; }; + 0915E17E2CA59CF0006B1815 /* AppHangDefaultConfigScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppHangDefaultConfigScenario.swift; path = ../../../shared/scenarios/AppHangDefaultConfigScenario.swift; sourceTree = ""; }; + 0915E17F2CA59CF0006B1815 /* DisableAllExceptManualExceptionsAndCrashScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DisableAllExceptManualExceptionsAndCrashScenario.m; path = ../../../shared/scenarios/DisableAllExceptManualExceptionsAndCrashScenario.m; sourceTree = ""; }; + 0915E1802CA59CF0006B1815 /* OldHandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OldHandledErrorScenario.swift; path = ../../../shared/scenarios/OldHandledErrorScenario.swift; sourceTree = ""; }; + 0915E1812CA59CF0006B1815 /* AppDurationScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppDurationScenario.swift; path = ../../../shared/scenarios/AppDurationScenario.swift; sourceTree = ""; }; + 0915E1822CA59CF0006B1815 /* ReadOnlyPageScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ReadOnlyPageScenario.m; path = ../../../shared/scenarios/ReadOnlyPageScenario.m; sourceTree = ""; }; + 0915E1832CA59CF0006B1815 /* OnCrashHandlerScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OnCrashHandlerScenario.m; path = ../../../shared/scenarios/OnCrashHandlerScenario.m; sourceTree = ""; }; + 0915E1842CA59CF1006B1815 /* OOMInactiveScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OOMInactiveScenario.swift; path = ../../../shared/scenarios/OOMInactiveScenario.swift; sourceTree = ""; }; + 0915E1852CA59CF1006B1815 /* ModifyBreadcrumbScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ModifyBreadcrumbScenario.swift; path = ../../../shared/scenarios/ModifyBreadcrumbScenario.swift; sourceTree = ""; }; + 0915E1862CA59CF1006B1815 /* AppAndDeviceAttributesScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesScenario.swift; sourceTree = ""; }; + 0915E1872CA59CF1006B1815 /* ManualContextClientScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ManualContextClientScenario.swift; path = ../../../shared/scenarios/ManualContextClientScenario.swift; sourceTree = ""; }; + 0915E1882CA59CF1006B1815 /* BreadcrumbCallbackCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BreadcrumbCallbackCrashScenario.swift; path = ../../../shared/scenarios/BreadcrumbCallbackCrashScenario.swift; sourceTree = ""; }; + 0915E1892CA59CF1006B1815 /* OnSendOverwriteScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnSendOverwriteScenario.swift; path = ../../../shared/scenarios/OnSendOverwriteScenario.swift; sourceTree = ""; }; + 0915E18A2CA59CF1006B1815 /* OriginalErrorNSExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OriginalErrorNSExceptionScenario.swift; path = ../../../shared/scenarios/OriginalErrorNSExceptionScenario.swift; sourceTree = ""; }; + 0915E18B2CA59CF1006B1815 /* AutoSessionMixedEventsScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoSessionMixedEventsScenario.m; path = ../../../shared/scenarios/AutoSessionMixedEventsScenario.m; sourceTree = ""; }; + 0915E18C2CA59CF1006B1815 /* BreadcrumbCallbackOrderScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BreadcrumbCallbackOrderScenario.swift; path = ../../../shared/scenarios/BreadcrumbCallbackOrderScenario.swift; sourceTree = ""; }; + 0915E18D2CA59CF1006B1815 /* InvalidCrashReportScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = InvalidCrashReportScenario.m; path = ../../../shared/scenarios/InvalidCrashReportScenario.m; sourceTree = ""; }; + 0915E18E2CA59CF1006B1815 /* DispatchCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DispatchCrashScenario.swift; path = ../../../shared/scenarios/DispatchCrashScenario.swift; sourceTree = ""; }; + 0915E18F2CA59CF1006B1815 /* AutoSessionHandledEventsScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoSessionHandledEventsScenario.m; path = ../../../shared/scenarios/AutoSessionHandledEventsScenario.m; sourceTree = ""; }; + 0915E1902CA59CF1006B1815 /* MarkUnhandledHandledScenario.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MarkUnhandledHandledScenario.h; path = ../../../shared/scenarios/MarkUnhandledHandledScenario.h; sourceTree = ""; }; + 0915E1912CA59CF1006B1815 /* HandledErrorValidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HandledErrorValidReleaseStageScenario.swift; path = ../../../shared/scenarios/HandledErrorValidReleaseStageScenario.swift; sourceTree = ""; }; + 0915E1922CA59CF1006B1815 /* PrivilegedInstructionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PrivilegedInstructionScenario.m; path = ../../../shared/scenarios/PrivilegedInstructionScenario.m; sourceTree = ""; }; + 0915E1932CA59CF1006B1815 /* OnErrorOverwriteUnhandledFalseScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnErrorOverwriteUnhandledFalseScenario.swift; path = ../../../shared/scenarios/OnErrorOverwriteUnhandledFalseScenario.swift; sourceTree = ""; }; + 0915E1942CA59CF1006B1815 /* ReadGarbagePointerScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ReadGarbagePointerScenario.m; path = ../../../shared/scenarios/ReadGarbagePointerScenario.m; sourceTree = ""; }; + 0915E1952CA59CF1006B1815 /* HandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HandledErrorScenario.swift; path = ../../../shared/scenarios/HandledErrorScenario.swift; sourceTree = ""; }; + 0915E1962CA59CF1006B1815 /* OverwriteLinkRegisterScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OverwriteLinkRegisterScenario.m; path = ../../../shared/scenarios/OverwriteLinkRegisterScenario.m; sourceTree = ""; }; + 0915E1972CA59CF1006B1815 /* DisabledReleaseStageManualSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DisabledReleaseStageManualSessionScenario.swift; path = ../../../shared/scenarios/DisabledReleaseStageManualSessionScenario.swift; sourceTree = ""; }; + 0915E1982CA59CF1006B1815 /* NullPointerScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NullPointerScenario.m; path = ../../../shared/scenarios/NullPointerScenario.m; sourceTree = ""; }; + 0915E1992CA59CF1006B1815 /* AutoContextNSErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AutoContextNSErrorScenario.swift; path = ../../../shared/scenarios/AutoContextNSErrorScenario.swift; sourceTree = ""; }; + 0915E19A2CA59CF1006B1815 /* OnErrorOverwriteUnhandledTrueScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnErrorOverwriteUnhandledTrueScenario.swift; path = ../../../shared/scenarios/OnErrorOverwriteUnhandledTrueScenario.swift; sourceTree = ""; }; + 0915E19B2CA59CF1006B1815 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift; path = ../../../shared/scenarios/AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift; sourceTree = ""; }; + 0915E19C2CA59CF1006B1815 /* HandledErrorInvalidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HandledErrorInvalidReleaseStageScenario.swift; path = ../../../shared/scenarios/HandledErrorInvalidReleaseStageScenario.swift; sourceTree = ""; }; + 0915E19D2CA59CF1006B1815 /* AutoDetectFalseHandledScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AutoDetectFalseHandledScenario.swift; path = ../../../shared/scenarios/AutoDetectFalseHandledScenario.swift; sourceTree = ""; }; + 0915E19E2CA59CF1006B1815 /* InternalWorkingsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = InternalWorkingsScenario.swift; path = ../../../shared/scenarios/InternalWorkingsScenario.swift; sourceTree = ""; }; + 0915E19F2CA59CF1006B1815 /* OnSendErrorCallbackCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnSendErrorCallbackCrashScenario.swift; path = ../../../shared/scenarios/OnSendErrorCallbackCrashScenario.swift; sourceTree = ""; }; + 0915E1A02CA59CF2006B1815 /* OnErrorOverwriteScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnErrorOverwriteScenario.swift; path = ../../../shared/scenarios/OnErrorOverwriteScenario.swift; sourceTree = ""; }; + 0915E1A12CA59CF2006B1815 /* OOMWillTerminateScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OOMWillTerminateScenario.m; path = ../../../shared/scenarios/OOMWillTerminateScenario.m; sourceTree = ""; }; + 0915E1A22CA59CF2006B1815 /* BareboneTestUnhandledErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BareboneTestUnhandledErrorScenario.swift; path = ../../../shared/scenarios/BareboneTestUnhandledErrorScenario.swift; sourceTree = ""; }; + 0915E1A32CA59CF2006B1815 /* ManualContextOnErrorScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ManualContextOnErrorScenario.swift; path = ../../../shared/scenarios/ManualContextOnErrorScenario.swift; sourceTree = ""; }; + 0915E1A52CA59CF2006B1815 /* EnabledErrorTypesCxxScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = EnabledErrorTypesCxxScenario.mm; path = ../../../shared/scenarios/EnabledErrorTypesCxxScenario.mm; sourceTree = ""; }; + 0915E1A62CA59CF2006B1815 /* ConcurrentCrashesScenario.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ConcurrentCrashesScenario.mm; path = ../../../shared/scenarios/ConcurrentCrashesScenario.mm; sourceTree = ""; }; + 0915E1A72CA59CF2006B1815 /* NewSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NewSessionScenario.swift; path = ../../../shared/scenarios/NewSessionScenario.swift; sourceTree = ""; }; + 0915E1A82CA59CF2006B1815 /* AutoSessionCustomVersionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AutoSessionCustomVersionScenario.m; path = ../../../shared/scenarios/AutoSessionCustomVersionScenario.m; sourceTree = ""; }; + 0915E1A92CA59CF2006B1815 /* LoadConfigFromFileScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LoadConfigFromFileScenario.swift; path = ../../../shared/scenarios/LoadConfigFromFileScenario.swift; sourceTree = ""; }; + 0915E1AA2CA59CF2006B1815 /* MetadataRedactionNestedScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MetadataRedactionNestedScenario.swift; path = ../../../shared/scenarios/MetadataRedactionNestedScenario.swift; sourceTree = ""; }; + 0915E1AB2CA59CF2006B1815 /* NetworkBreadcrumbsScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NetworkBreadcrumbsScenario.swift; path = ../../../shared/scenarios/NetworkBreadcrumbsScenario.swift; sourceTree = ""; }; + 0915E1AC2CA59CF2006B1815 /* DiscardedBreadcrumbTypeScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DiscardedBreadcrumbTypeScenario.swift; path = ../../../shared/scenarios/DiscardedBreadcrumbTypeScenario.swift; sourceTree = ""; }; + 0915E1AD2CA59CF2006B1815 /* AppHangFatalDisabledScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppHangFatalDisabledScenario.swift; path = ../../../shared/scenarios/AppHangFatalDisabledScenario.swift; sourceTree = ""; }; + 0915E1AE2CA59CF2006B1815 /* ManualSessionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ManualSessionScenario.m; path = ../../../shared/scenarios/ManualSessionScenario.m; sourceTree = ""; }; + 0915E1AF2CA59CF2006B1815 /* AppHangDisabledScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppHangDisabledScenario.swift; path = ../../../shared/scenarios/AppHangDisabledScenario.swift; sourceTree = ""; }; + 0915E1B02CA59CF2006B1815 /* MarkUnhandledHandledScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MarkUnhandledHandledScenario.m; path = ../../../shared/scenarios/MarkUnhandledHandledScenario.m; sourceTree = ""; }; + 0915E1B12CA59CF2006B1815 /* OnSendCallbackOrderScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnSendCallbackOrderScenario.swift; path = ../../../shared/scenarios/OnSendCallbackOrderScenario.swift; sourceTree = ""; }; + 0915E1B22CA59CF2006B1815 /* NotifyCallbackCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = NotifyCallbackCrashScenario.swift; path = ../../../shared/scenarios/NotifyCallbackCrashScenario.swift; sourceTree = ""; }; + 0915E1B32CA59CF2006B1815 /* MaxPersistedSessionsScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MaxPersistedSessionsScenario.m; path = ../../../shared/scenarios/MaxPersistedSessionsScenario.m; sourceTree = ""; }; + 0915E1B42CA59CF2006B1815 /* MetadataRedactionDefaultScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MetadataRedactionDefaultScenario.swift; path = ../../../shared/scenarios/MetadataRedactionDefaultScenario.swift; sourceTree = ""; }; + 0915E1B52CA59CF2006B1815 /* AppHangFatalOnlyScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppHangFatalOnlyScenario.swift; path = ../../../shared/scenarios/AppHangFatalOnlyScenario.swift; sourceTree = ""; }; + 0915E1B62CA59CF2006B1815 /* DisabledSessionTrackingScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DisabledSessionTrackingScenario.m; path = ../../../shared/scenarios/DisabledSessionTrackingScenario.m; sourceTree = ""; }; + 0915E1B72CA59CF2006B1815 /* ManualContextConfigurationScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ManualContextConfigurationScenario.swift; path = ../../../shared/scenarios/ManualContextConfigurationScenario.swift; sourceTree = ""; }; + 0915E1B82CA59CF2006B1815 /* AsyncSafeThreadScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AsyncSafeThreadScenario.m; path = ../../../shared/scenarios/AsyncSafeThreadScenario.m; sourceTree = ""; }; + 0915E1B92CA59CF2006B1815 /* AutoDetectFalseNSExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AutoDetectFalseNSExceptionScenario.swift; path = ../../../shared/scenarios/AutoDetectFalseNSExceptionScenario.swift; sourceTree = ""; }; + 0915E1BA2CA59CF2006B1815 /* DisableMachExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DisableMachExceptionScenario.m; path = ../../../shared/scenarios/DisableMachExceptionScenario.m; sourceTree = ""; }; + 0915E1BB2CA59CF2006B1815 /* HandledErrorOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HandledErrorOverrideScenario.swift; path = ../../../shared/scenarios/HandledErrorOverrideScenario.swift; sourceTree = ""; }; + 0915E1BC2CA59CF2006B1815 /* OOMSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OOMSessionScenario.swift; path = ../../../shared/scenarios/OOMSessionScenario.swift; sourceTree = ""; }; + 0915E1BD2CA59CF3006B1815 /* NonExistentMethodScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NonExistentMethodScenario.m; path = ../../../shared/scenarios/NonExistentMethodScenario.m; sourceTree = ""; }; + 0915E1BF2CA59CF3006B1815 /* AbortOverrideScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AbortOverrideScenario.m; path = ../../../shared/scenarios/AbortOverrideScenario.m; sourceTree = ""; }; + 0915E1C02CA59CF3006B1815 /* ManyConcurrentNotifyScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ManyConcurrentNotifyScenario.m; path = ../../../shared/scenarios/ManyConcurrentNotifyScenario.m; sourceTree = ""; }; + 0915E1C22CA59CF3006B1815 /* DisableNSExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DisableNSExceptionScenario.m; path = ../../../shared/scenarios/DisableNSExceptionScenario.m; sourceTree = ""; }; + 0915E1C32CA59CF3006B1815 /* HandledExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = HandledExceptionScenario.swift; path = ../../../shared/scenarios/HandledExceptionScenario.swift; sourceTree = ""; }; + 0915E1C42CA59CF3006B1815 /* ReleasedObjectScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ReleasedObjectScenario.m; path = ../../../shared/scenarios/ReleasedObjectScenario.m; sourceTree = ""; }; + 0915E1C52CA59CF3006B1815 /* AppHangScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppHangScenario.swift; path = ../../../shared/scenarios/AppHangScenario.swift; sourceTree = ""; }; + 0915E1C62CA59CF3006B1815 /* EnabledReleaseStageManualSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = EnabledReleaseStageManualSessionScenario.swift; path = ../../../shared/scenarios/EnabledReleaseStageManualSessionScenario.swift; sourceTree = ""; }; + 0915E1C72CA59CF3006B1815 /* DiscardClassesUnhandledExceptionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DiscardClassesUnhandledExceptionScenario.swift; path = ../../../shared/scenarios/DiscardClassesUnhandledExceptionScenario.swift; sourceTree = ""; }; + 0915E1C82CA59CF3006B1815 /* RecrashScenarios.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RecrashScenarios.mm; path = ../../../shared/scenarios/RecrashScenarios.mm; sourceTree = ""; }; + 0915E1C92CA59CF3006B1815 /* LoadConfigFromFileAutoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LoadConfigFromFileAutoScenario.swift; path = ../../../shared/scenarios/LoadConfigFromFileAutoScenario.swift; sourceTree = ""; }; + 0915E1CA2CA59CF3006B1815 /* NSExceptionShiftScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = NSExceptionShiftScenario.m; path = ../../../shared/scenarios/NSExceptionShiftScenario.m; sourceTree = ""; }; + 0915E1CB2CA59CF3006B1815 /* ObjCExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ObjCExceptionScenario.m; path = ../../../shared/scenarios/ObjCExceptionScenario.m; sourceTree = ""; }; + 0915E1CC2CA59CF3006B1815 /* AppHangInTerminationScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppHangInTerminationScenario.swift; path = ../../../shared/scenarios/AppHangInTerminationScenario.swift; sourceTree = ""; }; + 0915E1CD2CA59CF3006B1815 /* CouldNotCreateDirectoryScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CouldNotCreateDirectoryScenario.swift; path = ../../../shared/scenarios/CouldNotCreateDirectoryScenario.swift; sourceTree = ""; }; + 0915E1CE2CA59CF3006B1815 /* OnSendCallbackRemovalScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OnSendCallbackRemovalScenario.m; path = ../../../shared/scenarios/OnSendCallbackRemovalScenario.m; sourceTree = ""; }; + 0915E1CF2CA59CF3006B1815 /* ObjCExceptionOverrideScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ObjCExceptionOverrideScenario.m; path = ../../../shared/scenarios/ObjCExceptionOverrideScenario.m; sourceTree = ""; }; + 0915E25A2CA59DEA006B1815 /* SIGBUSScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGBUSScenario.m; path = ../../../shared/scenarios/SIGBUSScenario.m; sourceTree = ""; }; + 0915E25B2CA59DEA006B1815 /* SIGPIPEIgnoredScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGPIPEIgnoredScenario.m; path = ../../../shared/scenarios/SIGPIPEIgnoredScenario.m; sourceTree = ""; }; + 0915E25C2CA59DEA006B1815 /* SessionCallbackOrderScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SessionCallbackOrderScenario.swift; path = ../../../shared/scenarios/SessionCallbackOrderScenario.swift; sourceTree = ""; }; + 0915E25D2CA59DEA006B1815 /* UndefinedInstructionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UndefinedInstructionScenario.m; path = ../../../shared/scenarios/UndefinedInstructionScenario.m; sourceTree = ""; }; + 0915E25E2CA59DEA006B1815 /* UnhandledErrorThreadSendNeverScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UnhandledErrorThreadSendNeverScenario.m; path = ../../../shared/scenarios/UnhandledErrorThreadSendNeverScenario.m; sourceTree = ""; }; + 0915E25F2CA59DEA006B1815 /* StopSessionOOMScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StopSessionOOMScenario.m; path = ../../../shared/scenarios/StopSessionOOMScenario.m; sourceTree = ""; }; + 0915E2602CA59DEA006B1815 /* SIGFPEScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGFPEScenario.m; path = ../../../shared/scenarios/SIGFPEScenario.m; sourceTree = ""; }; + 0915E2612CA59DEA006B1815 /* UnhandledErrorValidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UnhandledErrorValidReleaseStageScenario.swift; path = ../../../shared/scenarios/UnhandledErrorValidReleaseStageScenario.swift; sourceTree = ""; }; + 0915E2622CA59DEA006B1815 /* UserFromClientScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UserFromClientScenario.swift; path = ../../../shared/scenarios/UserFromClientScenario.swift; sourceTree = ""; }; + 0915E2632CA59DEA006B1815 /* UserFromConfigScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UserFromConfigScenario.swift; path = ../../../shared/scenarios/UserFromConfigScenario.swift; sourceTree = ""; }; + 0915E2642CA59DEA006B1815 /* SwiftCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftCrashScenario.swift; path = ../../../shared/scenarios/SwiftCrashScenario.swift; sourceTree = ""; }; + 0915E2652CA59DEA006B1815 /* UserPersistenceDontPersistUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserPersistenceDontPersistUserScenario.m; path = ../../../shared/scenarios/UserPersistenceDontPersistUserScenario.m; sourceTree = ""; }; + 0915E2662CA59DEA006B1815 /* UserSessionOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UserSessionOverrideScenario.swift; path = ../../../shared/scenarios/UserSessionOverrideScenario.swift; sourceTree = ""; }; + 0915E2672CA59DEA006B1815 /* SwiftAssertionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftAssertionScenario.swift; path = ../../../shared/scenarios/SwiftAssertionScenario.swift; sourceTree = ""; }; + 0915E2682CA59DEA006B1815 /* UserPersistencePersistUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserPersistencePersistUserScenario.m; path = ../../../shared/scenarios/UserPersistencePersistUserScenario.m; sourceTree = ""; }; + 0915E2692CA59DEA006B1815 /* UserInfoScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UserInfoScenario.swift; path = ../../../shared/scenarios/UserInfoScenario.swift; sourceTree = ""; }; + 0915E26A2CA59DEA006B1815 /* UserPersistenceNoUserScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserPersistenceNoUserScenario.m; path = ../../../shared/scenarios/UserPersistenceNoUserScenario.m; sourceTree = ""; }; + 0915E26B2CA59DEA006B1815 /* SIGSYSScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGSYSScenario.m; path = ../../../shared/scenarios/SIGSYSScenario.m; sourceTree = ""; }; + 0915E26C2CA59DEA006B1815 /* SIGSEGVScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGSEGVScenario.m; path = ../../../shared/scenarios/SIGSEGVScenario.m; sourceTree = ""; }; + 0915E26D2CA59DEA006B1815 /* SIGTRAPScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGTRAPScenario.m; path = ../../../shared/scenarios/SIGTRAPScenario.m; sourceTree = ""; }; + 0915E26E2CA59DEA006B1815 /* SendLaunchCrashesSynchronouslyScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SendLaunchCrashesSynchronouslyScenario.swift; path = ../../../shared/scenarios/SendLaunchCrashesSynchronouslyScenario.swift; sourceTree = ""; }; + 0915E26F2CA59DEA006B1815 /* spin_malloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = spin_malloc.h; path = ../../../shared/scenarios/spin_malloc.h; sourceTree = ""; }; + 0915E2702CA59DEA006B1815 /* UserEventOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UserEventOverrideScenario.swift; path = ../../../shared/scenarios/UserEventOverrideScenario.swift; sourceTree = ""; }; + 0915E2712CA59DEA006B1815 /* UnhandledMachExceptionOverrideScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UnhandledMachExceptionOverrideScenario.m; path = ../../../shared/scenarios/UnhandledMachExceptionOverrideScenario.m; sourceTree = ""; }; + 0915E2722CA59DEA006B1815 /* StackOverflowScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = StackOverflowScenario.m; path = ../../../shared/scenarios/StackOverflowScenario.m; sourceTree = ""; }; + 0915E2732CA59DEA006B1815 /* SessionCallbackRemovalScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SessionCallbackRemovalScenario.m; path = ../../../shared/scenarios/SessionCallbackRemovalScenario.m; sourceTree = ""; }; + 0915E2742CA59DEA006B1815 /* StoppedSessionScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = StoppedSessionScenario.swift; path = ../../../shared/scenarios/StoppedSessionScenario.swift; sourceTree = ""; }; + 0915E2752CA59DEA006B1815 /* SessionCallbackCrashScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SessionCallbackCrashScenario.swift; path = ../../../shared/scenarios/SessionCallbackCrashScenario.swift; sourceTree = ""; }; + 0915E2772CA59DEA006B1815 /* UserNilScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UserNilScenario.swift; path = ../../../shared/scenarios/UserNilScenario.swift; sourceTree = ""; }; + 0915E2782CA59DEA006B1815 /* SIGPIPEScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGPIPEScenario.m; path = ../../../shared/scenarios/SIGPIPEScenario.m; sourceTree = ""; }; + 0915E2792CA59DEA006B1815 /* UnhandledErrorThreadSendAlwaysScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UnhandledErrorThreadSendAlwaysScenario.m; path = ../../../shared/scenarios/UnhandledErrorThreadSendAlwaysScenario.m; sourceTree = ""; }; + 0915E27A2CA59DEA006B1815 /* TelemetryUsageDisabledScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TelemetryUsageDisabledScenario.swift; path = ../../../shared/scenarios/TelemetryUsageDisabledScenario.swift; sourceTree = ""; }; + 0915E27B2CA59DEA006B1815 /* UnhandledMachExceptionScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UnhandledMachExceptionScenario.m; path = ../../../shared/scenarios/UnhandledMachExceptionScenario.m; sourceTree = ""; }; + 0915E27C2CA59DEA006B1815 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift; path = ../../../shared/scenarios/SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift; sourceTree = ""; }; + 0915E27D2CA59DEA006B1815 /* SessionCallbackOverrideScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SessionCallbackOverrideScenario.swift; path = ../../../shared/scenarios/SessionCallbackOverrideScenario.swift; sourceTree = ""; }; + 0915E27E2CA59DEA006B1815 /* UnhandledErrorChangeValidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UnhandledErrorChangeValidReleaseStageScenario.swift; path = ../../../shared/scenarios/UnhandledErrorChangeValidReleaseStageScenario.swift; sourceTree = ""; }; + 0915E27F2CA59DEA006B1815 /* UnhandledErrorInvalidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UnhandledErrorInvalidReleaseStageScenario.swift; path = ../../../shared/scenarios/UnhandledErrorInvalidReleaseStageScenario.swift; sourceTree = ""; }; + 0915E2802CA59DEA006B1815 /* SessionOOMScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SessionOOMScenario.m; path = ../../../shared/scenarios/SessionOOMScenario.m; sourceTree = ""; }; + 0915E2812CA59DEB006B1815 /* SessionCallbackDiscardScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SessionCallbackDiscardScenario.swift; path = ../../../shared/scenarios/SessionCallbackDiscardScenario.swift; sourceTree = ""; }; + 0915E2822CA59DEB006B1815 /* ThermalStateBreadcrumbScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ThermalStateBreadcrumbScenario.swift; path = ../../../shared/scenarios/ThermalStateBreadcrumbScenario.swift; sourceTree = ""; }; + 0915E2832CA59DEB006B1815 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = UnhandledErrorChangeInvalidReleaseStageScenario.swift; path = ../../../shared/scenarios/UnhandledErrorChangeInvalidReleaseStageScenario.swift; sourceTree = ""; }; + 0915E2842CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyFalseScenario.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SendLaunchCrashesSynchronouslyFalseScenario.swift; path = ../../../shared/scenarios/SendLaunchCrashesSynchronouslyFalseScenario.swift; sourceTree = ""; }; + 0915E2852CA59DEB006B1815 /* UserPersistencePersistUserClientScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserPersistencePersistUserClientScenario.m; path = ../../../shared/scenarios/UserPersistencePersistUserClientScenario.m; sourceTree = ""; }; + 0915E2862CA59DEB006B1815 /* SIGILLScenario.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SIGILLScenario.m; path = ../../../shared/scenarios/SIGILLScenario.m; sourceTree = ""; }; + 0915E2B32CA59E4C006B1815 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = macOSTestApp/AppDelegate.m; sourceTree = SOURCE_ROOT; }; + 0915E2B42CA59E4C006B1815 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = macOSTestApp/AppDelegate.h; sourceTree = SOURCE_ROOT; }; + 0915E2B62CA59E69006B1815 /* MainWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = MainWindowController.xib; path = macOSTestApp/MainWindowController.xib; sourceTree = SOURCE_ROOT; }; + 0915E2B72CA59E69006B1815 /* MainWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MainWindowController.h; path = macOSTestApp/MainWindowController.h; sourceTree = SOURCE_ROOT; }; + 0915E2BE2CA68851006B1815 /* MainWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainWindowController.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0915E1122CA59011006B1815 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0915E2C02CA68886006B1815 /* Bugsnag.xcframework in Frameworks */, + 0915E2C32CA68888006B1815 /* BugsnagNetworkRequestPlugin.xcframework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0915E10C2CA59011006B1815 = { + isa = PBXGroup; + children = ( + 0915E1172CA59011006B1815 /* macOSTestAppXcFramework */, + 0915E1162CA59011006B1815 /* Products */, + ); + sourceTree = ""; + }; + 0915E1162CA59011006B1815 /* Products */ = { + isa = PBXGroup; + children = ( + 0915E1152CA59011006B1815 /* macOSTestAppXcFramework.app */, + ); + name = Products; + sourceTree = ""; + }; + 0915E1172CA59011006B1815 /* macOSTestAppXcFramework */ = { + isa = PBXGroup; + children = ( + 0915E2B72CA59E69006B1815 /* MainWindowController.h */, + 0915E2BE2CA68851006B1815 /* MainWindowController.m */, + 0915E2B62CA59E69006B1815 /* MainWindowController.xib */, + 0915E2B42CA59E4C006B1815 /* AppDelegate.h */, + 0915E2B32CA59E4C006B1815 /* AppDelegate.m */, + 0915E11E2CA59012006B1815 /* Assets.xcassets */, + 0915E1402CA59BEE006B1815 /* Bridge_PublicAPI.h */, + 0915E12C2CA590F6006B1815 /* Bugsnag.xcframework */, + 0915E12B2CA590F6006B1815 /* BugsnagNetworkRequestPlugin.xcframework */, + 0915E1252CA59012006B1815 /* macOSTestAppXcFramework.entitlements */, + 0915E1232CA59012006B1815 /* main.m */, + 0915E1412CA59C26006B1815 /* scenarios */, + 0915E1382CA5912D006B1815 /* utils */, + ); + path = macOSTestAppXcFramework; + sourceTree = ""; + }; + 0915E1382CA5912D006B1815 /* utils */ = { + isa = PBXGroup; + children = ( + 0915E12F2CA5912D006B1815 /* BugsnagWrapper.swift */, + 0915E1302CA5912D006B1815 /* CommandReaderThread.swift */, + 0915E1312CA5912D006B1815 /* Fixture.swift */, + 0915E1322CA5912D006B1815 /* FixtureConfig.h */, + 0915E1332CA5912D006B1815 /* FixtureConfig.m */, + 0915E1342CA5912D006B1815 /* Logging.h */, + 0915E1352CA5912D006B1815 /* Logging.m */, + 0915E1362CA5912D006B1815 /* Logging.swift */, + 0915E1372CA5912D006B1815 /* MazeRunnerCommand.swift */, + ); + name = utils; + path = ../../shared/utils; + sourceTree = ""; + }; + 0915E1412CA59C26006B1815 /* scenarios */ = { + isa = PBXGroup; + children = ( + 0915E1BF2CA59CF3006B1815 /* AbortOverrideScenario.m */, + 0915E1642CA59CEF006B1815 /* AbortScenario.m */, + 0915E1532CA59CEF006B1815 /* AccessNonObjectScenario.m */, + 0915E17A2CA59CF0006B1815 /* AppAndDeviceAttributesCallbackOverrideScenario.swift */, + 0915E14C2CA59CEE006B1815 /* AppAndDeviceAttributesConfigOverrideScenario.swift */, + 0915E1602CA59CEF006B1815 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift */, + 0915E1862CA59CF1006B1815 /* AppAndDeviceAttributesScenario.swift */, + 0915E1472CA59CEE006B1815 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift */, + 0915E19B2CA59CF1006B1815 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift */, + 0915E1742CA59CF0006B1815 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift */, + 0915E1812CA59CF0006B1815 /* AppDurationScenario.swift */, + 0915E17E2CA59CF0006B1815 /* AppHangDefaultConfigScenario.swift */, + 0915E1AF2CA59CF2006B1815 /* AppHangDisabledScenario.swift */, + 0915E1AD2CA59CF2006B1815 /* AppHangFatalDisabledScenario.swift */, + 0915E1B52CA59CF2006B1815 /* AppHangFatalOnlyScenario.swift */, + 0915E1CC2CA59CF3006B1815 /* AppHangInTerminationScenario.swift */, + 0915E1C52CA59CF3006B1815 /* AppHangScenario.swift */, + 0915E16F2CA59CF0006B1815 /* AsyncSafeMallocScenario.m */, + 0915E1B82CA59CF2006B1815 /* AsyncSafeThreadScenario.m */, + 0915E1622CA59CEF006B1815 /* AutoCaptureRunScenario.m */, + 0915E1992CA59CF1006B1815 /* AutoContextNSErrorScenario.swift */, + 0915E1772CA59CF0006B1815 /* AutoContextNSExceptionScenario.swift */, + 0915E16D2CA59CF0006B1815 /* AutoDetectFalseAbortScenario.swift */, + 0915E19D2CA59CF1006B1815 /* AutoDetectFalseHandledScenario.swift */, + 0915E1B92CA59CF2006B1815 /* AutoDetectFalseNSExceptionScenario.swift */, + 0915E1A82CA59CF2006B1815 /* AutoSessionCustomVersionScenario.m */, + 0915E18F2CA59CF1006B1815 /* AutoSessionHandledEventsScenario.m */, + 0915E18B2CA59CF1006B1815 /* AutoSessionMixedEventsScenario.m */, + 0915E17C2CA59CF0006B1815 /* AutoSessionScenario.m */, + 0915E1482CA59CEE006B1815 /* AutoSessionUnhandledScenario.m */, + 0915E1572CA59CEF006B1815 /* AutoSessionWithUserScenario.m */, + 0915E14D2CA59CEE006B1815 /* BareboneTestHandledScenario.swift */, + 0915E1A22CA59CF2006B1815 /* BareboneTestUnhandledErrorScenario.swift */, + 0915E1882CA59CF1006B1815 /* BreadcrumbCallbackCrashScenario.swift */, + 0915E14F2CA59CEE006B1815 /* BreadcrumbCallbackDiscardScenario.swift */, + 0915E18C2CA59CF1006B1815 /* BreadcrumbCallbackOrderScenario.swift */, + 0915E1612CA59CEF006B1815 /* BreadcrumbCallbackOverrideScenario.swift */, + 0915E1692CA59CEF006B1815 /* BreadcrumbCallbackRemovalScenario.m */, + 0915E16B2CA59CF0006B1815 /* BuiltinTrapScenario.m */, + 0915E1A62CA59CF2006B1815 /* ConcurrentCrashesScenario.mm */, + 0915E1CD2CA59CF3006B1815 /* CouldNotCreateDirectoryScenario.swift */, + 0915E1542CA59CEF006B1815 /* CriticalThermalStateScenario.swift */, + 0915E1522CA59CEF006B1815 /* CxxBareThrowScenario.mm */, + 0915E15F2CA59CEF006B1815 /* CxxExceptionOverrideScenario.mm */, + 0915E1652CA59CEF006B1815 /* CxxExceptionScenario.mm */, + 0915E1452CA59CEE006B1815 /* DelayedNotifyErrorScenario.swift */, + 0915E17F2CA59CF0006B1815 /* DisableAllExceptManualExceptionsAndCrashScenario.m */, + 0915E17B2CA59CF0006B1815 /* DisabledReleaseStageAutoSessionScenario.swift */, + 0915E1972CA59CF1006B1815 /* DisabledReleaseStageManualSessionScenario.swift */, + 0915E1B62CA59CF2006B1815 /* DisabledSessionTrackingScenario.m */, + 0915E1BA2CA59CF2006B1815 /* DisableMachExceptionScenario.m */, + 0915E1C22CA59CF3006B1815 /* DisableNSExceptionScenario.m */, + 0915E1512CA59CEF006B1815 /* DisableSignalsExceptionScenario.m */, + 0915E14A2CA59CEE006B1815 /* DiscardClassesHandledExceptionRegexScenario.swift */, + 0915E1792CA59CF0006B1815 /* DiscardClassesUnhandledCrashScenario.swift */, + 0915E1C72CA59CF3006B1815 /* DiscardClassesUnhandledExceptionScenario.swift */, + 0915E1AC2CA59CF2006B1815 /* DiscardedBreadcrumbTypeScenario.swift */, + 0915E18E2CA59CF1006B1815 /* DispatchCrashScenario.swift */, + 0915E1562CA59CEF006B1815 /* EnabledBreadcrumbTypesIsNilScenario.swift */, + 0915E1A52CA59CF2006B1815 /* EnabledErrorTypesCxxScenario.mm */, + 0915E14E2CA59CEE006B1815 /* EnabledReleaseStageAutoSessionScenario.swift */, + 0915E1C62CA59CF3006B1815 /* EnabledReleaseStageManualSessionScenario.swift */, + 0915E19C2CA59CF1006B1815 /* HandledErrorInvalidReleaseStageScenario.swift */, + 0915E1BB2CA59CF2006B1815 /* HandledErrorOverrideScenario.swift */, + 0915E1952CA59CF1006B1815 /* HandledErrorScenario.swift */, + 0915E1702CA59CF0006B1815 /* HandledErrorThreadSendAlwaysScenario.m */, + 0915E1592CA59CEF006B1815 /* HandledErrorThreadSendUnhandledOnlyScenario.m */, + 0915E1912CA59CF1006B1815 /* HandledErrorValidReleaseStageScenario.swift */, + 0915E1C32CA59CF3006B1815 /* HandledExceptionScenario.swift */, + 0915E19E2CA59CF1006B1815 /* InternalWorkingsScenario.swift */, + 0915E18D2CA59CF1006B1815 /* InvalidCrashReportScenario.m */, + 0915E1782CA59CF0006B1815 /* LastRunInfoScenario.swift */, + 0915E1C92CA59CF3006B1815 /* LoadConfigFromFileAutoScenario.swift */, + 0915E1A92CA59CF2006B1815 /* LoadConfigFromFileScenario.swift */, + 0915E1872CA59CF1006B1815 /* ManualContextClientScenario.swift */, + 0915E1B72CA59CF2006B1815 /* ManualContextConfigurationScenario.swift */, + 0915E1A32CA59CF2006B1815 /* ManualContextOnErrorScenario.swift */, + 0915E1AE2CA59CF2006B1815 /* ManualSessionScenario.m */, + 0915E1582CA59CEF006B1815 /* ManualSessionWithUserScenario.m */, + 0915E1C02CA59CF3006B1815 /* ManyConcurrentNotifyScenario.m */, + 0915E1902CA59CF1006B1815 /* MarkUnhandledHandledScenario.h */, + 0915E1B02CA59CF2006B1815 /* MarkUnhandledHandledScenario.m */, + 0915E1B32CA59CF2006B1815 /* MaxPersistedSessionsScenario.m */, + 0915E1732CA59CF0006B1815 /* MetadataMergeScenario.swift */, + 0915E1B42CA59CF2006B1815 /* MetadataRedactionDefaultScenario.swift */, + 0915E1AA2CA59CF2006B1815 /* MetadataRedactionNestedScenario.swift */, + 0915E15C2CA59CEF006B1815 /* MetadataRedactionRegexScenario.swift */, + 0915E15B2CA59CEF006B1815 /* ModifyBreadcrumbInNotifyScenario.swift */, + 0915E1852CA59CF1006B1815 /* ModifyBreadcrumbScenario.swift */, + 0915E1AB2CA59CF2006B1815 /* NetworkBreadcrumbsScenario.swift */, + 0915E1A72CA59CF2006B1815 /* NewSessionScenario.swift */, + 0915E1BD2CA59CF3006B1815 /* NonExistentMethodScenario.m */, + 0915E1B22CA59CF2006B1815 /* NotifyCallbackCrashScenario.swift */, + 0915E1CA2CA59CF3006B1815 /* NSExceptionShiftScenario.m */, + 0915E1982CA59CF1006B1815 /* NullPointerScenario.m */, + 0915E1CF2CA59CF3006B1815 /* ObjCExceptionOverrideScenario.m */, + 0915E1CB2CA59CF3006B1815 /* ObjCExceptionScenario.m */, + 0915E1712CA59CF0006B1815 /* ObjCMsgSendScenario.m */, + 0915E16E2CA59CF0006B1815 /* OldCrashReportScenario.swift */, + 0915E1802CA59CF0006B1815 /* OldHandledErrorScenario.swift */, + 0915E1552CA59CEF006B1815 /* OldSessionScenario.m */, + 0915E1832CA59CF0006B1815 /* OnCrashHandlerScenario.m */, + 0915E1A02CA59CF2006B1815 /* OnErrorOverwriteScenario.swift */, + 0915E1932CA59CF1006B1815 /* OnErrorOverwriteUnhandledFalseScenario.swift */, + 0915E19A2CA59CF1006B1815 /* OnErrorOverwriteUnhandledTrueScenario.swift */, + 0915E1B12CA59CF2006B1815 /* OnSendCallbackOrderScenario.swift */, + 0915E1CE2CA59CF3006B1815 /* OnSendCallbackRemovalScenario.m */, + 0915E19F2CA59CF1006B1815 /* OnSendErrorCallbackCrashScenario.swift */, + 0915E15A2CA59CEF006B1815 /* OnSendErrorCallbackFeatureFlagsScenario.swift */, + 0915E1462CA59CEE006B1815 /* OnSendErrorPersistenceScenario.m */, + 0915E1892CA59CF1006B1815 /* OnSendOverwriteScenario.swift */, + 0915E1492CA59CEE006B1815 /* OOMAutoDetectErrorsScenario.swift */, + 0915E1632CA59CEF006B1815 /* OOMEnabledErrorTypesScenario.swift */, + 0915E1842CA59CF1006B1815 /* OOMInactiveScenario.swift */, + 0915E17D2CA59CF0006B1815 /* OOMLoadScenario.swift */, + 0915E1502CA59CEF006B1815 /* OOMSessionlessScenario.m */, + 0915E1BC2CA59CF2006B1815 /* OOMSessionScenario.swift */, + 0915E1A12CA59CF2006B1815 /* OOMWillTerminateScenario.m */, + 0915E15D2CA59CEF006B1815 /* OriginalErrorNSErrorScenario.swift */, + 0915E18A2CA59CF1006B1815 /* OriginalErrorNSExceptionScenario.swift */, + 0915E1672CA59CEF006B1815 /* OversizedBreadcrumbsScenario.swift */, + 0915E1752CA59CF0006B1815 /* OversizedCrashReportScenario.swift */, + 0915E14B2CA59CEE006B1815 /* OversizedHandledErrorScenario.swift */, + 0915E1962CA59CF1006B1815 /* OverwriteLinkRegisterScenario.m */, + 0915E1922CA59CF1006B1815 /* PrivilegedInstructionScenario.m */, + 0915E1942CA59CF1006B1815 /* ReadGarbagePointerScenario.m */, + 0915E1822CA59CF0006B1815 /* ReadOnlyPageScenario.m */, + 0915E1C82CA59CF3006B1815 /* RecrashScenarios.mm */, + 0915E1C42CA59CF3006B1815 /* ReleasedObjectScenario.m */, + 0915E1762CA59CF0006B1815 /* ResumedSessionScenario.swift */, + 0915E1722CA59CF0006B1815 /* ResumeSessionOOMScenario.m */, + 0915E1432CA59C35006B1815 /* Scenario.h */, + 0915E1422CA59C35006B1815 /* Scenario.m */, + 0915E2842CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyFalseScenario.swift */, + 0915E27C2CA59DEA006B1815 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift */, + 0915E26E2CA59DEA006B1815 /* SendLaunchCrashesSynchronouslyScenario.swift */, + 0915E2752CA59DEA006B1815 /* SessionCallbackCrashScenario.swift */, + 0915E2812CA59DEB006B1815 /* SessionCallbackDiscardScenario.swift */, + 0915E25C2CA59DEA006B1815 /* SessionCallbackOrderScenario.swift */, + 0915E27D2CA59DEA006B1815 /* SessionCallbackOverrideScenario.swift */, + 0915E2732CA59DEA006B1815 /* SessionCallbackRemovalScenario.m */, + 0915E2802CA59DEA006B1815 /* SessionOOMScenario.m */, + 0915E25A2CA59DEA006B1815 /* SIGBUSScenario.m */, + 0915E2602CA59DEA006B1815 /* SIGFPEScenario.m */, + 0915E2862CA59DEB006B1815 /* SIGILLScenario.m */, + 0915E25B2CA59DEA006B1815 /* SIGPIPEIgnoredScenario.m */, + 0915E2782CA59DEA006B1815 /* SIGPIPEScenario.m */, + 0915E26C2CA59DEA006B1815 /* SIGSEGVScenario.m */, + 0915E26B2CA59DEA006B1815 /* SIGSYSScenario.m */, + 0915E26D2CA59DEA006B1815 /* SIGTRAPScenario.m */, + 0915E26F2CA59DEA006B1815 /* spin_malloc.h */, + 0915E2722CA59DEA006B1815 /* StackOverflowScenario.m */, + 0915E2742CA59DEA006B1815 /* StoppedSessionScenario.swift */, + 0915E25F2CA59DEA006B1815 /* StopSessionOOMScenario.m */, + 0915E2672CA59DEA006B1815 /* SwiftAssertionScenario.swift */, + 0915E2642CA59DEA006B1815 /* SwiftCrashScenario.swift */, + 0915E27A2CA59DEA006B1815 /* TelemetryUsageDisabledScenario.swift */, + 0915E2822CA59DEB006B1815 /* ThermalStateBreadcrumbScenario.swift */, + 0915E25D2CA59DEA006B1815 /* UndefinedInstructionScenario.m */, + 0915E2832CA59DEB006B1815 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift */, + 0915E27E2CA59DEA006B1815 /* UnhandledErrorChangeValidReleaseStageScenario.swift */, + 0915E27F2CA59DEA006B1815 /* UnhandledErrorInvalidReleaseStageScenario.swift */, + 0915E2792CA59DEA006B1815 /* UnhandledErrorThreadSendAlwaysScenario.m */, + 0915E25E2CA59DEA006B1815 /* UnhandledErrorThreadSendNeverScenario.m */, + 0915E2612CA59DEA006B1815 /* UnhandledErrorValidReleaseStageScenario.swift */, + 0915E2712CA59DEA006B1815 /* UnhandledMachExceptionOverrideScenario.m */, + 0915E27B2CA59DEA006B1815 /* UnhandledMachExceptionScenario.m */, + 0915E2702CA59DEA006B1815 /* UserEventOverrideScenario.swift */, + 0915E2622CA59DEA006B1815 /* UserFromClientScenario.swift */, + 0915E2632CA59DEA006B1815 /* UserFromConfigScenario.swift */, + 0915E2692CA59DEA006B1815 /* UserInfoScenario.swift */, + 0915E2772CA59DEA006B1815 /* UserNilScenario.swift */, + 0915E2652CA59DEA006B1815 /* UserPersistenceDontPersistUserScenario.m */, + 0915E26A2CA59DEA006B1815 /* UserPersistenceNoUserScenario.m */, + 0915E2852CA59DEB006B1815 /* UserPersistencePersistUserClientScenario.m */, + 0915E2682CA59DEA006B1815 /* UserPersistencePersistUserScenario.m */, + 0915E2662CA59DEA006B1815 /* UserSessionOverrideScenario.swift */, + ); + path = scenarios; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 0915E1142CA59011006B1815 /* macOSTestAppXcFramework */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0915E1282CA59012006B1815 /* Build configuration list for PBXNativeTarget "macOSTestAppXcFramework" */; + buildPhases = ( + 0915E1112CA59011006B1815 /* Sources */, + 0915E1122CA59011006B1815 /* Frameworks */, + 0915E1132CA59011006B1815 /* Resources */, + 0915E2C22CA68886006B1815 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = macOSTestAppXcFramework; + productName = macOSTestAppXcFramework; + productReference = 0915E1152CA59011006B1815 /* macOSTestAppXcFramework.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0915E10D2CA59011006B1815 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1540; + TargetAttributes = { + 0915E1142CA59011006B1815 = { + CreatedOnToolsVersion = 15.4; + }; + }; + }; + buildConfigurationList = 0915E1102CA59011006B1815 /* Build configuration list for PBXProject "macOSTestAppXcFramework" */; + compatibilityVersion = "Xcode 14.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 0915E10C2CA59011006B1815; + productRefGroup = 0915E1162CA59011006B1815 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 0915E1142CA59011006B1815 /* macOSTestAppXcFramework */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 0915E1132CA59011006B1815 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0915E11F2CA59012006B1815 /* Assets.xcassets in Resources */, + 0915E2B92CA59E69006B1815 /* MainWindowController.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 0915E1112CA59011006B1815 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0915E2872CA59DEB006B1815 /* SIGBUSScenario.m in Sources */, + 0915E2582CA59CF3006B1815 /* OnSendCallbackRemovalScenario.m in Sources */, + 0915E1D02CA59CF3006B1815 /* DelayedNotifyErrorScenario.swift in Sources */, + 0915E2402CA59CF3006B1815 /* DisabledSessionTrackingScenario.m in Sources */, + 0915E2BF2CA68851006B1815 /* MainWindowController.m in Sources */, + 0915E1D92CA59CF3006B1815 /* EnabledReleaseStageAutoSessionScenario.swift in Sources */, + 0915E2A62CA59DEB006B1815 /* TelemetryUsageDisabledScenario.swift in Sources */, + 0915E2982CA59DEB006B1815 /* SIGSYSScenario.m in Sources */, + 0915E2472CA59CF3006B1815 /* NonExistentMethodScenario.m in Sources */, + 0915E2312CA59CF3006B1815 /* NewSessionScenario.swift in Sources */, + 0915E1E82CA59CF3006B1815 /* OriginalErrorNSErrorScenario.swift in Sources */, + 0915E2292CA59CF3006B1815 /* OnSendErrorCallbackCrashScenario.swift in Sources */, + 0915E2012CA59CF3006B1815 /* ResumedSessionScenario.swift in Sources */, + 0915E2112CA59CF3006B1815 /* AppAndDeviceAttributesScenario.swift in Sources */, + 0915E20F2CA59CF3006B1815 /* OOMInactiveScenario.swift in Sources */, + 0915E20E2CA59CF3006B1815 /* OnCrashHandlerScenario.m in Sources */, + 0915E2492CA59CF3006B1815 /* AbortOverrideScenario.m in Sources */, + 0915E2422CA59CF3006B1815 /* AsyncSafeThreadScenario.m in Sources */, + 0915E2042CA59CF3006B1815 /* DiscardClassesUnhandledCrashScenario.swift in Sources */, + 0915E2572CA59CF3006B1815 /* CouldNotCreateDirectoryScenario.swift in Sources */, + 0915E1242CA59012006B1815 /* main.m in Sources */, + 0915E2B12CA59DEB006B1815 /* UserPersistencePersistUserClientScenario.m in Sources */, + 0915E2B22CA59DEB006B1815 /* SIGILLScenario.m in Sources */, + 0915E1FE2CA59CF3006B1815 /* MetadataMergeScenario.swift in Sources */, + 0915E2252CA59CF3006B1815 /* AppAndDeviceAttributesUnhandledExceptionAfterLaunchScenario.swift in Sources */, + 0915E2362CA59CF3006B1815 /* DiscardedBreadcrumbTypeScenario.swift in Sources */, + 0915E1EF2CA59CF3006B1815 /* AbortScenario.m in Sources */, + 0915E2512CA59CF3006B1815 /* DiscardClassesUnhandledExceptionScenario.swift in Sources */, + 0915E1E72CA59CF3006B1815 /* MetadataRedactionRegexScenario.swift in Sources */, + 0915E2522CA59CF3006B1815 /* RecrashScenarios.mm in Sources */, + 0915E1DA2CA59CF3006B1815 /* BreadcrumbCallbackDiscardScenario.swift in Sources */, + 0915E23D2CA59CF3006B1815 /* MaxPersistedSessionsScenario.m in Sources */, + 0915E2552CA59CF3006B1815 /* ObjCExceptionScenario.m in Sources */, + 0915E1DB2CA59CF3006B1815 /* OOMSessionlessScenario.m in Sources */, + 0915E2382CA59CF3006B1815 /* ManualSessionScenario.m in Sources */, + 0915E29A2CA59DEB006B1815 /* SIGTRAPScenario.m in Sources */, + 0915E24E2CA59CF3006B1815 /* ReleasedObjectScenario.m in Sources */, + 0915E2952CA59DEB006B1815 /* UserPersistencePersistUserScenario.m in Sources */, + 0915E2132CA59CF3006B1815 /* BreadcrumbCallbackCrashScenario.swift in Sources */, + 0915E2962CA59DEB006B1815 /* UserInfoScenario.swift in Sources */, + 0915E1D32CA59CF3006B1815 /* AutoSessionUnhandledScenario.m in Sources */, + 0915E1442CA59C35006B1815 /* Scenario.m in Sources */, + 0915E2A02CA59DEB006B1815 /* StoppedSessionScenario.swift in Sources */, + 0915E1D22CA59CF3006B1815 /* AppAndDeviceAttributesStartWithApiKeyScenario.swift in Sources */, + 0915E24C2CA59CF3006B1815 /* DisableNSExceptionScenario.m in Sources */, + 0915E2AA2CA59DEB006B1815 /* UnhandledErrorChangeValidReleaseStageScenario.swift in Sources */, + 0915E2322CA59CF3006B1815 /* AutoSessionCustomVersionScenario.m in Sources */, + 0915E2902CA59DEB006B1815 /* UserFromConfigScenario.swift in Sources */, + 0915E21D2CA59CF3006B1815 /* OnErrorOverwriteUnhandledFalseScenario.swift in Sources */, + 0915E2202CA59CF3006B1815 /* OverwriteLinkRegisterScenario.m in Sources */, + 0915E2A82CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyLaunchCompletedScenario.swift in Sources */, + 0915E21C2CA59CF3006B1815 /* PrivilegedInstructionScenario.m in Sources */, + 0915E21F2CA59CF3006B1815 /* HandledErrorScenario.swift in Sources */, + 0915E2932CA59DEB006B1815 /* UserSessionOverrideScenario.swift in Sources */, + 0915E2262CA59CF3006B1815 /* HandledErrorInvalidReleaseStageScenario.swift in Sources */, + 0915E20C2CA59CF3006B1815 /* AppDurationScenario.swift in Sources */, + 0915E2A42CA59DEB006B1815 /* SIGPIPEScenario.m in Sources */, + 0915E2032CA59CF3006B1815 /* LastRunInfoScenario.swift in Sources */, + 0915E1FB2CA59CF3006B1815 /* HandledErrorThreadSendAlwaysScenario.m in Sources */, + 0915E13A2CA5912D006B1815 /* CommandReaderThread.swift in Sources */, + 0915E2212CA59CF3006B1815 /* DisabledReleaseStageManualSessionScenario.swift in Sources */, + 0915E1E12CA59CF3006B1815 /* EnabledBreadcrumbTypesIsNilScenario.swift in Sources */, + 0915E2232CA59CF3006B1815 /* AutoContextNSErrorScenario.swift in Sources */, + 0915E22D2CA59CF3006B1815 /* ManualContextOnErrorScenario.swift in Sources */, + 0915E1E02CA59CF3006B1815 /* OldSessionScenario.m in Sources */, + 0915E1ED2CA59CF3006B1815 /* AutoCaptureRunScenario.m in Sources */, + 0915E2172CA59CF3006B1815 /* BreadcrumbCallbackOrderScenario.swift in Sources */, + 0915E2892CA59DEB006B1815 /* SessionCallbackOrderScenario.swift in Sources */, + 0915E2182CA59CF3006B1815 /* InvalidCrashReportScenario.m in Sources */, + 0915E2462CA59CF3006B1815 /* OOMSessionScenario.swift in Sources */, + 0915E2142CA59CF3006B1815 /* OnSendOverwriteScenario.swift in Sources */, + 0915E2542CA59CF3006B1815 /* NSExceptionShiftScenario.m in Sources */, + 0915E2102CA59CF3006B1815 /* ModifyBreadcrumbScenario.swift in Sources */, + 0915E1E62CA59CF3006B1815 /* ModifyBreadcrumbInNotifyScenario.swift in Sources */, + 0915E28F2CA59DEB006B1815 /* UserFromClientScenario.swift in Sources */, + 0915E1F92CA59CF3006B1815 /* OldCrashReportScenario.swift in Sources */, + 0915E1E22CA59CF3006B1815 /* AutoSessionWithUserScenario.m in Sources */, + 0915E2562CA59CF3006B1815 /* AppHangInTerminationScenario.swift in Sources */, + 0915E2072CA59CF3006B1815 /* AutoSessionScenario.m in Sources */, + 0915E20B2CA59CF3006B1815 /* OldHandledErrorScenario.swift in Sources */, + 0915E22B2CA59CF3006B1815 /* OOMWillTerminateScenario.m in Sources */, + 0915E2452CA59CF3006B1815 /* HandledErrorOverrideScenario.swift in Sources */, + 0915E2342CA59CF3006B1815 /* MetadataRedactionNestedScenario.swift in Sources */, + 0915E1E42CA59CF3006B1815 /* HandledErrorThreadSendUnhandledOnlyScenario.m in Sources */, + 0915E2AF2CA59DEB006B1815 /* UnhandledErrorChangeInvalidReleaseStageScenario.swift in Sources */, + 0915E23A2CA59CF3006B1815 /* MarkUnhandledHandledScenario.m in Sources */, + 0915E24A2CA59CF3006B1815 /* ManyConcurrentNotifyScenario.m in Sources */, + 0915E2332CA59CF3006B1815 /* LoadConfigFromFileScenario.swift in Sources */, + 0915E28B2CA59DEB006B1815 /* UnhandledErrorThreadSendNeverScenario.m in Sources */, + 0915E1EB2CA59CF3006B1815 /* AppAndDeviceAttributesInfiniteLaunchDurationScenario.swift in Sources */, + 0915E2AE2CA59DEB006B1815 /* ThermalStateBreadcrumbScenario.swift in Sources */, + 0915E13D2CA5912D006B1815 /* Logging.m in Sources */, + 0915E2B52CA59E4C006B1815 /* AppDelegate.m in Sources */, + 0915E21A2CA59CF3006B1815 /* AutoSessionHandledEventsScenario.m in Sources */, + 0915E2302CA59CF3006B1815 /* ConcurrentCrashesScenario.mm in Sources */, + 0915E2412CA59CF3006B1815 /* ManualContextConfigurationScenario.swift in Sources */, + 0915E2972CA59DEB006B1815 /* UserPersistenceNoUserScenario.m in Sources */, + 0915E22C2CA59CF3006B1815 /* BareboneTestUnhandledErrorScenario.swift in Sources */, + 0915E1F82CA59CF3006B1815 /* AutoDetectFalseAbortScenario.swift in Sources */, + 0915E2992CA59DEB006B1815 /* SIGSEGVScenario.m in Sources */, + 0915E1EC2CA59CF3006B1815 /* BreadcrumbCallbackOverrideScenario.swift in Sources */, + 0915E29B2CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyScenario.swift in Sources */, + 0915E1E52CA59CF3006B1815 /* OnSendErrorCallbackFeatureFlagsScenario.swift in Sources */, + 0915E1FC2CA59CF3006B1815 /* ObjCMsgSendScenario.m in Sources */, + 0915E1F22CA59CF3006B1815 /* OversizedBreadcrumbsScenario.swift in Sources */, + 0915E28E2CA59DEB006B1815 /* UnhandledErrorValidReleaseStageScenario.swift in Sources */, + 0915E1DF2CA59CF3006B1815 /* CriticalThermalStateScenario.swift in Sources */, + 0915E2372CA59CF3006B1815 /* AppHangFatalDisabledScenario.swift in Sources */, + 0915E2442CA59CF3006B1815 /* DisableMachExceptionScenario.m in Sources */, + 0915E1EE2CA59CF3006B1815 /* OOMEnabledErrorTypesScenario.swift in Sources */, + 0915E23F2CA59CF3006B1815 /* AppHangFatalOnlyScenario.swift in Sources */, + 0915E28C2CA59DEB006B1815 /* StopSessionOOMScenario.m in Sources */, + 0915E23E2CA59CF3006B1815 /* MetadataRedactionDefaultScenario.swift in Sources */, + 0915E2222CA59CF3006B1815 /* NullPointerScenario.m in Sources */, + 0915E2162CA59CF3006B1815 /* AutoSessionMixedEventsScenario.m in Sources */, + 0915E2022CA59CF3006B1815 /* AutoContextNSExceptionScenario.swift in Sources */, + 0915E2092CA59CF3006B1815 /* AppHangDefaultConfigScenario.swift in Sources */, + 0915E2242CA59CF3006B1815 /* OnErrorOverwriteUnhandledTrueScenario.swift in Sources */, + 0915E2082CA59CF3006B1815 /* OOMLoadScenario.swift in Sources */, + 0915E2152CA59CF3006B1815 /* OriginalErrorNSExceptionScenario.swift in Sources */, + 0915E1F42CA59CF3006B1815 /* BreadcrumbCallbackRemovalScenario.m in Sources */, + 0915E2A92CA59DEB006B1815 /* SessionCallbackOverrideScenario.swift in Sources */, + 0915E28A2CA59DEB006B1815 /* UndefinedInstructionScenario.m in Sources */, + 0915E1E32CA59CF3006B1815 /* ManualSessionWithUserScenario.m in Sources */, + 0915E23B2CA59CF3006B1815 /* OnSendCallbackOrderScenario.swift in Sources */, + 0915E1392CA5912D006B1815 /* BugsnagWrapper.swift in Sources */, + 0915E2942CA59DEB006B1815 /* SwiftAssertionScenario.swift in Sources */, + 0915E28D2CA59DEB006B1815 /* SIGFPEScenario.m in Sources */, + 0915E13F2CA5912D006B1815 /* MazeRunnerCommand.swift in Sources */, + 0915E2062CA59CF3006B1815 /* DisabledReleaseStageAutoSessionScenario.swift in Sources */, + 0915E1DE2CA59CF3006B1815 /* AccessNonObjectScenario.m in Sources */, + 0915E2272CA59CF3006B1815 /* AutoDetectFalseHandledScenario.swift in Sources */, + 0915E1D12CA59CF3006B1815 /* OnSendErrorPersistenceScenario.m in Sources */, + 0915E2502CA59CF3006B1815 /* EnabledReleaseStageManualSessionScenario.swift in Sources */, + 0915E2A52CA59DEB006B1815 /* UnhandledErrorThreadSendAlwaysScenario.m in Sources */, + 0915E1D52CA59CF3006B1815 /* DiscardClassesHandledExceptionRegexScenario.swift in Sources */, + 0915E2002CA59CF3006B1815 /* OversizedCrashReportScenario.swift in Sources */, + 0915E2282CA59CF3006B1815 /* InternalWorkingsScenario.swift in Sources */, + 0915E22F2CA59CF3006B1815 /* EnabledErrorTypesCxxScenario.mm in Sources */, + 0915E13B2CA5912D006B1815 /* Fixture.swift in Sources */, + 0915E2532CA59CF3006B1815 /* LoadConfigFromFileAutoScenario.swift in Sources */, + 0915E29D2CA59DEB006B1815 /* UnhandledMachExceptionOverrideScenario.m in Sources */, + 0915E2882CA59DEB006B1815 /* SIGPIPEIgnoredScenario.m in Sources */, + 0915E13E2CA5912D006B1815 /* Logging.swift in Sources */, + 0915E2B02CA59DEB006B1815 /* SendLaunchCrashesSynchronouslyFalseScenario.swift in Sources */, + 0915E29C2CA59DEB006B1815 /* UserEventOverrideScenario.swift in Sources */, + 0915E29F2CA59DEB006B1815 /* SessionCallbackRemovalScenario.m in Sources */, + 0915E2122CA59CF3006B1815 /* ManualContextClientScenario.swift in Sources */, + 0915E1D62CA59CF3006B1815 /* OversizedHandledErrorScenario.swift in Sources */, + 0915E2912CA59DEB006B1815 /* SwiftCrashScenario.swift in Sources */, + 0915E2A32CA59DEB006B1815 /* UserNilScenario.swift in Sources */, + 0915E2392CA59CF3006B1815 /* AppHangDisabledScenario.swift in Sources */, + 0915E21E2CA59CF3006B1815 /* ReadGarbagePointerScenario.m in Sources */, + 0915E22A2CA59CF3006B1815 /* OnErrorOverwriteScenario.swift in Sources */, + 0915E2352CA59CF3006B1815 /* NetworkBreadcrumbsScenario.swift in Sources */, + 0915E2A72CA59DEB006B1815 /* UnhandledMachExceptionScenario.m in Sources */, + 0915E2A12CA59DEB006B1815 /* SessionCallbackCrashScenario.swift in Sources */, + 0915E1EA2CA59CF3006B1815 /* CxxExceptionOverrideScenario.mm in Sources */, + 0915E1FD2CA59CF3006B1815 /* ResumeSessionOOMScenario.m in Sources */, + 0915E2AB2CA59DEB006B1815 /* UnhandledErrorInvalidReleaseStageScenario.swift in Sources */, + 0915E1F62CA59CF3006B1815 /* BuiltinTrapScenario.m in Sources */, + 0915E20D2CA59CF3006B1815 /* ReadOnlyPageScenario.m in Sources */, + 0915E1F02CA59CF3006B1815 /* CxxExceptionScenario.mm in Sources */, + 0915E1D42CA59CF3006B1815 /* OOMAutoDetectErrorsScenario.swift in Sources */, + 0915E20A2CA59CF3006B1815 /* DisableAllExceptManualExceptionsAndCrashScenario.m in Sources */, + 0915E1DC2CA59CF3006B1815 /* DisableSignalsExceptionScenario.m in Sources */, + 0915E2052CA59CF3006B1815 /* AppAndDeviceAttributesCallbackOverrideScenario.swift in Sources */, + 0915E2432CA59CF3006B1815 /* AutoDetectFalseNSExceptionScenario.swift in Sources */, + 0915E1FA2CA59CF3006B1815 /* AsyncSafeMallocScenario.m in Sources */, + 0915E1D72CA59CF3006B1815 /* AppAndDeviceAttributesConfigOverrideScenario.swift in Sources */, + 0915E1D82CA59CF3006B1815 /* BareboneTestHandledScenario.swift in Sources */, + 0915E29E2CA59DEB006B1815 /* StackOverflowScenario.m in Sources */, + 0915E24F2CA59CF3006B1815 /* AppHangScenario.swift in Sources */, + 0915E13C2CA5912D006B1815 /* FixtureConfig.m in Sources */, + 0915E2AD2CA59DEB006B1815 /* SessionCallbackDiscardScenario.swift in Sources */, + 0915E21B2CA59CF3006B1815 /* HandledErrorValidReleaseStageScenario.swift in Sources */, + 0915E24D2CA59CF3006B1815 /* HandledExceptionScenario.swift in Sources */, + 0915E2192CA59CF3006B1815 /* DispatchCrashScenario.swift in Sources */, + 0915E1FF2CA59CF3006B1815 /* AppAndDeviceAttributesUnhandledExceptionDuringLaunchScenario.swift in Sources */, + 0915E23C2CA59CF3006B1815 /* NotifyCallbackCrashScenario.swift in Sources */, + 0915E2AC2CA59DEB006B1815 /* SessionOOMScenario.m in Sources */, + 0915E2592CA59CF3006B1815 /* ObjCExceptionOverrideScenario.m in Sources */, + 0915E1DD2CA59CF3006B1815 /* CxxBareThrowScenario.mm in Sources */, + 0915E2922CA59DEB006B1815 /* UserPersistenceDontPersistUserScenario.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 0915E1262CA59012006B1815 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 14.5; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 0915E1272CA59012006B1815 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 14.5; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + }; + name = Release; + }; + 0915E1292CA59012006B1815 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = macOSTestAppXcFramework/macOSTestAppXcFramework.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 7W9PZ27Y5F; + ENABLE_HARDENED_RUNTIME = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSMainStoryboardFile = Main; + INFOPLIST_KEY_NSPrincipalClass = NSApplication; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.bugsnag.macOSTestAppXcFramework; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_PublicAPI.h; + SWIFT_VERSION = 4.2; + }; + name = Debug; + }; + 0915E12A2CA59012006B1815 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = macOSTestAppXcFramework/macOSTestAppXcFramework.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 7W9PZ27Y5F; + ENABLE_HARDENED_RUNTIME = YES; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; + INFOPLIST_KEY_NSMainStoryboardFile = Main; + INFOPLIST_KEY_NSPrincipalClass = NSApplication; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.bugsnag.macOSTestAppXcFramework; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = ../shared/Bridge_PublicAPI.h; + SWIFT_VERSION = 4.2; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 0915E1102CA59011006B1815 /* Build configuration list for PBXProject "macOSTestAppXcFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0915E1262CA59012006B1815 /* Debug */, + 0915E1272CA59012006B1815 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 0915E1282CA59012006B1815 /* Build configuration list for PBXNativeTarget "macOSTestAppXcFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0915E1292CA59012006B1815 /* Debug */, + 0915E12A2CA59012006B1815 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0915E10D2CA59011006B1815 /* Project object */; +} diff --git a/features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AccentColor.colorset/Contents.json b/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 000000000..eb8789700 --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AppIcon.appiconset/Contents.json b/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..3f00db43e --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/Contents.json b/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/Contents.json new file mode 100644 index 000000000..73c00596a --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/features/fixtures/macos/macOSTestAppXcFramework/MainWindowController.m b/features/fixtures/macos/macOSTestAppXcFramework/MainWindowController.m new file mode 100644 index 000000000..53f84049c --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework/MainWindowController.m @@ -0,0 +1,106 @@ +// +// MainWindowController.m +// macOSTestApp +// +// Created by Nick Dowell on 29/10/2020. +// Copyright © 2020 Bugsnag Inc. All rights reserved. +// + +#import "MainWindowController.h" + +#import "Scenario.h" +#import "Logging.h" +#import "macOSTestAppXcFramework-Swift.h" + +#import + +@interface MainWindowController () + +// These properties are used with Cocoa Bindings +@property (copy) NSString *apiKey; +@property (copy) NSString *notifyEndpoint; +@property (copy) NSString *scenarioMetadata; +@property (copy) NSString *scenarioName; +@property (copy) NSString *sessionEndpoint; + +@property (nonatomic,strong) FixtureConfig *fixtureConfig; +@property (nonatomic,strong) Fixture *fixture; + +@end + +#pragma mark - + +static NSString *defaultAPIKey = @"12312312312312312312312312312312"; +static NSString *defaultMazeRunnerURLString = @"http://localhost:9339"; + +@implementation MainWindowController + +- (void)windowDidLoad { + [super windowDidLoad]; + + self.fixtureConfig = [[FixtureConfig alloc] initWithApiKey:defaultAPIKey + mazeRunnerBaseAddress:[NSURL URLWithString:defaultMazeRunnerURLString]]; + self.fixture = [[Fixture alloc] initWithDefaultMazeRunnerURL:self.fixtureConfig.mazeRunnerURL + shouldLoadMazeRunnerURL:NO]; + self.apiKey = self.fixtureConfig.apiKey; + self.notifyEndpoint = self.fixtureConfig.notifyURL.absoluteString; + self.sessionEndpoint = self.fixtureConfig.sessionsURL.absoluteString; +} + +- (void)startFixture { + [self.fixture start]; +} + +- (IBAction)runScenario:(id)sender { + logDebug(@"%s %@", __PRETTY_FUNCTION__, self.scenarioName); + + [self.fixture setApiKeyWithApiKey:self.apiKey]; + [self.fixture setNotifyEndpointWithEndpoint:self.notifyEndpoint]; + [self.fixture setSessionEndpointWithEndpoint:self.sessionEndpoint]; + NSString *scenarioName = self.scenarioName; + NSArray *args = @[]; + if (self.scenarioMetadata != nil) { + args = @[self.scenarioMetadata]; + } + + // Using dispatch_async to prevent AppleEvents swallowing exceptions. + // For more info see https://www.chimehq.com/blog/sad-state-of-exceptions + // 0.1s delay allows accessibility APIs to finish handling the mouse click and returns control to the tests framework. + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ + logInfo(@"Running scenario: %@", scenarioName); + [self.fixture runScenarioWithScenarioName:scenarioName args:args launchCount:1 completion:^{}]; + }); +} + +- (IBAction)startBugsnag:(id)sender { + logDebug(@"%s %@", __PRETTY_FUNCTION__, self.scenarioName); + + NSString *scenarioName = self.scenarioName; + NSArray *args = @[]; + if (self.scenarioMetadata != nil) { + args = @[self.scenarioMetadata]; + } + + [self.fixture startBugsnagForScenarioWithScenarioName:scenarioName args:args launchCount:1 completion:^{}]; +} + +- (IBAction)clearPersistentData:(id)sender { + logInfo(@"Clearing persistent data"); + [self.fixture clearPersistentData]; +} + +- (IBAction)useDashboardEndpoints:(id)sender { + self.notifyEndpoint = @"https://notify.bugsnag.com"; + self.sessionEndpoint = @"https://sessions.bugsnag.com"; +} + +- (IBAction)executeMazeRunnerCommand:(id)sender { + NSLog(@"WARNING: executeMazeRunnerCommand has been DISABLED."); +// Scenario.baseMazeAddress = @"http://localhost:9339"; +// [Scenario executeMazeRunnerCommand:^(NSString *scenarioName, NSString *eventMode){ +// self.scenarioName = scenarioName; +// self.scenarioMetadata = eventMode; +// }]; +} + +@end diff --git a/features/fixtures/macos/macOSTestAppXcFramework/macOSTestAppXcFramework.entitlements b/features/fixtures/macos/macOSTestAppXcFramework/macOSTestAppXcFramework.entitlements new file mode 100644 index 000000000..18aff0ce4 --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework/macOSTestAppXcFramework.entitlements @@ -0,0 +1,10 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + + diff --git a/features/fixtures/macos/macOSTestAppXcFramework/main.m b/features/fixtures/macos/macOSTestAppXcFramework/main.m new file mode 100644 index 000000000..899ec8f9a --- /dev/null +++ b/features/fixtures/macos/macOSTestAppXcFramework/main.m @@ -0,0 +1,15 @@ +// +// main.m +// macOSTestAppXcFramework +// +// Created by Karl Stenerud on 26.09.24. +// + +#import + +int main(int argc, const char * argv[]) { + @autoreleasepool { + // Setup code that might create autoreleased objects goes here. + } + return NSApplicationMain(argc, argv); +} diff --git a/features/fixtures/shared/scenarios/Scenario.m b/features/fixtures/shared/scenarios/Scenario.m index 1be307083..221cb6a43 100644 --- a/features/fixtures/shared/scenarios/Scenario.m +++ b/features/fixtures/shared/scenarios/Scenario.m @@ -12,8 +12,6 @@ #import #import "iOSTestApp-Swift.h" #elif TARGET_OS_OSX -#define SWIFT_MODULE "macOSTestApp" -#import "macOSTestApp-Swift.h" #elif TARGET_OS_WATCH #import "watchos_maze_host.h" #define SWIFT_MODULE "watchOSTestApp_WatchKit_Extension" diff --git a/features/fixtures/shared/utils/Fixture.swift b/features/fixtures/shared/utils/Fixture.swift index c694479a8..afdd8e8f4 100644 --- a/features/fixtures/shared/utils/Fixture.swift +++ b/features/fixtures/shared/utils/Fixture.swift @@ -13,6 +13,7 @@ protocol CommandReceiver { func receiveCommand(command: MazeRunnerCommand) } +@objc class Fixture: NSObject, CommandReceiver { static let defaultApiKey = "12312312312312312312312312312312" @objc static var baseMazeRunnerAddress: URL? From d6ce4050687855edc8f9375815e65e74e0802e35 Mon Sep 17 00:00:00 2001 From: Alex Moinet Date: Mon, 30 Sep 2024 09:10:36 +0100 Subject: [PATCH 28/34] Add Buildkite analytics collectors to pipeline (#1697) * Update pipelines to upload test results to buildkite analytics * Ensure the newest version of maze is being used * Ensure analytics token is passed through * Re-order plugins to read more logically * Remove specific maze-runner versioning and add fail fast to docker env * Remove test collection from older macOS versions * Re-add macOS 11 test collectors --- .buildkite/pipeline.full.yml | 72 ++++++++++++++++++++++++++++- .buildkite/pipeline.yml | 56 ++++++++++++++++++++++ docker-compose.yml | 4 ++ features/support/maze.buildkite.cfg | 3 ++ 4 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 features/support/maze.buildkite.cfg diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 60b8b71c3..8a196e0d6 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -55,6 +55,10 @@ steps: - "--no-tunnel" - "--aws-public-ip" - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -84,6 +88,10 @@ steps: - "--no-tunnel" - "--aws-public-ip" - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -119,6 +127,10 @@ steps: # PLAT-11155: App hang scenarios run on BrowserStack - "features/release" - "--exclude=features/release/[e-z].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -150,6 +162,10 @@ steps: - "--fail-fast" - "features/release" - "--exclude=features/release/[a-d].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -181,6 +197,10 @@ steps: - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -207,6 +227,10 @@ steps: - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -235,6 +259,10 @@ steps: # PLAT-11155: App hang scenarios run on BrowserStack - "features/release" - "--exclude=features/release/[e-z].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -266,6 +294,10 @@ steps: - "--fail-fast" - "features/release" - "--exclude=features/release/[a-d].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -298,6 +330,10 @@ steps: # PLAT-11155: App hang scenarios run on BrowserStack - "features/release" - "--exclude=features/release/[e-z].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -329,6 +365,10 @@ steps: - "--fail-fast" - "features/release" - "--exclude=features/release/[a-d].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -361,6 +401,10 @@ steps: - "--appium-version=1.21.0" - "--fail-fast" - "features/app_hangs.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 5 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -392,6 +436,10 @@ steps: - "--appium-version=1.21.0" - "--fail-fast" - "features/app_hangs.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 5 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -421,6 +469,10 @@ steps: - "--appium-version=1.21.0" - "--fail-fast" - "features/app_hangs.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 5 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -453,6 +505,10 @@ steps: # - "--appium-version=1.21.0" # - "--fail-fast" # - "features/app_hangs.feature" + # test-collector#v1.10.2: + # files: "reports/TEST-*.xml" + # format: "junit" + # branch: "^master|next$$" # concurrency: 5 # concurrency_group: 'browserstack-app' # concurrency_method: eager @@ -473,9 +529,13 @@ steps: upload: - "macOSTestApp.log" - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - - bundle exec maze-runner + - bundle exec maze-runner features/release --os=macos --fail-fast @@ -492,9 +552,13 @@ steps: upload: - "macOSTestApp.log" - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - - bundle exec maze-runner + - bundle exec maze-runner features/release --os=macos --fail-fast @@ -509,6 +573,10 @@ steps: artifacts#v1.5.0: download: ["features/fixtures/macos/output/macOSTestApp_Release.zip"] upload: ["macOSTestApp.log", "maze_output/failed/**/*"] + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - bundle exec maze-runner diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 44f79b765..6ab8c3f78 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -206,6 +206,10 @@ steps: upload: - "macOSTestApp.log" - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - bundle exec maze-runner @@ -225,6 +229,10 @@ steps: upload: - "macOSTestApp.log" - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - bundle exec maze-runner @@ -244,6 +252,10 @@ steps: upload: - "macOSTestApp.log" - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - bundle exec maze-runner @@ -281,6 +293,10 @@ steps: artifacts#v1.5.0: download: ["features/fixtures/macos/output/macOSTestApp_Release.zip"] upload: ["macOSTestApp.log", "maze_output/failed/**/*"] + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - bundle exec maze-runner @@ -374,6 +390,10 @@ steps: - "--fail-fast" - "features/release" - "--exclude=features/release/[e-z].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -405,6 +425,10 @@ steps: - "--fail-fast" - "features/release" - "--exclude=features/release/[a-d].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -434,6 +458,10 @@ steps: - "--appium-version=1.21.0" - "--fail-fast" - "features/app_hangs.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 5 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -475,6 +503,10 @@ steps: - "--aws-public-ip" - "--fail-fast" - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -505,6 +537,10 @@ steps: - "--aws-public-ip" - "--fail-fast" - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -535,6 +571,10 @@ steps: - "--aws-public-ip" - "--fail-fast" - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -565,6 +605,10 @@ steps: - "--aws-public-ip" - "--fail-fast" - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -597,6 +641,10 @@ steps: - "--device=IOS_17" - "--fail-fast" - "features/debug" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 5 concurrency_group: 'browserstack-app' concurrency_method: eager @@ -627,6 +675,10 @@ steps: - "--aws-public-ip" - "--fail-fast" - "features/debug" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" concurrency: 25 concurrency_group: 'bitbar' concurrency_method: eager @@ -647,6 +699,10 @@ steps: upload: - "macOSTestApp.log" - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" commands: - bundle install - bundle exec maze-runner diff --git a/docker-compose.yml b/docker-compose.yml index 392560c19..dfe2683ac 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,6 +4,7 @@ x-common-environment: &common-environment DEBUG: VERBOSE: BUILDKITE: + BUILDKITE_ANALYTICS_TOKEN: BUILDKITE_BRANCH: BUILDKITE_BUILD_CREATOR: BUILDKITE_BUILD_NUMBER: @@ -19,6 +20,7 @@ x-common-environment: &common-environment MAZE_BUGSNAG_API_KEY: MAZE_REPEATER_API_KEY: MAZE_SCENARIO_BUGSNAG_API_KEY: + MAZE_NO_FAIL_FAST: services: cocoa-maze-runner: @@ -31,6 +33,7 @@ services: - ./features/fixtures/ios/output:/app/build - ./features/:/app/features/ - ./maze_output:/app/maze_output + - ./reports/:/app/reports/ cocoa-maze-runner-bitbar: image: 855461928731.dkr.ecr.us-west-1.amazonaws.com/maze-runner-releases:latest-v9-cli @@ -46,3 +49,4 @@ services: - ./features/:/app/features/ - ./maze_output:/app/maze_output - /var/run/docker.sock:/var/run/docker.sock + - ./reports/:/app/reports/ diff --git a/features/support/maze.buildkite.cfg b/features/support/maze.buildkite.cfg new file mode 100644 index 000000000..c5bc18276 --- /dev/null +++ b/features/support/maze.buildkite.cfg @@ -0,0 +1,3 @@ +--format=junit +--out=reports +--format=pretty From 0e9af6630b46f8a4f420802e0277e19af6458c37 Mon Sep 17 00:00:00 2001 From: robert-smartbear <126675445+robert-smartbear@users.noreply.github.com> Date: Wed, 23 Oct 2024 13:30:20 +0200 Subject: [PATCH 29/34] Repo security upgrades (#1699) Co-authored-by: Robert --- .github/workflows/downstream_updates.yml | 1 + .github/workflows/pull_request.yml | 12 +++++++++--- .github/workflows/update_docs.yml | 5 +++-- CODEOWNERS | 1 + 4 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 CODEOWNERS diff --git a/.github/workflows/downstream_updates.yml b/.github/workflows/downstream_updates.yml index ba8794a0f..7e6e61e3b 100644 --- a/.github/workflows/downstream_updates.yml +++ b/.github/workflows/downstream_updates.yml @@ -9,6 +9,7 @@ on: description: 'Version of the submodule to update downstream repos to' required: true type: string +permissions: read-all jobs: update-dependencies: diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index cc52ec08e..aaada37fb 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -1,16 +1,19 @@ name: "Pull Request" on: [pull_request] +permissions: read-all jobs: analyze: + permissions: + statuses: write runs-on: macos-14 env: # Infer 1.0.1 cannot parse the iOS 15 SDK headers DEVELOPER_DIR: /Applications/Xcode_15.4.app steps: - name: Checkout pull request HEAD - uses: actions/checkout@v2 + uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 with: ref: ${{ github.event.pull_request.head.sha }} - name: Install dependencies @@ -21,16 +24,19 @@ jobs: run: make oclint danger: + permissions: + pull-requests: write + statuses: write runs-on: macos-14 steps: - name: Checkout target branch - uses: actions/checkout@v2 + uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 with: ref: ${{ github.base_ref }} - name: Build framework run: xcodebuild -project Bugsnag.xcodeproj -configuration Release -target Bugsnag-iOS -destination generic/platform=iOS -quiet clean build VALID_ARCHS=arm64 RUN_CLANG_STATIC_ANALYZER=NO && mv build build.base - name: Checkout pull request merge branch - uses: actions/checkout@v2 + uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 with: clean: false fetch-depth: 100 diff --git a/.github/workflows/update_docs.yml b/.github/workflows/update_docs.yml index c482febc6..59e89600e 100644 --- a/.github/workflows/update_docs.yml +++ b/.github/workflows/update_docs.yml @@ -2,16 +2,17 @@ name: "Update Docs" on: release: types: [published] +permissions: read-all jobs: build: runs-on: macos-latest steps: - name: Checkout bugsnag-cocoa - uses: actions/checkout@v2 + uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 - name: Checkout docs branch - uses: actions/checkout@v2 + uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0 with: ref: gh-pages path: docs diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 000000000..c0541d810 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +* @robert-smartbear @kstenerud @tomlongridge From 8c47224f092e2d445868d619c4896ae31e34dfba Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 28 Oct 2024 08:47:11 +0000 Subject: [PATCH 30/34] add ios 18 --- .buildkite/pipeline.yml | 714 +++++++++++++++++++++------------------- 1 file changed, 375 insertions(+), 339 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 6ab8c3f78..bfabfb5ef 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -367,155 +367,42 @@ steps: # # BrowserStack # - - label: ':browserstack: iOS 17 E2E tests batch 1' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: "features/fixtures/ios/output/ipa_url_bs_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v3.7.0: - pull: cocoa-maze-runner - run: cocoa-maze-runner - service-ports: true - command: - - "--app=@/app/build/ipa_url_bs_release.txt" - - "--farm=bs" - - "--device=IOS_17" - - "--appium-version=1.21.0" - - "--a11y-locator" - - "--fail-fast" - - "features/release" - - "--exclude=features/release/[e-z].*.feature$" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 25 - concurrency_group: 'browserstack-app' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':browserstack: iOS 17 E2E tests batch 2' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: "features/fixtures/ios/output/ipa_url_bs_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v3.7.0: - pull: cocoa-maze-runner - run: cocoa-maze-runner - service-ports: true - command: - - "--app=@/app/build/ipa_url_bs_release.txt" - - "--farm=bs" - - "--device=IOS_17" - - "--appium-version=1.21.0" - - "--a11y-locator" - - "--fail-fast" - - "features/release" - - "--exclude=features/release/[a-d].*.feature$" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 25 - concurrency_group: 'browserstack-app' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - # PLAT-11155: App hang tests run on BrowserStack (Appium 1.x) for now - - label: ':browserstack: iOS 17 app hang tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 30 - agents: - queue: opensource - plugins: - artifacts#v1.5.0: - download: "features/fixtures/ios/output/ipa_url_bs_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v3.7.0: - pull: cocoa-maze-runner - run: cocoa-maze-runner - command: - - "--app=@build/ipa_url_bs_release.txt" - - "--farm=bs" - - "--device=IOS_17" - - "--appium-version=1.21.0" - - "--fail-fast" - - "features/app_hangs.feature" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 5 - concurrency_group: 'browserstack-app' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - exit_status: 104 # App hang related error - limit: 2 - - ############################################################################## - # - # Basic build E2E tests - Release Configuration - # - - # - # BitBar - # - - - label: ':bitbar: iOS 16 barebone tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/ipa_url_bb_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/ipa_url_bb_release.txt" - - "--farm=bb" - - "--device=IOS_16" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - - "features/release/barebone_tests.feature" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':bitbar: iOS 15 barebone tests' +# - label: ':browserstack: iOS 18 E2E tests batch 1' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.5.0: +# download: "features/fixtures/ios/output/ipa_url_bs_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v3.7.0: +# pull: cocoa-maze-runner +# run: cocoa-maze-runner +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bs_release.txt" +# - "--farm=bs" +# - "--device=IOS_18" +# - "--appium-version=1.21.0" +# - "--a11y-locator" +# - "--fail-fast" +# - "features/release" +# - "--exclude=features/release/[e-z].*.feature$" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'browserstack-app' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 + + - label: ':bitbar: iOS 18 E2E tests batch 1' depends_on: - cocoa_fixture timeout_in_minutes: 60 @@ -532,149 +419,13 @@ steps: command: - "--app=@/app/build/ipa_url_bb_release.txt" - "--farm=bb" - - "--device=IOS_15" + - "--device=IOS_18" - "--no-tunnel" - "--aws-public-ip" - "--fail-fast" - - "features/release/barebone_tests.feature" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':bitbar: iOS 14 barebone tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/ipa_url_bb_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/ipa_url_bb_release.txt" - - "--farm=bb" - - "--device=IOS_14" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - - "features/release/barebone_tests.feature" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':bitbar: iOS 13 barebone tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/ipa_url_bb_release.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/ipa_url_bb_release.txt" - - "--farm=bb" - - "--device=IOS_13" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - - "features/release/barebone_tests.feature" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 25 - concurrency_group: 'bitbar' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - ############################################################################## - # - # Debug configration E2E tests - # - - - label: ':browserstack: iOS 17 debug configuration tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/ipa_url_bs_debug.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner - run: cocoa-maze-runner - command: - - "--app=@/app/build/ipa_url_bs_debug.txt" - - "--farm=bs" - - "--device=IOS_17" - - "--fail-fast" - - "features/debug" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - concurrency: 5 - concurrency_group: 'browserstack-app' - concurrency_method: eager - retry: - automatic: - - exit_status: -1 # Agent was lost - limit: 2 - - - label: ':bitbar: iOS 13 debug configuration tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 60 - agents: - queue: opensource - plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/ipa_url_bb_debug.txt" - upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar - service-ports: true - command: - - "--app=@/app/build/ipa_url_bb_debug.txt" - - "--farm=bb" - - "--device=IOS_13" - - "--no-tunnel" - - "--aws-public-ip" - - "--fail-fast" - - "features/debug" + # PLAT-11155: App hang scenarios run on BrowserStack + - "features/release" + - "--exclude=features/release/[e-z].*.feature$" test-collector#v1.10.2: files: "reports/TEST-*.xml" format: "junit" @@ -686,53 +437,338 @@ steps: automatic: - exit_status: -1 # Agent was lost limit: 2 - - - label: 'macOS 14 debug E2E tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 10 - agents: - queue: macos-14 - plugins: - artifacts#v1.5.0: - download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" - upload: - - "macOSTestApp.log" - - "maze_output/failed/**/*" - test-collector#v1.10.2: - files: "reports/TEST-*.xml" - format: "junit" - branch: "^master|next$$" - commands: - - bundle install - - bundle exec maze-runner - features/debug - --os=macos - --fail-fast - - - label: 'macOS 10.13 debug E2E tests' - depends_on: - - cocoa_fixture - timeout_in_minutes: 10 - agents: - queue: opensource-mac-cocoa-10.13 - plugins: - artifacts#v1.5.0: - download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" - upload: - - "macOSTestApp.log" - - "maze_output/failed/**/*" - commands: - - bundle install - - bundle exec maze-runner - features/debug - --os=macos - --fail-fast - - ############################################################################## - # - # Trigger more tests - # - - - label: 'Conditionally trigger full set of tests' - command: sh -c .buildkite/pipeline_trigger.sh +# +# - label: ':browserstack: iOS 18 E2E tests batch 2' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.5.0: +# download: "features/fixtures/ios/output/ipa_url_bs_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v3.7.0: +# pull: cocoa-maze-runner +# run: cocoa-maze-runner +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bs_release.txt" +# - "--farm=bs" +# - "--device=IOS_18" +# - "--appium-version=1.21.0" +# - "--a11y-locator" +# - "--fail-fast" +# - "features/release" +# - "--exclude=features/release/[a-d].*.feature$" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'browserstack-app' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# # PLAT-11155: App hang tests run on BrowserStack (Appium 1.x) for now +# - label: ':browserstack: iOS 18 app hang tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 30 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.5.0: +# download: "features/fixtures/ios/output/ipa_url_bs_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v3.7.0: +# pull: cocoa-maze-runner +# run: cocoa-maze-runner +# command: +# - "--app=@build/ipa_url_bs_release.txt" +# - "--farm=bs" +# - "--device=IOS_18" +# - "--appium-version=1.21.0" +# - "--fail-fast" +# - "features/app_hangs.feature" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 5 +# concurrency_group: 'browserstack-app' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# - exit_status: 104 # App hang related error +# limit: 2 +# +# ############################################################################## +# # +# # Basic build E2E tests - Release Configuration +# # +# +# # +# # BitBar +# # +# +# - label: ':bitbar: iOS 16 barebone tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.9.3: +# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v4.7.0: +# pull: cocoa-maze-runner-bitbar +# run: cocoa-maze-runner-bitbar +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bb_release.txt" +# - "--farm=bb" +# - "--device=IOS_16" +# - "--no-tunnel" +# - "--aws-public-ip" +# - "--fail-fast" +# - "features/release/barebone_tests.feature" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'bitbar' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# - label: ':bitbar: iOS 15 barebone tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.9.3: +# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v4.7.0: +# pull: cocoa-maze-runner-bitbar +# run: cocoa-maze-runner-bitbar +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bb_release.txt" +# - "--farm=bb" +# - "--device=IOS_15" +# - "--no-tunnel" +# - "--aws-public-ip" +# - "--fail-fast" +# - "features/release/barebone_tests.feature" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'bitbar' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# - label: ':bitbar: iOS 14 barebone tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.9.3: +# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v4.7.0: +# pull: cocoa-maze-runner-bitbar +# run: cocoa-maze-runner-bitbar +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bb_release.txt" +# - "--farm=bb" +# - "--device=IOS_14" +# - "--no-tunnel" +# - "--aws-public-ip" +# - "--fail-fast" +# - "features/release/barebone_tests.feature" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'bitbar' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# - label: ':bitbar: iOS 13 barebone tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.9.3: +# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v4.7.0: +# pull: cocoa-maze-runner-bitbar +# run: cocoa-maze-runner-bitbar +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bb_release.txt" +# - "--farm=bb" +# - "--device=IOS_13" +# - "--no-tunnel" +# - "--aws-public-ip" +# - "--fail-fast" +# - "features/release/barebone_tests.feature" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'bitbar' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# ############################################################################## +# # +# # Debug configration E2E tests +# # +# +# - label: ':browserstack: iOS 18 debug configuration tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.9.3: +# download: "features/fixtures/ios/output/ipa_url_bs_debug.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v4.7.0: +# pull: cocoa-maze-runner +# run: cocoa-maze-runner +# command: +# - "--app=@/app/build/ipa_url_bs_debug.txt" +# - "--farm=bs" +# - "--device=IOS_18" +# - "--fail-fast" +# - "features/debug" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 5 +# concurrency_group: 'browserstack-app' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# - label: ':bitbar: iOS 13 debug configuration tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 60 +# agents: +# queue: opensource +# plugins: +# artifacts#v1.9.3: +# download: "features/fixtures/ios/output/ipa_url_bb_debug.txt" +# upload: "maze_output/failed/**/*" +# docker-compose#v4.7.0: +# pull: cocoa-maze-runner-bitbar +# run: cocoa-maze-runner-bitbar +# service-ports: true +# command: +# - "--app=@/app/build/ipa_url_bb_debug.txt" +# - "--farm=bb" +# - "--device=IOS_13" +# - "--no-tunnel" +# - "--aws-public-ip" +# - "--fail-fast" +# - "features/debug" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# concurrency: 25 +# concurrency_group: 'bitbar' +# concurrency_method: eager +# retry: +# automatic: +# - exit_status: -1 # Agent was lost +# limit: 2 +# +# - label: 'macOS 14 debug E2E tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 10 +# agents: +# queue: macos-14 +# plugins: +# artifacts#v1.5.0: +# download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" +# upload: +# - "macOSTestApp.log" +# - "maze_output/failed/**/*" +# test-collector#v1.10.2: +# files: "reports/TEST-*.xml" +# format: "junit" +# branch: "^master|next$$" +# commands: +# - bundle install +# - bundle exec maze-runner +# features/debug +# --os=macos +# --fail-fast +# +# - label: 'macOS 10.13 debug E2E tests' +# depends_on: +# - cocoa_fixture +# timeout_in_minutes: 10 +# agents: +# queue: opensource-mac-cocoa-10.13 +# plugins: +# artifacts#v1.5.0: +# download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" +# upload: +# - "macOSTestApp.log" +# - "maze_output/failed/**/*" +# commands: +# - bundle install +# - bundle exec maze-runner +# features/debug +# --os=macos +# --fail-fast +# +# ############################################################################## +# # +# # Trigger more tests +# # +# +# - label: 'Conditionally trigger full set of tests' +# command: sh -c .buildkite/pipeline_trigger.sh From 910ef0545ea3638b65bfb6264f8fec616e78a56f Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 28 Oct 2024 09:03:02 +0000 Subject: [PATCH 31/34] add ios 18 --- .buildkite/pipeline.yml | 60 +++++++++-------------------------------- 1 file changed, 12 insertions(+), 48 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index bfabfb5ef..3e1b4d667 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -367,63 +367,27 @@ steps: # # BrowserStack # -# - label: ':browserstack: iOS 18 E2E tests batch 1' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.5.0: -# download: "features/fixtures/ios/output/ipa_url_bs_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v3.7.0: -# pull: cocoa-maze-runner -# run: cocoa-maze-runner -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bs_release.txt" -# - "--farm=bs" -# - "--device=IOS_18" -# - "--appium-version=1.21.0" -# - "--a11y-locator" -# - "--fail-fast" -# - "features/release" -# - "--exclude=features/release/[e-z].*.feature$" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'browserstack-app' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 - - - label: ':bitbar: iOS 18 E2E tests batch 1' + - label: ':browserstack: iOS 18 E2E tests batch 1' depends_on: - cocoa_fixture timeout_in_minutes: 60 agents: queue: opensource plugins: - artifacts#v1.9.3: - download: "features/fixtures/ios/output/ipa_url_bb_release.txt" + artifacts#v1.5.0: + download: "features/fixtures/ios/output/ipa_url_bs_release.txt" upload: "maze_output/failed/**/*" - docker-compose#v4.7.0: - pull: cocoa-maze-runner-bitbar - run: cocoa-maze-runner-bitbar + docker-compose#v3.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner service-ports: true command: - - "--app=@/app/build/ipa_url_bb_release.txt" - - "--farm=bb" + - "--app=@/app/build/ipa_url_bs_release.txt" + - "--farm=bs" - "--device=IOS_18" - - "--no-tunnel" - - "--aws-public-ip" + - "--appium-version=1.21.0" + - "--a11y-locator" - "--fail-fast" - # PLAT-11155: App hang scenarios run on BrowserStack - "features/release" - "--exclude=features/release/[e-z].*.feature$" test-collector#v1.10.2: @@ -431,13 +395,13 @@ steps: format: "junit" branch: "^master|next$$" concurrency: 25 - concurrency_group: 'bitbar' + concurrency_group: 'browserstack-app' concurrency_method: eager retry: automatic: - exit_status: -1 # Agent was lost limit: 2 -# + # - label: ':browserstack: iOS 18 E2E tests batch 2' # depends_on: # - cocoa_fixture From 9268499e57f5a278f8dcbdecac5a68febee7ade8 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 28 Oct 2024 09:41:28 +0000 Subject: [PATCH 32/34] add ios 18 full --- .buildkite/pipeline.full.yml | 104 ++++++ .buildkite/pipeline.yml | 668 +++++++++++++++++------------------ 2 files changed, 438 insertions(+), 334 deletions(-) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index 8a196e0d6..ea593d13e 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -380,6 +380,110 @@ steps: # # BrowserStack # + - label: ':browserstack: iOS 17 E2E tests batch 1' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.5.0: + download: "features/fixtures/ios/output/ipa_url_bs_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v3.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner + service-ports: true + command: + - "--app=@/app/build/ipa_url_bs_release.txt" + - "--farm=bs" + - "--device=IOS_17" + - "--appium-version=1.21.0" + - "--a11y-locator" + - "--fail-fast" + - "features/release" + - "--exclude=features/release/[e-z].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'browserstack-app' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':browserstack: iOS 17 E2E tests batch 2' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.5.0: + download: "features/fixtures/ios/output/ipa_url_bs_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v3.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner + service-ports: true + command: + - "--app=@/app/build/ipa_url_bs_release.txt" + - "--farm=bs" + - "--device=IOS_17" + - "--appium-version=1.21.0" + - "--a11y-locator" + - "--fail-fast" + - "features/release" + - "--exclude=features/release/[a-d].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'browserstack-app' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':browserstack: iOS 17 app hang tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.5.0: + download: "features/fixtures/ios/output/ipa_url_bs_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v3.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner + command: + - "--app=@build/ipa_url_bs_release.txt" + - "--farm=bs" + - "--device=IOS_17" + - "--appium-version=1.21.0" + - "--fail-fast" + - "features/app_hangs.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 5 + concurrency_group: 'browserstack-app' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + - exit_status: 104 # App hang related error + limit: 2 + # PLAT-11155: App hang tests run on BrowserStack (Appium 1.x) for now - label: ':browserstack: iOS 16 app hang tests' depends_on: diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 3e1b4d667..d61750dce 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -402,337 +402,337 @@ steps: - exit_status: -1 # Agent was lost limit: 2 -# - label: ':browserstack: iOS 18 E2E tests batch 2' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.5.0: -# download: "features/fixtures/ios/output/ipa_url_bs_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v3.7.0: -# pull: cocoa-maze-runner -# run: cocoa-maze-runner -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bs_release.txt" -# - "--farm=bs" -# - "--device=IOS_18" -# - "--appium-version=1.21.0" -# - "--a11y-locator" -# - "--fail-fast" -# - "features/release" -# - "--exclude=features/release/[a-d].*.feature$" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'browserstack-app' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# # PLAT-11155: App hang tests run on BrowserStack (Appium 1.x) for now -# - label: ':browserstack: iOS 18 app hang tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 30 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.5.0: -# download: "features/fixtures/ios/output/ipa_url_bs_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v3.7.0: -# pull: cocoa-maze-runner -# run: cocoa-maze-runner -# command: -# - "--app=@build/ipa_url_bs_release.txt" -# - "--farm=bs" -# - "--device=IOS_18" -# - "--appium-version=1.21.0" -# - "--fail-fast" -# - "features/app_hangs.feature" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 5 -# concurrency_group: 'browserstack-app' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# - exit_status: 104 # App hang related error -# limit: 2 -# -# ############################################################################## -# # -# # Basic build E2E tests - Release Configuration -# # -# -# # -# # BitBar -# # -# -# - label: ':bitbar: iOS 16 barebone tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.9.3: -# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v4.7.0: -# pull: cocoa-maze-runner-bitbar -# run: cocoa-maze-runner-bitbar -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bb_release.txt" -# - "--farm=bb" -# - "--device=IOS_16" -# - "--no-tunnel" -# - "--aws-public-ip" -# - "--fail-fast" -# - "features/release/barebone_tests.feature" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'bitbar' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# - label: ':bitbar: iOS 15 barebone tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.9.3: -# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v4.7.0: -# pull: cocoa-maze-runner-bitbar -# run: cocoa-maze-runner-bitbar -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bb_release.txt" -# - "--farm=bb" -# - "--device=IOS_15" -# - "--no-tunnel" -# - "--aws-public-ip" -# - "--fail-fast" -# - "features/release/barebone_tests.feature" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'bitbar' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# - label: ':bitbar: iOS 14 barebone tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.9.3: -# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v4.7.0: -# pull: cocoa-maze-runner-bitbar -# run: cocoa-maze-runner-bitbar -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bb_release.txt" -# - "--farm=bb" -# - "--device=IOS_14" -# - "--no-tunnel" -# - "--aws-public-ip" -# - "--fail-fast" -# - "features/release/barebone_tests.feature" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'bitbar' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# - label: ':bitbar: iOS 13 barebone tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.9.3: -# download: "features/fixtures/ios/output/ipa_url_bb_release.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v4.7.0: -# pull: cocoa-maze-runner-bitbar -# run: cocoa-maze-runner-bitbar -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bb_release.txt" -# - "--farm=bb" -# - "--device=IOS_13" -# - "--no-tunnel" -# - "--aws-public-ip" -# - "--fail-fast" -# - "features/release/barebone_tests.feature" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'bitbar' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# ############################################################################## -# # -# # Debug configration E2E tests -# # -# -# - label: ':browserstack: iOS 18 debug configuration tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.9.3: -# download: "features/fixtures/ios/output/ipa_url_bs_debug.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v4.7.0: -# pull: cocoa-maze-runner -# run: cocoa-maze-runner -# command: -# - "--app=@/app/build/ipa_url_bs_debug.txt" -# - "--farm=bs" -# - "--device=IOS_18" -# - "--fail-fast" -# - "features/debug" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 5 -# concurrency_group: 'browserstack-app' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# - label: ':bitbar: iOS 13 debug configuration tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 60 -# agents: -# queue: opensource -# plugins: -# artifacts#v1.9.3: -# download: "features/fixtures/ios/output/ipa_url_bb_debug.txt" -# upload: "maze_output/failed/**/*" -# docker-compose#v4.7.0: -# pull: cocoa-maze-runner-bitbar -# run: cocoa-maze-runner-bitbar -# service-ports: true -# command: -# - "--app=@/app/build/ipa_url_bb_debug.txt" -# - "--farm=bb" -# - "--device=IOS_13" -# - "--no-tunnel" -# - "--aws-public-ip" -# - "--fail-fast" -# - "features/debug" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# concurrency: 25 -# concurrency_group: 'bitbar' -# concurrency_method: eager -# retry: -# automatic: -# - exit_status: -1 # Agent was lost -# limit: 2 -# -# - label: 'macOS 14 debug E2E tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 10 -# agents: -# queue: macos-14 -# plugins: -# artifacts#v1.5.0: -# download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" -# upload: -# - "macOSTestApp.log" -# - "maze_output/failed/**/*" -# test-collector#v1.10.2: -# files: "reports/TEST-*.xml" -# format: "junit" -# branch: "^master|next$$" -# commands: -# - bundle install -# - bundle exec maze-runner -# features/debug -# --os=macos -# --fail-fast -# -# - label: 'macOS 10.13 debug E2E tests' -# depends_on: -# - cocoa_fixture -# timeout_in_minutes: 10 -# agents: -# queue: opensource-mac-cocoa-10.13 -# plugins: -# artifacts#v1.5.0: -# download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" -# upload: -# - "macOSTestApp.log" -# - "maze_output/failed/**/*" -# commands: -# - bundle install -# - bundle exec maze-runner -# features/debug -# --os=macos -# --fail-fast -# -# ############################################################################## -# # -# # Trigger more tests -# # -# -# - label: 'Conditionally trigger full set of tests' -# command: sh -c .buildkite/pipeline_trigger.sh + - label: ':browserstack: iOS 18 E2E tests batch 2' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.5.0: + download: "features/fixtures/ios/output/ipa_url_bs_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v3.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner + service-ports: true + command: + - "--app=@/app/build/ipa_url_bs_release.txt" + - "--farm=bs" + - "--device=IOS_18" + - "--appium-version=1.21.0" + - "--a11y-locator" + - "--fail-fast" + - "features/release" + - "--exclude=features/release/[a-d].*.feature$" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'browserstack-app' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + # PLAT-11155: App hang tests run on BrowserStack (Appium 1.x) for now + - label: ':browserstack: iOS 18 app hang tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 30 + agents: + queue: opensource + plugins: + artifacts#v1.5.0: + download: "features/fixtures/ios/output/ipa_url_bs_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v3.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner + command: + - "--app=@build/ipa_url_bs_release.txt" + - "--farm=bs" + - "--device=IOS_18" + - "--appium-version=1.21.0" + - "--fail-fast" + - "features/app_hangs.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 5 + concurrency_group: 'browserstack-app' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + - exit_status: 104 # App hang related error + limit: 2 + + ############################################################################## + # + # Basic build E2E tests - Release Configuration + # + + # + # BitBar + # + + - label: ':bitbar: iOS 16 barebone tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/ipa_url_bb_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/ipa_url_bb_release.txt" + - "--farm=bb" + - "--device=IOS_16" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 15 barebone tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/ipa_url_bb_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/ipa_url_bb_release.txt" + - "--farm=bb" + - "--device=IOS_15" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 14 barebone tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/ipa_url_bb_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/ipa_url_bb_release.txt" + - "--farm=bb" + - "--device=IOS_14" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 13 barebone tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/ipa_url_bb_release.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/ipa_url_bb_release.txt" + - "--farm=bb" + - "--device=IOS_13" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + - "features/release/barebone_tests.feature" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + ############################################################################## + # + # Debug configration E2E tests + # + + - label: ':browserstack: iOS 18 debug configuration tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/ipa_url_bs_debug.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner + run: cocoa-maze-runner + command: + - "--app=@/app/build/ipa_url_bs_debug.txt" + - "--farm=bs" + - "--device=IOS_18" + - "--fail-fast" + - "features/debug" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 5 + concurrency_group: 'browserstack-app' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: ':bitbar: iOS 13 debug configuration tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 60 + agents: + queue: opensource + plugins: + artifacts#v1.9.3: + download: "features/fixtures/ios/output/ipa_url_bb_debug.txt" + upload: "maze_output/failed/**/*" + docker-compose#v4.7.0: + pull: cocoa-maze-runner-bitbar + run: cocoa-maze-runner-bitbar + service-ports: true + command: + - "--app=@/app/build/ipa_url_bb_debug.txt" + - "--farm=bb" + - "--device=IOS_13" + - "--no-tunnel" + - "--aws-public-ip" + - "--fail-fast" + - "features/debug" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + concurrency: 25 + concurrency_group: 'bitbar' + concurrency_method: eager + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + + - label: 'macOS 14 debug E2E tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 10 + agents: + queue: macos-14 + plugins: + artifacts#v1.5.0: + download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" + upload: + - "macOSTestApp.log" + - "maze_output/failed/**/*" + test-collector#v1.10.2: + files: "reports/TEST-*.xml" + format: "junit" + branch: "^master|next$$" + commands: + - bundle install + - bundle exec maze-runner + features/debug + --os=macos + --fail-fast + + - label: 'macOS 10.13 debug E2E tests' + depends_on: + - cocoa_fixture + timeout_in_minutes: 10 + agents: + queue: opensource-mac-cocoa-10.13 + plugins: + artifacts#v1.5.0: + download: "features/fixtures/macos/output/macOSTestApp_Debug.zip" + upload: + - "macOSTestApp.log" + - "maze_output/failed/**/*" + commands: + - bundle install + - bundle exec maze-runner + features/debug + --os=macos + --fail-fast + + ############################################################################## + # + # Trigger more tests + # + + - label: 'Conditionally trigger full set of tests' + command: sh -c .buildkite/pipeline_trigger.sh From 72cfce0b2622e453430024510f80c76d10a35621 Mon Sep 17 00:00:00 2001 From: Josh Edney Date: Mon, 28 Oct 2024 09:41:37 +0000 Subject: [PATCH 33/34] [full ci] From ef7165b4b59d8bc264d7fbf673a270e2ba8d94c6 Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 7 Nov 2024 13:44:54 +0100 Subject: [PATCH 34/34] Release v6.30.2 --- .jazzy.yaml | 4 ++-- Bugsnag.podspec.json | 4 ++-- Bugsnag/Payload/BugsnagNotifier.m | 2 +- BugsnagNetworkRequestPlugin.podspec.json | 6 +++--- CHANGELOG.md | 2 +- Framework/Info.plist | 2 +- Tests/BugsnagTests/Info.plist | 2 +- Tests/TestHost-iOS/Info.plist | 2 +- VERSION | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index d4c5f6992..5d71448eb 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -2,11 +2,11 @@ author_url: "https://www.bugsnag.com" author: "Bugsnag Inc" clean: false # avoid deleting docs/.git framework_root: "Bugsnag" -github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa/tree/v6.30.1/Bugsnag" +github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa/tree/v6.30.2/Bugsnag" github_url: "https://github.com/bugsnag/bugsnag-cocoa" hide_documentation_coverage: true module: "Bugsnag" -module_version: "6.30.1" +module_version: "6.30.2" objc: true output: "docs" readme: "README.md" diff --git a/Bugsnag.podspec.json b/Bugsnag.podspec.json index a9b136bd4..eecd175aa 100644 --- a/Bugsnag.podspec.json +++ b/Bugsnag.podspec.json @@ -1,6 +1,6 @@ { "name": "Bugsnag", - "version": "6.30.1", + "version": "6.30.2", "summary": "The Bugsnag crash reporting framework for Apple platforms.", "homepage": "https://bugsnag.com", "license": "MIT", @@ -9,7 +9,7 @@ }, "source": { "git": "https://github.com/bugsnag/bugsnag-cocoa.git", - "tag": "v6.30.1" + "tag": "v6.30.2" }, "ios": { "frameworks": [ diff --git a/Bugsnag/Payload/BugsnagNotifier.m b/Bugsnag/Payload/BugsnagNotifier.m index cd5fd9a43..a3eaf58a6 100644 --- a/Bugsnag/Payload/BugsnagNotifier.m +++ b/Bugsnag/Payload/BugsnagNotifier.m @@ -23,7 +23,7 @@ - (instancetype)init { #else _name = @"Bugsnag Objective-C"; #endif - _version = @"6.30.1"; + _version = @"6.30.2"; _url = @"https://github.com/bugsnag/bugsnag-cocoa"; _dependencies = @[]; } diff --git a/BugsnagNetworkRequestPlugin.podspec.json b/BugsnagNetworkRequestPlugin.podspec.json index 918311e9a..71dfcbaa9 100644 --- a/BugsnagNetworkRequestPlugin.podspec.json +++ b/BugsnagNetworkRequestPlugin.podspec.json @@ -1,16 +1,16 @@ { "name": "BugsnagNetworkRequestPlugin", - "version": "6.30.1", + "version": "6.30.2", "summary": "Network request monitoring support for Bugsnag.", "homepage": "https://bugsnag.com", "license": "MIT", "authors": { "Bugsnag": "notifiers@bugsnag.com" }, - "readme": "https://raw.githubusercontent.com/bugsnag/bugsnag-cocoa/v6.30.1/BugsnagNetworkRequestPlugin/README.md", + "readme": "https://raw.githubusercontent.com/bugsnag/bugsnag-cocoa/v6.30.2/BugsnagNetworkRequestPlugin/README.md", "source": { "git": "https://github.com/bugsnag/bugsnag-cocoa.git", - "tag": "v6.30.1" + "tag": "v6.30.2" }, "dependencies": { "Bugsnag": "~> 6.13" diff --git a/CHANGELOG.md b/CHANGELOG.md index 88ac54e83..6a13acd3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ Changelog ========= -## TBD +## 6.30.2 (2024-11-07) ### Bug Fixes diff --git a/Framework/Info.plist b/Framework/Info.plist index cf0f480cc..b34e5b746 100644 --- a/Framework/Info.plist +++ b/Framework/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.30.1 + 6.30.2 CFBundleVersion 1 diff --git a/Tests/BugsnagTests/Info.plist b/Tests/BugsnagTests/Info.plist index 1783e9ee7..087a825d1 100644 --- a/Tests/BugsnagTests/Info.plist +++ b/Tests/BugsnagTests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 6.30.1 + 6.30.2 CFBundleVersion 1 diff --git a/Tests/TestHost-iOS/Info.plist b/Tests/TestHost-iOS/Info.plist index 4713c1963..13788b3ac 100644 --- a/Tests/TestHost-iOS/Info.plist +++ b/Tests/TestHost-iOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 6.30.1 + 6.30.2 CFBundleVersion 1 LSRequiresIPhoneOS diff --git a/VERSION b/VERSION index 306b5efd0..79418097c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.30.1 +6.30.2