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

[d16-2] [xharness] Don't use a dash in the bundle identifer for watchOS projects. #6118

Merged
merged 2 commits into from
May 24, 2019

Conversation

monojenkins
Copy link
Collaborator

It causes problems with the mscorlib test project, which can't be launched properly.

I'm not sure what's the underlying cause, but here are some of the symptoms:

  • The watch app actually shows up fine on the device, but:
  • mlaunch isn't notified about the new process, so it thinks the app didn't
    launch.
  • The new process doesn't receive any environment variables we try to give it,
    which for instance means that it won't auto-start the tests upon launch.
  • If we ask mlaunch to attach with lldb, mlaunch will ask watchOS to launch
    the process in a suspended state while lldb attaches. Yet the watch app
    shows up on the device as if not asked to be suspended upon launch.

It seems that the dash (I assume, because I haven't investigated this very
deeply, I just happened to find a solution that worked) makes watchOS launch
the app as if tapped, instead of launched from an IDE.

The strangest part is that this only happens with the mscorlib test project,
not any of the other test projects we run on the watch, and they all have
dashes in their bundle identifiers... yet replacing the dash with another
character (underscore, letter, removing it altogether) all made things work as
expected.

Backport of #6114.

/cc @rolfbjarne

…cts.

It causes problems with the mscorlib test project, which can't be launched properly.

I'm not sure what's the underlying cause, but here are some of the symptoms:

* The watch app actually shows up fine on the device, but:
* mlaunch isn't notified about the new process, so it thinks the app didn't
  launch.
* The new process doesn't receive any environment variables we try to give it,
  which for instance means that it won't auto-start the tests upon launch.
* If we ask mlaunch to attach with lldb, mlaunch will ask watchOS to launch
  the process in a suspended state while lldb attaches. Yet the watch app
  shows up on the device as if not asked to be suspended upon launch.

It seems that the dash (I assume, because I haven't investigated this very
deeply, I just happened to find a solution that worked) makes watchOS launch
the app as if tapped, instead of launched from an IDE.

The strangest part is that this only happens with the mscorlib test project,
not any of the other test projects we run on the watch, and they all have
dashes in their bundle identifiers... yet replacing the dash with another
character (underscore, letter, removing it altogether) all made things work as
expected.
@monojenkins monojenkins added this to the d16-2 milestone May 23, 2019
@rolfbjarne rolfbjarne changed the title [d16-2] [xharness] Don\u0027t use a dash in the bundle identifer for watchOS projects. [d16-2] [xharness] Don't use a dash in the bundle identifer for watchOS projects. May 23, 2019
@rolfbjarne rolfbjarne added the pr-change-not-shipping The PR only touch files that are not shipped to customers label May 23, 2019
@monojenkins
Copy link
Collaborator Author

Build failure
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
Generator Diff (no change)
🔥 Test run failed 🔥

Test results

3 tests failed, 0 tests' device not found, 91 tests passed.

Failed tests

  • monotouch-test/watchOS 32-bits - simulator/Debug: Failed
  • monotouch-test/watchOS 32-bits - simulator/Debug (static registrar): Failed
  • monotouch-test/watchOS 32-bits - simulator/Release (all optimizations): Failed

The watchOS bundle ID changed in fc5067e, and
the test failure wasn't caught properly.
@monojenkins
Copy link
Collaborator Author

Build success
Build succeeded
API Diff (from stable)
API Diff (from PR only) (no change)
Generator Diff (no change)
Test run succeeded

Copy link
Contributor

@chamons chamons left a comment

Choose a reason for hiding this comment

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

Approved for d16-2 under the "does not affect shipping product" test/infrastructure exception.

@rolfbjarne rolfbjarne merged commit aab104d into xamarin:d16-2 May 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-change-not-shipping The PR only touch files that are not shipped to customers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants