-
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
ARM test automation #6150
ARM test automation #6150
Conversation
…y to android target)
Wow. Looks impressive. I'll try to run this locally. |
This looks good to me, but I think it's @brson's call on whether it needs any other adjustments. Thanks! |
This adds a new assumption to compiletest that when host != target then we require special cases to run the tests. This is not true though for x86_64 vs. i686 - we do cross compile from x86_64 to i686 and then run the tests on the host platform. The effect of this patch will be that the i686 tests never get run on the bots. Likewise the tests for Perhaps instead of using host and target, we can just base the decision to use adb on whether the adb_path is provided, and/or on whether the target is android. The 'runnable' flag to compiletest is supposed to indicate whether adb is available and, if it isn't, just compile the tests but not run them. I think this may be too clever, resulting in situations where it looks like you've tested your code but actually haven't (e.g. it looks like i686 is being tested but it isn't). Can we possibly make it so that adb is required to test android? All four of the new compiletest flags seem to be used to decide the question 'should I use adb to run the tests?'. That could be indicated with a single flag instead of four, though admittedly that wouldn't be as general a solution. |
So far when I try to run this on the emulator I always see |
When I run this the tests fail with errors like
|
The above was because my emulator has a read-only filesystem, so /system/tmp wasn't created. |
if device is not rooted or one wants to change android test dir, one can change like below then make install-target-runtime, make check-something In case of android emulator, libgnustl_shared.so is missing. libgnustl_shared.so can be found from android ndk (e.g. ~ndk_standalone/arm-linux-androideabi/lib/armv7-a ) |
Basically host != target indicate that target cannot run on this host. I think x86_64 vs. i686 is special case can run with the help of supported library. one can handle this special case by expanding match cases with (target, flagrunnable). I will modify apparent 3 things as you suggested
|
configure : CFG_ADB added for adb path
test.mk and compiletest
|
Code Cleanup and looks to me almost completed One can make ARM automation like hudson with below instruction
While ARM testing, I encountered several assertion of memory_region destructor. :( |
Thanks for the followup commits @yichoi |
Support #5297 install.mk : install-runtime-target added for conveneice automatically push runtime library to android device test.mk : expanded to support android test automation with adb compiletest : expanded to support android test automation with adb
Update backport documentation to the subtree workflow changelog: none
Support #5297
install.mk : install-runtime-target added for conveneice
automatically push runtime library to android device
test.mk : expanded to support android test automation with adb
compiletest : expanded to support android test automation with adb