-
Notifications
You must be signed in to change notification settings - Fork 2k
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
dist/pythonlibs/testrunner: reset before term #12862
Conversation
I would be interested to also have test results with an arduino-uno (a really slow one). |
Otherwise this PR looks good. The improvement with the remote-revb tests is impressive. Good job! |
84df34d
to
13d110a
Compare
07c69c2
to
0905164
Compare
rebased to get #12941 that fixes false compilation errors. |
I hade a failure in
|
I think the terminal takes some time to be setup.. will re-test with the physical board. |
a04acb2
to
e4ab2a6
Compare
The two failing tests are non related, they tend to fail. But I had indeed forgotten about the examples/
|
@aabadie for now can we get away with exporting |
+1
I agree. With this PR we can already run the test suite on a lot more boards (remote, hifive, etc). Without it, the tests cannot be run automatically. |
e4ab2a6
to
df964d0
Compare
@aabadie please have a look at the commit messages and the comments, I'l then trigger another build. |
df964d0
to
8c4dab3
Compare
For some boards `make reset` is only possible if a serial connection is not already open or its execution might disrupt it. This causes some tests to fail since before running a test the board is reset. `make reset` is currently used as a synchronization mechanism between the application and the test script. With `test_utils_interactive_sync` this is no longer needed so call `make reset` before `cleanterm` instead of after when `test_utils_interactive_sync` is used. Allow setting TESTRUNNER_RESET_AFTER_TERM=1 to keep the previous behaviour for `examples/%/tests`.
8c4dab3
to
ebd5acc
Compare
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.
ACK and go!
Contribution description
For some boardw
make reset
is only possible if a serial connectionis not already open or its execution might disrupt it. This
causes some tests to fail since before running a test the board
is reset.
make reset
is currently used as a synchronization mechanism betweenthe application and the test script. With
test_utils_interactive_sync
this is no longer needed so call
make reset
beforecleanterm
insteadof after so avoid using it for those boards.
With the wide usage of
test_utils_interactive_sync
#12448 is not needed, onlya handful of tests remain that do not use it, and most of same need sudo.
This will be addressed in a followup PR.
Testing procedure
python dist/tools/compile_and_test_for_board/compile_and_test_for_board.py -j0 . iotlab-m3 . --with-test-only
python dist/tools/compile_and_test_for_board/compile_and_test_for_board.py -j0 . remote-revb . --with-test-only
python dist/tools/compile_and_test_for_board/compile_and_test_for_board.py -j0 . native . --with-test-only
python dist/tools/compile_and_test_for_board/compile_and_test_for_board.py -j0 . iotlab-m3 . --with-test-only
python dist/tools/compile_and_test_for_board/compile_and_test_for_board.py -j0 . remote-revb . --with-test-only
NOTE:
- [tests/periph_timer_short_relative_set](tests/periph_timer_short_relative_set/test.failed)
is not fixed by this PR, but my branch didn't have the new test at the time I ran the tests.Issues/PRs references
#12448
Alternative to #12520