Skip to content

Conversation

@stuartmorgan-g
Copy link
Collaborator

@stuartmorgan-g stuartmorgan-g commented Nov 16, 2022

Part of #2803; see also #2811

  • Moves the Objective-C iOS tests into the new combined harness, updating the test script accordingly and removing the old harness.
  • Wires up Objective-C support for the new integration tests in the consolidated harness, matching the other platforms.

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

Part of flutter/flutter#111505

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 stuartmorgan-g changed the title Pigeon test harness consolidation ios objc [pigeon] Consolidate platform test harnesses part 3.2 - iOS ObjC Nov 16, 2022
@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 16, 2022
@stuartmorgan-g
Copy link
Collaborator Author

See comments in #2811 for debugging notes abut the hang here; it's still not clear what the cause is.

@stuartmorgan-g stuartmorgan-g marked this pull request as draft November 16, 2022 19:37
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.

are these new? I feel like I've approved these changes already

@stuartmorgan-g
Copy link
Collaborator Author

When the combined iOS PR was hanging, I split it again into ObjC and Swift to further isolate it. (It turns out it's the ObjC part.)

stuartmorgan-g added a commit to stuartmorgan-g/packages that referenced this pull request Nov 28, 2022
This sets up initial proof-of-concept integration tests using the new
shared native test harness:
- Integration tests on the Dart side for void->void and
  Everything->Everything calls.
- macOS implementations in the test plugin on the native side.
- A new test target in the test script to drive them via `flutter test`.
- A minimal change to the example app so that `flutter run`-ing it will
  test that the void->void call is wired up.

Since this simple initial test hit
flutter/flutter#111083, which caused the test
to fail, this includes a fix for that.

Short-term future work (by me):
- Add integration test native setup and script targets for the other
  generators. This includes one just to keep the initial review scope
  smaller.
- Update flutter#2816 to include the
  integration test since it's still blocked until I can address the CI
  issues.

Medium-term future work (not all by me):
- Remove the legacy iOS e2e test scaffold that is currently disabled.
- Add significantly more integration test coverage (likely including
  flutter/flutter#115168 to reduce redundant
  API setup), including Flutter API integration tests rather than just
  host API tests.

Part of flutter/flutter#111505
Fixes flutter/flutter#111083
auto-submit bot pushed a commit that referenced this pull request Nov 28, 2022
* [pigeon] Initial integration test setup

This sets up initial proof-of-concept integration tests using the new
shared native test harness:
- Integration tests on the Dart side for void->void and
  Everything->Everything calls.
- macOS implementations in the test plugin on the native side.
- A new test target in the test script to drive them via `flutter test`.
- A minimal change to the example app so that `flutter run`-ing it will
  test that the void->void call is wired up.

Since this simple initial test hit
flutter/flutter#111083, which caused the test
to fail, this includes a fix for that.

Short-term future work (by me):
- Add integration test native setup and script targets for the other
  generators. This includes one just to keep the initial review scope
  smaller.
- Update #2816 to include the
  integration test since it's still blocked until I can address the CI
  issues.

Medium-term future work (not all by me):
- Remove the legacy iOS e2e test scaffold that is currently disabled.
- Add significantly more integration test coverage (likely including
  flutter/flutter#115168 to reduce redundant
  API setup), including Flutter API integration tests rather than just
  host API tests.

Part of flutter/flutter#111505
Fixes flutter/flutter#111083

* Version bump for bugfix

* Check in generated files needed for analysis

* Add the actual integration test file, which was left out

* Address review comments

* Fix incorrect Swift unit test for void call fix

* Analysis ignore

* Autoformat
stuartmorgan-g added a commit to stuartmorgan-g/packages that referenced this pull request Nov 29, 2022
This adds a bringup LUCI version of the macOS-host custom package tests.
This is the first attempt to migrate a flutter/packages or
flutter/plugins test to macOS ARM, so is experimental.

The motivation for doing this migration now is to see if it can unblock
flutter#2816, which doesn't seem to
be able to run successfully on Cirrus ARM machines (very possibly due
to the same issue that blocked flutter/plugins migrations to ARM on
Cirrus).
@stuartmorgan-g
Copy link
Collaborator Author

The addition part of this landed in #2867, and it was actually easier to just make a new branch to re-do the removal part than to merge into this one. So closing in favor of:

auto-submit bot pushed a commit that referenced this pull request Jan 14, 2023
This adds a bringup LUCI version of the macOS-host custom package tests.
This is the first attempt to migrate a flutter/packages or
flutter/plugins test to macOS ARM, so is experimental.

The motivation for doing this migration now is to see if it can unblock
#2816, which doesn't seem to
be able to run successfully on Cirrus ARM machines (very possibly due
to the same issue that blocked flutter/plugins migrations to ARM on
Cirrus).
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.

2 participants