From 793f4ab41460d8fb148224498f666a93c3dc0a84 Mon Sep 17 00:00:00 2001 From: NachoSoto Date: Mon, 8 Jan 2024 12:51:33 -0800 Subject: [PATCH] `Integration Tests`: split into separate jobs (#3560) --- .circleci/config.yml | 95 +++++++++++++++---- .../BackendIntegrationTests-All-CI.xctestplan | 16 ++-- .../BackendIntegrationTests-All.xctestplan | 0 ...grationTests-CustomEntitlements.xctestplan | 48 ++++++++++ ...BackendIntegrationTests-Offline.xctestplan | 76 +++++++++++++++ .../BackendIntegrationTests-Other.xctestplan | 69 ++++++++++++++ .../BackendIntegrationTests-SK1.xctestplan | 77 +++++++++++++++ .../BackendIntegrationTests-SK2.xctestplan | 73 ++++++++++++++ RevenueCat.xcodeproj/project.pbxproj | 26 ++++- .../BackendIntegrationTests.xcscheme | 28 +++++- fastlane/Fastfile | 2 +- 11 files changed, 475 insertions(+), 35 deletions(-) rename Tests/TestPlans/CI-BackendIntegration.xctestplan => BackendIntegrationTests/BackendIntegrationTests-All-CI.xctestplan (87%) rename Tests/TestPlans/BackendIntegrationTests.xctestplan => BackendIntegrationTests/BackendIntegrationTests-All.xctestplan (100%) create mode 100644 BackendIntegrationTests/BackendIntegrationTests-CustomEntitlements.xctestplan create mode 100644 BackendIntegrationTests/BackendIntegrationTests-Offline.xctestplan create mode 100644 BackendIntegrationTests/BackendIntegrationTests-Other.xctestplan create mode 100644 BackendIntegrationTests/BackendIntegrationTests-SK1.xctestplan create mode 100644 BackendIntegrationTests/BackendIntegrationTests-SK2.xctestplan diff --git a/.circleci/config.yml b/.circleci/config.yml index e4148b3abf..b9673b60c6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -296,6 +296,29 @@ commands: name: Run << parameters.job >> command: bundle exec fastlane << parameters.job >> version:"<< parameters.version >>" + run-backend-tests: + parameters: + test_plan: + type: string + steps: + - checkout + - install-dependencies + - update-spm-installation-commit + - run: + name: Run backend_integration Tests + command: bundle exec fastlane backend_integration_tests test_plan:"<< parameters.test_plan >>" + no_output_timeout: 5m + environment: + SCAN_DEVICE: iPhone 14 (16.4) + - compress_result_bundle: + directory: fastlane/test_output/xctest/ios + bundle_name: BackendIntegrationTests + - store_test_results: + path: fastlane/test_output + - store_artifacts: + path: fastlane/test_output/xctest + destination: scan-test-output + jobs: spm-release-build-xcode-14: <<: *base-job @@ -673,26 +696,35 @@ jobs: command: bundle exec fastlane build_visionos no_output_timeout: 30m - backend-integration-tests: + backend-integration-tests-SK1: <<: *base-job steps: - - checkout - - install-dependencies - - update-spm-installation-commit - - run: - name: Run backend_integration Tests - command: bundle exec fastlane backend_integration_tests - no_output_timeout: 5m - environment: - SCAN_DEVICE: iPhone 14 (16.4) - - compress_result_bundle: - directory: fastlane/test_output/xctest/ios - bundle_name: BackendIntegrationTests - - store_test_results: - path: fastlane/test_output - - store_artifacts: - path: fastlane/test_output/xctest - destination: scan-test-output + - run-backend-tests: + test_plan: "BackendIntegrationTests-SK1" + + backend-integration-tests-SK2: + <<: *base-job + steps: + - run-backend-tests: + test_plan: "BackendIntegrationTests-SK2" + + backend-integration-tests-other: + <<: *base-job + steps: + - run-backend-tests: + test_plan: "BackendIntegrationTests-Other" + + backend-integration-tests-offline: + <<: *base-job + steps: + - run-backend-tests: + test_plan: "BackendIntegrationTests-Offline" + + backend-integration-tests-custom-entitlements: + <<: *base-job + steps: + - run-backend-tests: + test_plan: "BackendIntegrationTests-CustomEntitlements" release-checks: <<: *base-job @@ -922,7 +954,7 @@ jobs: bundle_name: v3LoadShedderIntegration - run: name: Backend and LoadShedder integration tests - command: bundle exec fastlane backend_integration_tests + command: bundle exec fastlane backend_integration_tests test_plan:"BackendIntegrationTests-All-CI" no_output_timeout: 5m environment: SCAN_DEVICE: iPhone 14 (16.4) @@ -1075,12 +1107,35 @@ workflows: xcode_version: '14.3.0' - build-visionos: xcode_version: '15.1' - - backend-integration-tests: + - backend-integration-tests-SK1: xcode_version: '14.3.0' filters: branches: # Forked pull requests have CIRCLE_BRANCH set to pull/XXX ignore: /pull\/[0-9]+/ + - backend-integration-tests-SK2: + xcode_version: '14.3.0' + filters: + branches: + # Forked pull requests have CIRCLE_BRANCH set to pull/XXX + ignore: /pull\/[0-9]+/ + - backend-integration-tests-other: + xcode_version: '14.3.0' + filters: + branches: + # Forked pull requests have CIRCLE_BRANCH set to pull/XXX + ignore: /pull\/[0-9]+/ + - backend-integration-tests-offline: + xcode_version: '14.3.0' + # These tests are flaky due to FB13133387 so we don't want the noise in every PR + <<: *release-branches-and-main + - backend-integration-tests-custom-entitlements: + xcode_version: '14.3.0' + filters: + branches: + # Forked pull requests have CIRCLE_BRANCH set to pull/XXX + ignore: /pull\/[0-9]+/ + deploy: when: not: diff --git a/Tests/TestPlans/CI-BackendIntegration.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-All-CI.xctestplan similarity index 87% rename from Tests/TestPlans/CI-BackendIntegration.xctestplan rename to BackendIntegrationTests/BackendIntegrationTests-All-CI.xctestplan index 6cfad91993..a59888dfef 100644 --- a/Tests/TestPlans/CI-BackendIntegration.xctestplan +++ b/BackendIntegrationTests/BackendIntegrationTests-All-CI.xctestplan @@ -1,24 +1,24 @@ { "configurations" : [ { - "id" : "62C79EF4-8071-439C-B693-34F1E57211FC", + "id" : "2587274F-F57F-4216-A271-AC81B1E55A3D", "name" : "Configuration 1", "options" : { - "testTimeoutsEnabled" : true + } } ], "defaultOptions" : { "codeCoverage" : false, "environmentVariableEntries" : [ - { - "key" : "RCMockAdServicesToken", - "value" : "G9i5hC8lQJeGOfmS+MFycll" - }, { "key" : "RCRunningTests", "value" : "1" }, + { + "key" : "RCMockAdServicesToken", + "value" : "G9i5hC8lQJeGOfmS+MFycll" + }, { "key" : "RCRunningIntegrationTests", "value" : "1" @@ -28,8 +28,8 @@ "maximumTestRepetitions" : 5, "targetForVariableExpansion" : { "containerPath" : "container:RevenueCat.xcodeproj", - "identifier" : "2DEAC2D926EFE46E006914ED", - "name" : "UnitTestsHostApp" + "identifier" : "2DE20B7E26409EB7004C597D", + "name" : "BackendIntegrationTestsHostApp" }, "testExecutionOrdering" : "random", "testRepetitionMode" : "retryOnFailure", diff --git a/Tests/TestPlans/BackendIntegrationTests.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-All.xctestplan similarity index 100% rename from Tests/TestPlans/BackendIntegrationTests.xctestplan rename to BackendIntegrationTests/BackendIntegrationTests-All.xctestplan diff --git a/BackendIntegrationTests/BackendIntegrationTests-CustomEntitlements.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-CustomEntitlements.xctestplan new file mode 100644 index 0000000000..d6f737eaec --- /dev/null +++ b/BackendIntegrationTests/BackendIntegrationTests-CustomEntitlements.xctestplan @@ -0,0 +1,48 @@ +{ + "configurations" : [ + { + "id" : "62C79EF4-8071-439C-B693-34F1E57211FC", + "name" : "Configuration 1", + "options" : { + "testTimeoutsEnabled" : true + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "environmentVariableEntries" : [ + { + "key" : "RCMockAdServicesToken", + "value" : "G9i5hC8lQJeGOfmS+MFycll" + }, + { + "key" : "RCRunningTests", + "value" : "1" + }, + { + "key" : "RCRunningIntegrationTests", + "value" : "1" + } + ], + "maximumTestExecutionTimeAllowance" : 180, + "maximumTestRepetitions" : 5, + "targetForVariableExpansion" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "4F6BEE042A27B02400CD9322", + "name" : "BackendCustomEntitlementsIntegrationTests" + }, + "testExecutionOrdering" : "random", + "testRepetitionMode" : "retryOnFailure", + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "target" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "4F6BEE042A27B02400CD9322", + "name" : "BackendCustomEntitlementsIntegrationTests" + } + } + ], + "version" : 1 +} diff --git a/BackendIntegrationTests/BackendIntegrationTests-Offline.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-Offline.xctestplan new file mode 100644 index 0000000000..7b2a0a7606 --- /dev/null +++ b/BackendIntegrationTests/BackendIntegrationTests-Offline.xctestplan @@ -0,0 +1,76 @@ +{ + "configurations" : [ + { + "id" : "62C79EF4-8071-439C-B693-34F1E57211FC", + "name" : "Configuration 1", + "options" : { + "testTimeoutsEnabled" : true + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "environmentVariableEntries" : [ + { + "key" : "RCMockAdServicesToken", + "value" : "G9i5hC8lQJeGOfmS+MFycll" + }, + { + "key" : "RCRunningTests", + "value" : "1" + }, + { + "key" : "RCRunningIntegrationTests", + "value" : "1" + } + ], + "maximumTestExecutionTimeAllowance" : 180, + "maximumTestRepetitions" : 5, + "targetForVariableExpansion" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B6B264087FB004C597D", + "name" : "BackendIntegrationTests" + }, + "testExecutionOrdering" : "random", + "testRepetitionMode" : "retryOnFailure", + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "skippedTests" : [ + "BaseBackendIntegrationTests", + "BaseSignatureVerificationIntegrationTests", + "BaseStoreKitIntegrationTests", + "BaseStoreKitObserverModeIntegrationTests", + "DisabledSignatureVerificationIntegrationTests", + "DynamicModeSignatureVerificationIntegrationTests", + "EnforcedSignatureVerificationIntegrationTests", + "InformationalSignatureVerificationIntegrationTests", + "LoadShedderSignatureVerificationWithoutHeaderHashIntegrationTests", + "LoadShedderStoreKit1IntegrationTests", + "LoadShedderStoreKit2IntegrationTests", + "LoadShedderStoreKit2JWSIntegrationTests", + "OtherIntegrationTests", + "PaywallEventsIntegrationTests", + "SignatureVerificationWithoutHeaderHashIntegrationTests", + "StoreKit1IntegrationTests", + "StoreKit1ObserverModeIntegrationTests", + "StoreKit1ObserverModeWithExistingPurchasesTests", + "StoreKit2IntegrationTests", + "StoreKit2JWSIntegrationTests", + "StoreKit2JWSObserverModeIntegrationTests", + "StoreKit2JWSObserverModeWithExistingPurchasesTests", + "StoreKit2ObserverModeIntegrationTests", + "StoreKit2ObserverModeWithExistingPurchasesTests", + "SubscriberAttributesManagerIntegrationTests", + "TestCase" + ], + "target" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B6B264087FB004C597D", + "name" : "BackendIntegrationTests" + } + } + ], + "version" : 1 +} diff --git a/BackendIntegrationTests/BackendIntegrationTests-Other.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-Other.xctestplan new file mode 100644 index 0000000000..c3eaa25ef7 --- /dev/null +++ b/BackendIntegrationTests/BackendIntegrationTests-Other.xctestplan @@ -0,0 +1,69 @@ +{ + "configurations" : [ + { + "id" : "62C79EF4-8071-439C-B693-34F1E57211FC", + "name" : "Configuration 1", + "options" : { + "testTimeoutsEnabled" : true + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "environmentVariableEntries" : [ + { + "key" : "RCMockAdServicesToken", + "value" : "G9i5hC8lQJeGOfmS+MFycll" + }, + { + "key" : "RCRunningTests", + "value" : "1" + }, + { + "key" : "RCRunningIntegrationTests", + "value" : "1" + } + ], + "maximumTestExecutionTimeAllowance" : 180, + "maximumTestRepetitions" : 5, + "targetForVariableExpansion" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B6B264087FB004C597D", + "name" : "BackendIntegrationTests" + }, + "testExecutionOrdering" : "random", + "testRepetitionMode" : "retryOnFailure", + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "skippedTests" : [ + "BaseBackendIntegrationTests", + "BaseOfflineStoreKitIntegrationTests", + "LoadShedderStoreKit1IntegrationTests", + "LoadShedderStoreKit2IntegrationTests", + "LoadShedderStoreKit2JWSIntegrationTests", + "OfflineStoreKit1IntegrationTests", + "OfflineStoreKit2IntegrationTests", + "OfflineStoreKit2JWSIntegrationTests", + "OfflineWithNoMappingStoreKitIntegrationTests", + "StoreKit1IntegrationTests", + "StoreKit1ObserverModeIntegrationTests", + "StoreKit1ObserverModeWithExistingPurchasesTests", + "StoreKit2IntegrationTests", + "StoreKit2JWSIntegrationTests", + "StoreKit2JWSObserverModeIntegrationTests", + "StoreKit2JWSObserverModeWithExistingPurchasesTests", + "StoreKit2ObserverModeIntegrationTests", + "StoreKit2ObserverModeWithExistingPurchasesTests", + "TestCase" + ], + "target" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B6B264087FB004C597D", + "name" : "BackendIntegrationTests" + } + } + ], + "version" : 1 +} diff --git a/BackendIntegrationTests/BackendIntegrationTests-SK1.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-SK1.xctestplan new file mode 100644 index 0000000000..d00e33d148 --- /dev/null +++ b/BackendIntegrationTests/BackendIntegrationTests-SK1.xctestplan @@ -0,0 +1,77 @@ +{ + "configurations" : [ + { + "id" : "62C79EF4-8071-439C-B693-34F1E57211FC", + "name" : "Configuration 1", + "options" : { + "testTimeoutsEnabled" : true + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "environmentVariableEntries" : [ + { + "key" : "RCMockAdServicesToken", + "value" : "G9i5hC8lQJeGOfmS+MFycll" + }, + { + "key" : "RCRunningTests", + "value" : "1" + }, + { + "key" : "RCRunningIntegrationTests", + "value" : "1" + } + ], + "maximumTestExecutionTimeAllowance" : 180, + "maximumTestRepetitions" : 5, + "targetForVariableExpansion" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B7E26409EB7004C597D", + "name" : "BackendIntegrationTestsHostApp" + }, + "testExecutionOrdering" : "random", + "testRepetitionMode" : "retryOnFailure", + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "skippedTests" : [ + "BaseBackendIntegrationTests", + "BaseOfflineStoreKitIntegrationTests", + "BaseSignatureVerificationIntegrationTests", + "BaseStoreKitIntegrationTests", + "BaseStoreKitObserverModeIntegrationTests", + "DisabledSignatureVerificationIntegrationTests", + "DynamicModeSignatureVerificationIntegrationTests", + "EnforcedSignatureVerificationIntegrationTests", + "InformationalSignatureVerificationIntegrationTests", + "LoadShedderSignatureVerificationWithoutHeaderHashIntegrationTests", + "LoadShedderStoreKit2IntegrationTests", + "LoadShedderStoreKit2JWSIntegrationTests", + "OfflineStoreKit1IntegrationTests", + "OfflineStoreKit2IntegrationTests", + "OfflineStoreKit2JWSIntegrationTests", + "OfflineWithNoMappingStoreKitIntegrationTests", + "OtherIntegrationTests", + "PaywallEventsIntegrationTests", + "SignatureVerificationWithoutHeaderHashIntegrationTests", + "StoreKit2IntegrationTests", + "StoreKit2JWSIntegrationTests", + "StoreKit2JWSObserverModeIntegrationTests", + "StoreKit2JWSObserverModeWithExistingPurchasesTests", + "StoreKit2ObserverModeIntegrationTests", + "StoreKit2ObserverModeWithExistingPurchasesTests", + "SubscriberAttributesManagerIntegrationTests", + "TestCase" + ], + "target" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B6B264087FB004C597D", + "name" : "BackendIntegrationTests" + } + } + ], + "version" : 1 +} diff --git a/BackendIntegrationTests/BackendIntegrationTests-SK2.xctestplan b/BackendIntegrationTests/BackendIntegrationTests-SK2.xctestplan new file mode 100644 index 0000000000..a8a593a009 --- /dev/null +++ b/BackendIntegrationTests/BackendIntegrationTests-SK2.xctestplan @@ -0,0 +1,73 @@ +{ + "configurations" : [ + { + "id" : "62C79EF4-8071-439C-B693-34F1E57211FC", + "name" : "Configuration 1", + "options" : { + "testTimeoutsEnabled" : true + } + } + ], + "defaultOptions" : { + "codeCoverage" : false, + "environmentVariableEntries" : [ + { + "key" : "RCMockAdServicesToken", + "value" : "G9i5hC8lQJeGOfmS+MFycll" + }, + { + "key" : "RCRunningTests", + "value" : "1" + }, + { + "key" : "RCRunningIntegrationTests", + "value" : "1" + } + ], + "maximumTestExecutionTimeAllowance" : 180, + "maximumTestRepetitions" : 5, + "targetForVariableExpansion" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B7E26409EB7004C597D", + "name" : "BackendIntegrationTestsHostApp" + }, + "testExecutionOrdering" : "random", + "testRepetitionMode" : "retryOnFailure", + "testTimeoutsEnabled" : true + }, + "testTargets" : [ + { + "skippedTests" : [ + "BaseBackendIntegrationTests", + "BaseOfflineStoreKitIntegrationTests", + "BaseSignatureVerificationIntegrationTests", + "BaseStoreKitIntegrationTests", + "BaseStoreKitObserverModeIntegrationTests", + "DisabledSignatureVerificationIntegrationTests", + "DynamicModeSignatureVerificationIntegrationTests", + "EnforcedSignatureVerificationIntegrationTests", + "InformationalSignatureVerificationIntegrationTests", + "LoadShedderSignatureVerificationWithoutHeaderHashIntegrationTests", + "LoadShedderStoreKit1IntegrationTests", + "OfflineStoreKit1IntegrationTests", + "OfflineStoreKit2IntegrationTests", + "OfflineStoreKit2JWSIntegrationTests", + "OfflineWithNoMappingStoreKitIntegrationTests", + "OtherIntegrationTests", + "PaywallEventsIntegrationTests", + "SignatureVerificationWithoutHeaderHashIntegrationTests", + "StoreKit1IntegrationTests", + "StoreKit1ObserverModeIntegrationTests", + "StoreKit1ObserverModeWithExistingPurchasesTests", + "SubscriberAttributesManagerIntegrationTests", + "TestCase" + ], + "target" : { + "containerPath" : "container:RevenueCat.xcodeproj", + "identifier" : "2DE20B6B264087FB004C597D", + "name" : "BackendIntegrationTests" + } + } + ], + "version" : 1 +} diff --git a/RevenueCat.xcodeproj/project.pbxproj b/RevenueCat.xcodeproj/project.pbxproj index 6a96c24ac0..c61869041c 100644 --- a/RevenueCat.xcodeproj/project.pbxproj +++ b/RevenueCat.xcodeproj/project.pbxproj @@ -1078,6 +1078,12 @@ 4FDF10EC2A726291004F3680 /* SK1ProductFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SK1ProductFetcher.swift; sourceTree = ""; }; 4FDF10EF2A7262D8004F3680 /* SK2ProductFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SK2ProductFetcher.swift; sourceTree = ""; }; 4FE0685E2A5F54C500B8F56C /* PackageTypeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackageTypeTests.swift; sourceTree = ""; }; + 4FE3A57B2B4C6BB40006A7FC /* BackendIntegrationTests-CustomEntitlements.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-CustomEntitlements.xctestplan"; sourceTree = ""; }; + 4FE3A57C2B4C6BB40006A7FC /* BackendIntegrationTests-Offline.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-Offline.xctestplan"; sourceTree = ""; }; + 4FE3A57D2B4C6BB40006A7FC /* BackendIntegrationTests-SK1.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-SK1.xctestplan"; sourceTree = ""; }; + 4FE3A57E2B4C6BB40006A7FC /* BackendIntegrationTests-Other.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-Other.xctestplan"; sourceTree = ""; }; + 4FE3A57F2B4C6C560006A7FC /* BackendIntegrationTests-SK2.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-SK2.xctestplan"; sourceTree = ""; }; + 4FE3A58C2B4C7FB00006A7FC /* BackendIntegrationTests-All-CI.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-All-CI.xctestplan"; sourceTree = ""; }; 4FE6669E2A2F95A1004EEAFC /* PaywallExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaywallExtensions.swift; sourceTree = ""; }; 4FE6FEE42AA940B700780B45 /* PaywallStoredEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaywallStoredEvent.swift; sourceTree = ""; }; 4FE6FEE72AA940E300780B45 /* PaywallEventStoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaywallEventStoreTests.swift; sourceTree = ""; }; @@ -1104,7 +1110,7 @@ 57057FF728B0048900995F21 /* TestLogHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestLogHandler.swift; sourceTree = ""; }; 57069A5328E3918400B86355 /* AsyncExtensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncExtensions.swift; sourceTree = ""; }; 57069A5D28E398E100B86355 /* AsyncExtensionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AsyncExtensionsTests.swift; sourceTree = ""; }; - 570814C128A308050018BAE3 /* BackendIntegrationTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; name = BackendIntegrationTests.xctestplan; path = Tests/TestPlans/BackendIntegrationTests.xctestplan; sourceTree = ""; }; + 570814C128A308050018BAE3 /* BackendIntegrationTests-All.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "BackendIntegrationTests-All.xctestplan"; sourceTree = ""; }; 570896B227595C8100296F1C /* AllTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; name = AllTests.xctestplan; path = Tests/TestPlans/AllTests.xctestplan; sourceTree = ""; }; 570896B327595C8100296F1C /* RevenueCat.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; name = RevenueCat.xctestplan; path = Tests/TestPlans/RevenueCat.xctestplan; sourceTree = ""; }; 570896B427595C8100296F1C /* Coverage.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; name = Coverage.xctestplan; path = Tests/TestPlans/Coverage.xctestplan; sourceTree = ""; }; @@ -1396,7 +1402,6 @@ B3CD0D8727F25E3E000793F5 /* BackendSubscriberAttributesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BackendSubscriberAttributesTests.swift; sourceTree = ""; }; B3D3C4712685784800CB3C21 /* Package.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; B3DB3EA5288627D7008EB151 /* CI-AllTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; name = "CI-AllTests.xctestplan"; path = "Tests/TestPlans/CI-AllTests.xctestplan"; sourceTree = ""; }; - B3DB3EA828862898008EB151 /* CI-BackendIntegration.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; name = "CI-BackendIntegration.xctestplan"; path = "Tests/TestPlans/CI-BackendIntegration.xctestplan"; sourceTree = ""; }; B3DDB55826854865008CCF23 /* PurchaseOwnershipType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PurchaseOwnershipType.swift; sourceTree = ""; }; B3DF6A4F269524080030D57C /* IntroEligibility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntroEligibility.swift; sourceTree = ""; }; B3E26A4926BE0A8E003ACCF3 /* Error+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Error+Extensions.swift"; sourceTree = ""; }; @@ -2395,6 +2400,20 @@ path = Events; sourceTree = ""; }; + 4FE3A57A2B4C6B1B0006A7FC /* BackendIntegrationTests */ = { + isa = PBXGroup; + children = ( + 570814C128A308050018BAE3 /* BackendIntegrationTests-All.xctestplan */, + 4FE3A58C2B4C7FB00006A7FC /* BackendIntegrationTests-All-CI.xctestplan */, + 4FE3A57B2B4C6BB40006A7FC /* BackendIntegrationTests-CustomEntitlements.xctestplan */, + 4FE3A57C2B4C6BB40006A7FC /* BackendIntegrationTests-Offline.xctestplan */, + 4FE3A57E2B4C6BB40006A7FC /* BackendIntegrationTests-Other.xctestplan */, + 4FE3A57D2B4C6BB40006A7FC /* BackendIntegrationTests-SK1.xctestplan */, + 4FE3A57F2B4C6C560006A7FC /* BackendIntegrationTests-SK2.xctestplan */, + ); + path = BackendIntegrationTests; + sourceTree = ""; + }; 4FE6FEE62AA940E300780B45 /* Events */ = { isa = PBXGroup; children = ( @@ -2583,9 +2602,8 @@ isa = PBXGroup; children = ( 570896B227595C8100296F1C /* AllTests.xctestplan */, - 570814C128A308050018BAE3 /* BackendIntegrationTests.xctestplan */, + 4FE3A57A2B4C6B1B0006A7FC /* BackendIntegrationTests */, B3DB3EA5288627D7008EB151 /* CI-AllTests.xctestplan */, - B3DB3EA828862898008EB151 /* CI-BackendIntegration.xctestplan */, 57910CBD29C393A6006209D5 /* CI-RevenueCat.xctestplan */, 2C646C282A0EBD0300E5936E /* CI-Snapshots.xctestplan */, 4F520EF22B06C7A700DB6770 /* CI-RevenueCat-Snapshots.xctestplan */, diff --git a/RevenueCat.xcodeproj/xcshareddata/xcschemes/BackendIntegrationTests.xcscheme b/RevenueCat.xcodeproj/xcshareddata/xcschemes/BackendIntegrationTests.xcscheme index 3024a4b785..fb4f62b3bb 100644 --- a/RevenueCat.xcodeproj/xcshareddata/xcschemes/BackendIntegrationTests.xcscheme +++ b/RevenueCat.xcodeproj/xcshareddata/xcschemes/BackendIntegrationTests.xcscheme @@ -29,11 +29,26 @@ shouldUseLaunchSchemeArgsEnv = "YES"> + reference = "container:BackendIntegrationTests/BackendIntegrationTests-CustomEntitlements.xctestplan"> + + + + + + + + + + @@ -80,6 +95,15 @@ savedToolIdentifier = "" useCustomWorkingDirectory = "NO" debugDocumentVersioning = "YES"> + + + + diff --git a/fastlane/Fastfile b/fastlane/Fastfile index cefc2be22a..d33d77e1f2 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -595,7 +595,7 @@ platform :ios do output_types: 'junit', output_style: 'raw', result_bundle: true, - testplan: "CI-BackendIntegration", + testplan: options[:test_plan], configuration: 'Debug', output_directory: "fastlane/test_output/xctest/ios" )