Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration Tests: relaunch tests when retrying failures #1925

Merged
merged 1 commit into from
Sep 22, 2022

Conversation

NachoSoto
Copy link
Contributor

I've observed that a lot of the time flaky tests still don't pass after a retry.
This change can probably decrease the likelyhood that a retry will still fail, by ensuring that we create a brand new SKTestSession in a new simulator session.

I've observed that a lot of the time flaky tests still don't pass after a retry.
This change can probably decrease the likelyhood that a retry will still fail, by ensuring that we create a brand new `SKTestSession` in a new simulator session.
@NachoSoto NachoSoto requested a review from a team September 21, 2022 18:27
@NachoSoto NachoSoto self-assigned this Sep 21, 2022
@NachoSoto
Copy link
Contributor Author

NachoSoto commented Sep 21, 2022

Welp flaky tests are still flaky but I think this is still useful to minimize issues with CI's simulators.

Copy link
Contributor

@tonidero tonidero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since test keeps failing, not sure if we want to merge it but looks good and shouldn't hurt. Also, would this slow down tests too much? I'm guessing spinning new processes would be slower.

@NachoSoto
Copy link
Contributor Author

This failed in 5 minutes vs another sample failure in main that took 9 minutes, so I'd say no.

@NachoSoto NachoSoto closed this Sep 22, 2022
@NachoSoto NachoSoto reopened this Sep 22, 2022
@NachoSoto NachoSoto merged commit 4852e3d into main Sep 22, 2022
@NachoSoto NachoSoto deleted the integration-tests-relaunch-sim branch September 22, 2022 22:22
NachoSoto added a commit that referenced this pull request Sep 27, 2022
**This is an automatic release.**

### New Features
* 🚨 `StoreKit 2` is now enabled by default 🚨 (#1922) via NachoSoto
(@NachoSoto)
* Extracted `PurchasesType` and `PurchasesSwiftType` (#1912) via
NachoSoto (@NachoSoto)
### Bugfixes
* `StoreKit 1`: changed result of cancelled purchases to be consistent
with `StoreKit 2` (#1910) via NachoSoto (@NachoSoto)
* `PaymentQueueWrapper`: handle promotional purchase requests from App
Store when SK1 is disabled (#1901) via NachoSoto (@NachoSoto)
### Other Changes
* Fixed iOS 12 tests (#1936) via NachoSoto (@NachoSoto)
* `CacheableNetworkOperation`: fixed race condition in new test (#1932)
via NachoSoto (@NachoSoto)
* `BasePurchasesTests`: changed default back to SK1 (#1935) via
NachoSoto (@NachoSoto)
* `Logger`: refactored default `LogLevel` definition (#1934) via
NachoSoto (@NachoSoto)
* `AppleReceipt`: refactored declarations into nested types (#1933) via
NachoSoto (@NachoSoto)
* `Integration Tests`: relaunch tests when retrying failures (#1925) via
NachoSoto (@NachoSoto)
* `CircleCI`: downgraded release jobs to Xcode 13.x (#1927) via
NachoSoto (@NachoSoto)
* `ErrorUtils`: added test to verify that `PublicError`s can be
`catch`'d as `ErrorCode` (#1924) via NachoSoto (@NachoSoto)
* `StoreKitIntegrationTests`: print `AppleReceipt` data whenever
`verifyEntitlementWentThrough` fails (#1929) via NachoSoto (@NachoSoto)
* `OperationQueue`: log debug message when requests are found in cache
and skipped (#1926) via NachoSoto (@NachoSoto)
* `GetCustomerInfoAPI`: avoid making a request if there's any
`PostReceiptDataOperation` in progress (#1911) via NachoSoto
(@NachoSoto)
* `PurchaseTester`: allow HTTP requests and enable setting `ProxyURL`
(#1917) via NachoSoto (@NachoSoto)
NachoSoto added a commit that referenced this pull request Oct 23, 2023
This was changed to 5 repetitions in #3218, but the `Fastfile` was overriding that.
I also wonder if #1925 had any effect because of this, so maybe that will work now and improve flaky tests.
NachoSoto added a commit that referenced this pull request Oct 24, 2023
See
https://github.com/RevenueCat/purchases-ios/blob/4.28.1/Tests/TestPlans/CI-BackendIntegration.xctestplan#L28

This was changed to 5 repetitions in #3218, but the `Fastfile` was
overriding that. Also #1925 didn't have any effect because of this, and
that actually makes tests take significantly longer, so this reverts
that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants