-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[CI][Hexagon] Add Hexagon Tests to pipeline #10302
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
Conversation
| import pytest | ||
|
|
||
|
|
||
| def pytest_addoption(parser): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could we still have this option, but not mandatory? It might be helpful to have a flag to override the serial number.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does exporting ANDROID_SERIAL_NUMBER work for you?
The reason that I removed it from pytest parameters is that it forces all other tests in this directory to have this parameter in the their method description.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I want to use serial number to distinguish running it on target (where it's a serial number of an actual device), and on simulator, where it would be a string "simulator". ANDROID_SERIAL_NUMBER has multiple users.
If you have a better mechanism in mind for setting simulator as the execution platform, let me know. I'd like to be able to run the same test.py on either hardware or simulator without manual editing, so some parts of HexagonLauncher will need to be modified a bit (to hide the internals a bit more).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't have to happen in this PR, so if it's ready to merge, then go ahead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kparzysz-quic that's a good point. we can use something like board where it specifies the dev board(HDK, etc) or phone type(OPPO, etc). One of the boards could behexagon-simulator for running on the simulator.
board is used at HexagonLauncher level and it could also map to the correct tvm target that is passed to compiler. Something similar to microtvm here: https://github.com/apache/tvm/blob/main/python/tvm/target/target.py#L330
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In microtvm we go from board to model and model specifies the full target for TVM. Here we could have a direct mapping from board to tvm target or we can use both board and cpu_version to build the tvm target. Not sure if need the latter since it seems unnecessarily complicated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really a fan of the "board" approach for Hexagon, I don't think it's a useful abstraction for our situation. Moreover, the TVM target will be the same for both hardware and simulator, so we need something else to indicate where the code needs to be executed by the launcher. This is specific to launcher and nothing else.
tmoreau89
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* Add hexagon tests to CI Hexagon * Fix CRT libs * cleanup and fix Jenkins * Address @areusch comments
This PR: