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

Fix test app issues, add tests #2258

Merged
merged 10 commits into from
Apr 15, 2024
Merged

Conversation

TimSylvester
Copy link
Collaborator

@TimSylvester TimSylvester commented Apr 12, 2024

In using the iOS app to investigate a bug report, I ran into a bug in the dynamic layout of the dynamically-created view in "Add Second Map."

Aside from resolving that minor issue and adding a test case, I also added a "smoke test" that just clicks on all the items in the menu to make sure they don't crash, but with no validation that they work correctly.

That turned up several problems, such as test cases which can only be run in isolation, and cases which break later cases. For example, "Add Route Line" and "Style Route line with gradient" created sources with the same name, and the style would throw when the second was added.

Currently all the cases are run except for the ones which add 1,000 or 10,000 items, as these seem to take so long that the search for the tappable menu button times out. But they use the same method as the 100 case.

@TimSylvester TimSylvester added bug Something isn't working enhancement New feature or request labels Apr 12, 2024
@TimSylvester TimSylvester self-assigned this Apr 12, 2024
Copy link

github-actions bot commented Apr 12, 2024

Bloaty Results (iOS) 🐋

Compared to main

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  [ = ]       0  [ = ]       0    TOTAL

Full report: https://maplibre-native.s3.eu-central-1.amazonaws.com/bloaty-results-ios/pr-2258-compared-to-main.txt

Copy link
Collaborator

@louwers louwers left a comment

Choose a reason for hiding this comment

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

This is really great.

Did the iOS UI tests run on CI? It shows PASSED (Cached).

@TimSylvester
Copy link
Collaborator Author

Did the iOS UI tests run on CI? It shows PASSED (Cached).

I'm not sure what's being cached there. It previously failed repeatedly on CI but worked for me locally on physical and simulated devices. The log seemed to indicate that the target crashed ("Unable to monitor event loop") at 230s. I increased the "size" of the UI test target to extend the timeout from 5 to 15 minutes, and that seems to have resolved it, so I suspect that Bazel was terminating the target before the test framework, and the difference of 70 seconds was the other stuff going on in the build and test setup.

@louwers
Copy link
Collaborator

louwers commented Apr 15, 2024

I'll keep an eye on CI. Works great locally.

@louwers louwers merged commit 2022a38 into maplibre:main Apr 15, 2024
22 of 23 checks passed
@TimSylvester TimSylvester deleted the testapp-fix branch April 15, 2024 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request iOS
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

3 participants