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

add option to use-or-start ios simulator #35

Open
gnzlbg opened this issue Feb 4, 2018 · 8 comments
Open

add option to use-or-start ios simulator #35

gnzlbg opened this issue Feb 4, 2018 · 8 comments

Comments

@gnzlbg
Copy link

gnzlbg commented Feb 4, 2018

It would be great if, like the libc-crate does:

https://github.com/rust-lang/libc/blob/master/ci/ios/deploy_and_run_on_ios_simulator.rs#L59

dinghy could start an ios-simulator.

Maybe dinghy could:

  • have an option to list all simulators installed
  • have an option to select the ios-simulator instance to either use (if its already started) or start

Of course none of this is necessary because users can already do this via the terminal, but I think it would be nice to be able to do this directly via dinghy.

@gnzlbg
Copy link
Author

gnzlbg commented Feb 21, 2019

@snipsco libc is not running any tests on iOS anymore. That is, the ABI that the standard library uses to call C APIs for, e.g., opening a file, memcpy, etc. might become incorrect.

It would be great if there was an easy way to run libc-test on the iOS simulator at least.

@kali
Copy link
Collaborator

kali commented Feb 21, 2019

I'm not sure I understand what you are asking for. Are you asking if we could find a way (with or withoug dinghy) to have the libc test suire run again ?

@gnzlbg
Copy link
Author

gnzlbg commented Feb 21, 2019

Are you asking if we could find a way (with or withoug dinghy) to have the libc test suire run again ?

That would be the goal, but what I am asking is for something like:

cargo install dinghy
cargo dinghy test --device=ios-simulator-XY --target=x86_64-apple-ios

To compile the whole thing with the appropriate SDKs for the target, and then: see if the simulator is already started, and if it isn't, then check if it is installed, and if so start it, and run the tests there.

Ideally without any extra configuration. I think that would allow us to easily achieve the goal, but maybe there is a better and simpler way for us to get there?

@kali
Copy link
Collaborator

kali commented Feb 21, 2019

The problem is, last time I checked, launching app in the ios emulator was FUBAR, neither the straight xcrun nor the llvm hack we use for devices were working anymore.

I'll try again someday, maybe apple did something right for once.

@gnzlbg
Copy link
Author

gnzlbg commented Feb 21, 2019

The problem is, last time I checked, launching app in the ios emulator was FUBAR, neither the straight xcrun nor the llvm hack we use for devices were working anymore.

Ah, damn, so those must be the same issues that we were experiencing. I thought that maybe dinghy was working around these somehow. Damn.

These are some of the issues we were seeing: rust-lang/rust#55477 rust-lang/rust#52699

@simlay
Copy link
Contributor

simlay commented May 23, 2020

So, #96 added a work around to fix the underlying issue with lldb. In CI for dinghy itself, we could actually use this feature. Since #96 was added, I've had a few instances myself where I've needed to build an iOS simulator and boot it in CI.

It'd be nice if Dinghy could:

  • Build a sim if one is not booted
  • Boot a sim if one is not built or booted
  • And then run the regular tests.

If there's still interest in this, I'm up for implementing it.

@kali
Copy link
Collaborator

kali commented May 23, 2020

I have no objection with a PR doing that. Hopefully this one will be relatively straightforward compared to the other one, and not too much of a nightmare to maintain.

@kali
Copy link
Collaborator

kali commented May 23, 2020

@gnzlbg are you still a stakeholder in that or should we ping somebody else ?

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

No branches or pull requests

3 participants