Fixed tvOS tests#1928
Merged
Merged
Conversation
NachoSoto
commented
Sep 21, 2022
Turns out we hadn't been running tests on `tvOS` for a while: > [19:08:22]: Couldn't find any matching simulators for '["Apple TV (15.2)"]' - falling back to default simulator > [19:08:22]: Found simulator "iPhone 13 Pro (15.5)" This turns them back on, fixes the compilation issues on `tvOS` tests, and ensures that we don't run into this issue again. ### Changes: - Renamed device in lane `test_tvos` - Enabled `ensure_devices_found` on `iOS` and `tvOS` lanes. This will also ensure that we don't stop running tests on iOS XX because it doesn't find that simulator. - Removed `UnitTestHostApp` storyboards and scene, since those aren't supported in `tvOS`, and aren't needed because there's no UI. - Made `StoreKitUnitTests` and `UnitTestHostApp` targets universal - No longer linking `AdServices` on `tvOS` in test targets - Disabled attribution tests on `tvOS`. Those methods weren't being compiled, but we were testing that a message was being sent, even though it no longer was.
db5c981 to
c4e91c4
Compare
NachoSoto
commented
Sep 21, 2022
Comment on lines
+291
to
+295
| - install-and-create-sim: | ||
| install-name: iOS 14.5 Simulator | ||
| sim-device-type: iPhone-8 | ||
| sim-device-runtime: iOS-14-5 | ||
| sim-name: iPhone 8 (14.5) |
Contributor
Author
There was a problem hiding this comment.
This was missing now in Xcode 14.0
NachoSoto
commented
Sep 21, 2022
| no_output_timeout: 30m | ||
| environment: | ||
| SCAN_DEVICE: iPhone 13 (16.0) | ||
| SCAN_DEVICE: iPhone 14 (16.0) |
Contributor
Author
There was a problem hiding this comment.
This was wrong too.
joshdholtz
approved these changes
Sep 23, 2022
joshdholtz
left a comment
Member
There was a problem hiding this comment.
Just one question on deleted tests but approving because I assume there is a good reason 😊
Comment on lines
-63
to
-93
| func testBeginRefundRequestForProductFatalErrorIfNotIosOrCatalyst() throws { | ||
| #if os(watchOS) || os(macOS) || os(tvOS) | ||
| expectFatalError(expectedMessage: Strings.purchase.begin_refund_request_unsupported.description) { | ||
| _ = try await helper.beginRefundRequest(forProduct: mockProductID) | ||
| } | ||
| #else | ||
| throw XCTSkip("beginRefundRequestForProduct is not available for this test.") | ||
| #endif | ||
| } | ||
|
|
||
| func testBeginRefundRequestForEntitlementFatalErrorIfNotIosOrCatalyst() throws { | ||
| #if os(watchOS) || os(macOS) || os(tvOS) | ||
| expectFatalError(expectedMessage: Strings.purchase.begin_refund_request_unsupported.description) { | ||
| _ = try await helper.beginRefundRequest(forEntitlement: mockEntitlementID) | ||
| } | ||
| #else | ||
| throw XCTSkip("beginRefundRequestForEntitlement is not available for this test.") | ||
| #endif | ||
| } | ||
|
|
||
| func testBeginRefundRequestForActiveEntitlementFatalErrorIfNotIosOrCatalyst() throws { | ||
| #if os(watchOS) || os(macOS) || os(tvOS) | ||
| expectFatalError(expectedMessage: Strings.purchase.begin_refund_request_unsupported.description) { | ||
| _ = try await helper.beginRefundRequestforActiveEntitlement() | ||
| } | ||
| #else | ||
| throw XCTSkip("beginRefundRequestForEntitlement is not available for this test.") | ||
| #endif | ||
| } | ||
|
|
||
| #if os(iOS) |
Member
There was a problem hiding this comment.
Why are these being deleted? 🤔
Contributor
Author
There was a problem hiding this comment.
Oh I forgot to explain. The expectation wasn't being met (maybe it was before?). The methods aren't even being compiled anymore.
Contributor
Author
There was a problem hiding this comment.
Literally no code used that message string
NachoSoto
added a commit
that referenced
this pull request
Sep 23, 2022
Turns out we hadn't been running tests on `tvOS` for a while: > [19:08:22]: Couldn't find any matching simulators for '["Apple TV (15.2)"]' - falling back to default simulator > [19:08:22]: Found simulator "iPhone 13 Pro (15.5)" I found this went I went to dig into [this failure](#1926 (comment)). Turns out that wasn't running on `tvOS` anyway. This turns them back on, fixes the compilation issues on `tvOS` tests, and ensures that we don't run into this issue again. ### Changes: - Renamed device in lane `test_tvos` - Enabled `ensure_devices_found` on `iOS` and `tvOS` lanes. This will also ensure that we don't stop running tests on iOS XX because it doesn't find that simulator. - Removed `UnitTestHostApp` storyboards and scene, since those aren't supported in `tvOS`, and aren't needed because there's no UI. - Made `StoreKitUnitTests` and `UnitTestHostApp` targets universal - No longer linking `AdServices` on `tvOS` in test targets - Disabled attribution tests on `tvOS`. Those methods weren't being compiled, but we were testing that a message was being sent, even though it no longer was. - Changed iOS 14 tests to use Xcode 13 due to xcpretty/xcode-install#466 (same as #1918).
Merged
NachoSoto
added a commit
that referenced
this pull request
Sep 23, 2022
NachoSoto
pushed a commit
that referenced
this pull request
Sep 23, 2022
**This is an automatic release.** ### Bugfixes * `Purchases.beginRefundRequest`: ensured errors are `PublicError` (#1913) via NachoSoto (@NachoSoto) * `PurchaseTesterSwiftUI`: fixed macOS target (#1915) via NachoSoto (@NachoSoto) ### Other Changes * `SnapshotTesting`: require version 1.9.0 to keep supporting iOS 12/13 tests (#1931) via NachoSoto (@NachoSoto) * Fixed `tvOS` tests (#1928) via NachoSoto (@NachoSoto) * `pre-commit` hook: also verify leftover API keys in `PurchaseTester` (#1914) via NachoSoto (@NachoSoto) * `CircleCI`: changed iOS 12/13 to use Xcode 13 (#1918) via NachoSoto (@NachoSoto) * `PurchaseTesterSwiftUI`: removed unnecessary `UIApplicationDelegate` (#1916) via NachoSoto (@NachoSoto) * `CircleCI`: changed all jobs to use Xcode 14 (#1909) via NachoSoto (@NachoSoto) * `Atomic`: added unit test to verify `value`'s setter (#1905) via NachoSoto (@NachoSoto) * `spm build` CI job: changed to release build (#1903) via NachoSoto (@NachoSoto) * `StoreKitUnitTests`: compile on iOS 11.0+ (#1904) via NachoSoto (@NachoSoto) * `Purchases`: only expose testing data on `DEBUG` (#1902) via NachoSoto (@NachoSoto) * `Integration Tests`: added test to verify re-subscription behavior (#1898) via NachoSoto (@NachoSoto) * `IntegrationTests`: simplified `testExpireSubscription` to fix flaky test (#1899) via NachoSoto (@NachoSoto) * `Integration Tests`: actually verify that entitlement is active (#1880) via NachoSoto (@NachoSoto)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Turns out we hadn't been running tests on
tvOSfor a while:I found this went I went to dig into this failure. Turns out that wasn't running on
tvOSanyway.This turns them back on, fixes the compilation issues on
tvOStests, and ensures that we don't run into this issue again.Changes:
test_tvosensure_devices_foundoniOSandtvOSlanes. This will also ensure that we don't stop running tests on iOS XX because it doesn't find that simulator.UnitTestHostAppstoryboards and scene, since those aren't supported intvOS, and aren't needed because there's no UI.StoreKitUnitTestsandUnitTestHostApptargets universalAdServicesontvOSin test targetstvOS. Those methods weren't being compiled, but we were testing that a message was being sent, even though it no longer was.CircleCI: changed iOS 12/13 to use Xcode 13 #1918).