-
Notifications
You must be signed in to change notification settings - Fork 13k
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
Run non-native tests on real device #41268
Conversation
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
Seems reasonable to me! What other cleanups did you have in mind? |
I was mainly thinking about renaming |
Ok sounds great to me! Feel free to just ping me here when that is sorted out |
Thanks for the cool work @mmatyas! Do you think you will still be able to make the suggested changes to the PR? |
Yeah, it's almost done. I was experimenting with setting the device address from an env var, then from a configure parameter to see which works better. Both have their pros/cons, but in the end personally I've found the config parameter solution cleaner. I'm going to finish this next week, sorry for the delay! |
Oh no worries @mmatyas, thanks for the update! |
Well it turned out to be a way bigger patch than I originally expected, but now it's nicely integrated into the build system. Some descriptions/comments are still missing or incomplete, I'll fix that. There's also some code duplication (eg. |
Ah, yeah it seems we have an overlap; should I wait until #41575 gets sorted out / merged? |
Sure yeah, I just r+'d that PR so if you want to go ahead and rebase on top you can probably start handling the rebase conflicts immediately |
☔ The latest upstream changes (presumably #41575) made this pull request unmergeable. Please resolve the merge conflicts. |
Ah merged anyway now! |
Rebased, minimalized and dropped half of the patch; also now it uses an environment variable. If |
There's also an unused |
@bors: r+ Looks good to me, thanks! |
📌 Commit b194def has been approved by |
Run non-native tests on real device After #40733, I've made some hacks to the QEMU client-server tools to allow running the tests on a real device when cross compiling Rust. The address and port of the remote server can be set using an environment variable. I've made this mainly for local testing purposes, if you're interested in merging this, I'd clean it a bit more (eg. renaming the functions from `qemu-` to something else). I'm not asking for CI integration or adding ARM boards to the build system; it's just that I used these modifications and I was wondering if you'd find them useful too.
☀️ Test successful - status-appveyor, status-travis |
Allow remote testing remotely when `TEST_DEVICE_ADDR` is set Remote testing was added in #41268, but at the moment it's only enabled if QEMU is also available or we're testing Android. This patch also allows remote testing if the environment variable `TEST_DEVICE_ADDR` is set, as required by `remote-test-client` [[1](https://github.com/rust-lang/rust/blob/master/src/tools/remote-test-client/src/main.rs#L28), [2](https://github.com/rust-lang/rust/blob/master/src/tools/remote-test-client/src/main.rs#L61)]
After #40733, I've made some hacks to the QEMU client-server tools to allow running the tests on a real device when cross compiling Rust. The address and port of the remote server can be set using an environment variable.
I've made this mainly for local testing purposes, if you're interested in merging this, I'd clean it a bit more (eg. renaming the functions from
qemu-
to something else). I'm not asking for CI integration or adding ARM boards to the build system; it's just that I used these modifications and I was wondering if you'd find them useful too.