Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

Part of #2803

Moves the Swift and Objective-C iOS tests into the new combined harnesses, updating the test script accordingly and removing the old harnesses.

As a minor opportunistic change since imports needed to be changed anyway, this updates the ObjC test imports to use modules.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

@stuartmorgan-g
Copy link
Collaborator Author

All the Swift test file whitespace changes are because we aren't currently using an autoformatter for Swift, so they weren't caught, but I have Xcode set up to strip trailing whitespace on save, and I had to touch all of those files. Since we don't want trailing whitespace, I went ahead and included the change rather than trying to undo all of it.

@stuartmorgan-g stuartmorgan-g added override: no versioning needed Override the check requiring version bumps for most changes override: no changelog needed Override the check requiring CHANGELOG updates for most changes labels Nov 15, 2022
Copy link
Contributor

@tarrinneal tarrinneal left a comment

Choose a reason for hiding this comment

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

so many lines changed, wow!

@tarrinneal tarrinneal added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 16, 2022
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 16, 2022
@auto-submit
Copy link
Contributor

auto-submit bot commented Nov 16, 2022

auto label is removed for flutter/packages, pr: 2811, due to - The status or check suite macos-custom_package_tests CHANNEL:stable has failed. Please fix the issues identified (or deflake) before re-applying this label.

@tarrinneal tarrinneal added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 16, 2022
@auto-submit auto-submit bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 16, 2022
@auto-submit
Copy link
Contributor

auto-submit bot commented Nov 16, 2022

auto label is removed for flutter/packages, pr: 2811, due to - The status or check suite macos-custom_package_tests CHANNEL:stable has failed. Please fix the issues identified (or deflake) before re-applying this label.

@stuartmorgan-g
Copy link
Collaborator Author

It looks like this is the culprit. Based on offline discussion, we are seeing the iOS tests hang flakily offline, but not this often. That means that either this PR makes it worse, or it's had extremely bad luck. I'll split it into Swift and ObjC and see if those parts fare differently, in parallel with seeing if I can repro the hang offline to fix it.

@stuartmorgan-g
Copy link
Collaborator Author

So far I can't repro the hang locally. I get a couple of minutes sometimes where Xcode isn't doing anything obvious between the build step and the test-running step (a simulator open, but then just sits there), but nothing longer than that. That does make me wonder if the frequent CI issues here are related to the problem we had with enabling ARM for native tests in the plugins repo (if there's a difference in the simulator targeting of the projects maybe?)

@stuartmorgan-g stuartmorgan-g force-pushed the pigeon-test-harness-consolidation-ios branch 2 times, most recently from 3b86631 to 13fd74b Compare November 16, 2022 18:35
@stuartmorgan-g
Copy link
Collaborator Author

I tried switching away from ARM to see if that was it, and then I get errors in CI about not being able to find the host. Maybe adding that target in Xcode 14 (which is what I have locally) doesn't work in Xcode 13 (which is all we can get with the Intel Cirrus images, AFAICT, and given that they show a deprecation warning on runs I'm assuming that won't change).

I'm going to put this on pause for the moment since I've been beating my head against it for a few hours now with no results. We can land the Swift part, hold off on iOS for now, and I'll maybe look into migrating this test to LUCI before continuing. It looks like we have an Intel Xcode 14 image, which would let me test that hypothesis.

In the meantime I can start getting integration tests set up, and they just won't run for ObjC in CI for the time being.

@stuartmorgan-g
Copy link
Collaborator Author

stuartmorgan-g commented Nov 16, 2022

Closing in favor of #2816 since I landed the Swift part separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

override: no changelog needed Override the check requiring CHANGELOG updates for most changes override: no versioning needed Override the check requiring version bumps for most changes p: pigeon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants