-
Notifications
You must be signed in to change notification settings - Fork 440
Testrunner refactor to support multiple targets #1212
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
aa9b02e
to
5ae3819
Compare
I've tested both the host and the stm32f4 target. They seem work. Just some outputs:
But first #1207 should be landed, to be able to build the targets. And, of course #1214, to skip file system tests because the test execution happens in the Read Only Memory. |
#1219 is also needed to use the testrunner. |
@rtakacs |
5ae3819
to
8ba1dc0
Compare
IoT.js-DCO-1.0-Signed-off-by: Roland Takacs [email protected]
8ba1dc0
to
c3fe428
Compare
Okay, I've removed the the [WIP] prefix from the title. Just some notes: By default, the testrunner doesn't create build for the selected target. But, there is a Just some examples:
|
@rtakacs I've read the PR and suggestion now since I leaved the office for 1 week. Till now, we've used js-remote-test both for jerry and iotjs. But this patch seems to try to make duplicated code in each repository to remove circular dependency. Is it right? We would like to keep js-remote-test as repository for common code. We would like to discuss about this change on IRC. |
@glistening The plan is not to eliminate circular dependencies (that could be in The following points show what could be the duplications in iotjs and jerryscript:
So yes, there could be some duplications between iotjs and jerryscript. If that is too much, we can add js-remote-test to iotjs and jerryscript as a submodule:
In this case A e.g.
|
I've just realized that there already is a e.g. So a new |
Closed this pull request based on the reviews. |
This pull request is a follow-up patch for #1207. The main goal is to use the js-remote-test inside the iotjs project. This part of the mentioned approach is responsible for the testrunner modification to handle multiple devices for testing.
The architecture is the following:
tools/test_runner.py file
- Defines only the options for the testing and starts the test execution.tools/testdriver folder
- Holds all the logics (files) that are needed to testing remotely.tools/testdriver/testrunner.py file
- This file is almost the same with the currently used testrunner.py, but therun_test
method is removed. The reason is that this patch has more targets, and they should implement their own test execution (run_test
method). Currently, just thehost
and thestm32f4dis
targets are supported by this patch. The JS coverage measurement is also moved to thehost
target because only that target has enough memory.tools/testdriver/target folder
- Holds all the targets that should be supported by the testrunner. They should implement therun_test
method.tools/testdriver/target/connection folder
- Holds the Python implementation of thessh
andserial
communications.Some examples for running the testrunner:
This patch is in Work In Progress state yet. The reason of the early upload is to show the required modifications.