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
Contribution description
For some boardw
make resetis 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 resetis currently used as a synchronization mechanism betweenthe application and the test script. With
test_utils_interactive_syncthis is no longer needed so call
make resetbeforecleanterminsteadof 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