Skip to content

Makefile.include: add cleanterm target and use it for tests #12107

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

Merged
merged 7 commits into from
Oct 1, 2019

Conversation

cladmi
Copy link
Contributor

@cladmi cladmi commented Aug 28, 2019

Contribution description

It is similar to 'term' but with removing possible additional behaviors
from pyterm.

It currently removes the logging decorators and allow sending empty lines.

Use a clean terminal without added decoration on the output for testing.

Review procedure

pyterm logging and special behavior are required features that cannot be removed as said in #12094

This introduces a new target that handles it.

This is completely similar to rawterm from #11099 except that it only works around the pyterm issues and will do nothing against line buffering.

Testing procedure

Run BOARD=your_board make -C tests/test_tools/ flash test with different RIOT_TERMINAL, currently supported (not on all boards) pyterm, socat, picocom. If possible one with term_rtt. But as it is internally using pyterm it will benefit from the changes automatically.

RIOT_TERMINAL=pyterm samr21-xpro
RIOT_TERMINAL=pyterm BOARD=samr21-xpro RIOT_CI_BUILD=1 make --no-print-directory -C tests/test_tools/ flash test
Building application "tests_test_tools" for "samr21-xpro" with MCU "samd21".

   text    data     bss     dec     hex filename
   9944     504    2612   13060    3304 /home/harter/work/git/RIOT/tests/test_tools/bin/samr21-xpro/tests_test_tools.elf
/home/harter/work/git/RIOT/dist/tools/edbg/edbg  -t atmel_cm0p -b -v -p -f /home/harter/work/git/RIOT/tests/test_tools/bin/samr21-xpro/tests_test_tools.bin
Debugger: ATMEL EDBG CMSIS-DAP ATML2127031800004678 01.1A.00FB (S)
Clock frequency: 16.0 MHz
Target: SAM R21G18 (Rev C)
Programming............................................ done.
Verification............................................ done.
/home/harter/work/git/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" --noprefix --no-repeat-command-on-empty-line
Twisted not available, please install it if you want to use pyterm's JSON capabilities
Connect to serial port /dev/ttyACM0
Welcome to pyterm!
Type '/exit' to exit.
main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

RIOT_TERMINAL=picocom samr21-xpro
RIOT_TERMINAL=picocom  BOARD=samr21-xpro RIOT_CI_BUILD=1 make --no-print-directory -C tests/test_tools/ flash test
Building application "tests_test_tools" for "samr21-xpro" with MCU "samd21".

   text    data     bss     dec     hex filename
   9848     504    2612   12964    32a4 /home/harter/work/git/RIOT/tests/test_tools/bin/samr21-xpro/tests_test_tools.elf
/home/harter/work/git/RIOT/dist/tools/edbg/edbg  -t atmel_cm0p -b -v -p -f /home/harter/work/git/RIOT/tests/test_tools/bin/samr21-xpro/tests_test_tools.bin
Debugger: ATMEL EDBG CMSIS-DAP ATML2127031800004678 01.1A.00FB (S)
Clock frequency: 16.0 MHz
Target: SAM R21G18 (Rev C)
Programming............................................ done.
Verification............................................ done.
picocom --nolock --imap lfcrlf --baud "115200" "/dev/ttyACM0"
picocom v2.2

port is        : /dev/ttyACM0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : yes
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : lfcrlf,
omap is        : 
emap is        : crcrlf,delbs,

Type [C-a] [C-h] to see available commands

Terminal ready
main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

RIOT_TERMINAL=socat samr21-xpro
RIOT_TERMINAL=socat  BOARD=samr21-xpro RIOT_CI_BUILD=1 make --no-print-directory -C tests/test_tools/ flash test
Building application "tests_test_tools" for "samr21-xpro" with MCU "samd21".

   text    data     bss     dec     hex filename
   9848     504    2612   12964    32a4 /home/harter/work/git/RIOT/tests/test_tools/bin/samr21-xpro/tests_test_tools.elf
/home/harter/work/git/RIOT/dist/tools/edbg/edbg  -t atmel_cm0p -b -v -p -f /home/harter/work/git/RIOT/tests/test_tools/bin/samr21-xpro/tests_test_tools.bin
Debugger: ATMEL EDBG CMSIS-DAP ATML2127031800004678 01.1A.00FB (S)
Clock frequency: 16.0 MHz
Target: SAM R21G18 (Rev C)
Programming............................................ done.
Verification............................................ done.
socat - open:/dev/ttyACM0,b115200,echo=0,raw
main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

native
RIOT_CI_BUILD=1 BOARD=native make --no-print-directory -C tests/test_tools/ flash test

Building application "tests_test_tools" for "native" with MCU "native".

   text    data     bss     dec     hex filename
  22892     644   47652   71188   11614 /home/harter/work/git/RIOT/tests/test_tools/bin/native/tests_test_tools.elf
true 
/home/harter/work/git/RIOT/tests/test_tools/bin/native/tests_test_tools.elf  
RIOT native interrupts/signals initialized.
LED_RED_OFF
LED_GREEN_ON
RIOT native board initialized.
RIOT native hardware initialization complete.

main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

On IoT-LAB it works too
IOTLAB_NODE=auto-ssh RIOT_CI_BUILD=1 BOARD=iotlab-m3 make --no-print-directory -C tests/test_tools/ flash test
Building application "tests_test_tools" for "iotlab-m3" with MCU "stm32f1".

   text    data     bss     dec     hex filename
   9504     504    2620   12628    3154 /home/harter/work/git/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf
iotlab-node --jmespath='keys(@)[0]' --format='int'  --list grenoble,m3,58 --update /home/harter/work/git/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf | grep 0
0
ssh -t harter@grenoble.iot-lab.info 'socat - tcp:m3-58.grenoble.iot-lab.info:20000'
�main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
�main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

The configuration is handled by jlink.sh term_rtt:

Tested without a board, we can see the logging format difference from pyterm.

BOARD=hamilton make -C examples/hello-world/ term
BOARD=hamilton make -C examples/hello-world/ term
make: Entering directory '/home/harter/work/git/RIOT/examples/hello-world'
/home/harter/work/git/RIOT/dist/tools/jlink/jlink.sh term_rtt
### Starting RTT terminal ###
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2019-08-28 17:42:27,813 - WARNING # Host name for TCP connection is missing, defaulting to "localhost"
2019-08-28 17:42:27,813 - INFO # Connect to localhost:19021
2019-08-28 17:42:27,815 - ERROR # Something went wrong connecting to localhost:19021
/home/harter/work/git/RIOT/dist/tools/jlink/jlink.sh: 243: kill: No such process
BOARD=hamilton make -C examples/hello-world/ cleanterm
BOARD=hamilton make -C examples/hello-world/ cleanterm
make: Entering directory '/home/harter/work/git/RIOT/examples/hello-world'
/home/harter/work/git/RIOT/dist/tools/jlink/jlink.sh term_rtt
### Starting RTT terminal ###
Twisted not available, please install it if you want to use pyterm's JSON capabilities
Host name for TCP connection is missing, defaulting to "localhost"Host name for TCP connection is missing, defaulting to "localhost"
Connect to localhost:19021Connect to localhost:19021
Something went wrong connecting to localhost:19021Something went wrong connecting to localhost:19021
/home/harter/work/git/RIOT/dist/tools/jlink/jlink.sh: 243: kill: No such process

term behaves as before

BOARD=samr21-xpro RIOT_CI_BUILD=1 make --no-print-directory -C tests/test_tools/ term
BOARD=samr21-xpro RIOT_CI_BUILD=1 make --no-print-directory -C tests/test_tools/ term
/home/harter/work/git/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyACM0" -b "115200" 
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2019-08-28 17:55:03,695 - INFO # Connect to serial port /dev/ttyACM0
helWelcome to pyterm!
Type '/exit' to exit.
help
2019-08-28 17:55:04,889 - INFO # Command              Description
2019-08-28 17:55:04,892 - INFO # ---------------------------------------
2019-08-28 17:55:04,896 - INFO # shellping            Just print 'shellpong'
2019-08-28 17:55:04,900 - INFO # true                 do nothing, successfully
2019-08-28 17:55:04,904 - INFO # toupper              uppercase first argument

Issues/PRs references

Replacement of #12094
This is completely similar to rawterm from #11099 except that it only works around the pyterm issues and will do nothing against line buffering.

@jcarrano jcarrano added Area: build system Area: Build system Area: tools Area: Supplementary tools CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors) labels Aug 28, 2019
@jcarrano jcarrano self-requested a review August 28, 2019 16:15
@cladmi
Copy link
Contributor Author

cladmi commented Aug 29, 2019

In the current implementation, I directly re-used TERM, and TERMFLAGS without defining a CLEANTERM or CLEANTERMFLAGS to somehow show it is currently not even needed.
If preferred, I can define them defaulting to TERM and TERMFLAGS in this PR.

Also, the introduction could be split from the usage in tests.

# TERMFLAGS must be exported for `jlink.sh term_rtt`.
cleanterm: export PYTERMFLAGS += --noprefix
cleanterm: $(filter flash, $(MAKECMDGOALS)) $(TERMDEPS)
$(call check_cmd,$(TERMPROG),Terminal program)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we keep on repeating bad patterns? I'm referring to checking the command.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still see it as a different task to remove the bad pattern that I did not want to mix with the other change here.

@jcarrano
Copy link
Contributor

Overall, I think this is a good transition towards rawterm. The next step would be to remove all kinds of buffering and we would have arrived at rawterm.

@cladmi
Copy link
Contributor Author

cladmi commented Aug 29, 2019

I incorporated the test from #12096 based on #12120

EDIT: test output updated in the description

@cladmi
Copy link
Contributor Author

cladmi commented Sep 10, 2019

Rebased as #12120 was merged.

@jcarrano jcarrano added CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Sep 12, 2019
@cladmi
Copy link
Contributor Author

cladmi commented Sep 12, 2019

The compilation failures are pic32, esp and llvm:

    failed:
esp8266-esp-12x:gnu (⬇), esp8266-olimex-mod:gnu (⬇), esp8266-sparkfun-thing:gnu (⬇), iotlab-m3:llvm (⬇), mulle:llvm (⬇), nrf52dk:llvm (⬇), nucleo-f401re:llvm (⬇), pic32-clicker:gnu (⬇), pic32-wifire:gnu (⬇), samr21-xpro:llvm (⬇), slstk3402a:llvm (⬇)

@fjmolinas
Copy link
Contributor

Works as advertised:

RIOT_TERMINAL=pyterm iotlab-m3
RIOT_TERMINAL=pyterm BOARD=iotlab-m3 RIOT_CI_BUILD=1 make --no-print-directory -C tests/test_tools/ flash test

Building application "tests_test_tools" for "iotlab-m3" with MCU "stm32f1".

   text	   data	    bss	    dec	    hex	filename
   9804	    140	   2632	  12576	   3120	/home/francisco/workspace/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf
/home/francisco/workspace/RIOT/dist/tools/openocd/openocd.sh flash /home/francisco/workspace/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf
### Flashing Target ###
Open On-Chip Debugger 0.10.0+dev-00703-g92bb76a4-dirty (2019-07-19-14:27)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
none separate
cortex_m reset_config sysresetreq
trst_and_srst separate srst_nogate trst_push_pull srst_open_drain connect_deassert_srst
trst_and_srst separate srst_nogate trst_push_pull srst_open_drain connect_assert_srst
Info : clock speed 1000 kHz
Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32f1x.bs tap/device found: 0x06414041 (mfg: 0x020 (STMicroelectronics), part: 0x6414, ver: 0x0)
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : stm32f1x.cpu: external reset detected
Info : Listening on port 36847 for gdb connections
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0* stm32f1x.cpu       cortex_m   little stm32f1x.cpu       reset
Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32f1x.bs tap/device found: 0x06414041 (mfg: 0x020 (STMicroelectronics), part: 0x6414, ver: 0x0)
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x0800045c msp: 0x20000200
auto erase enabled
Info : device id = 0x10016414
Info : flash size = 512kbytes
wrote 10240 bytes from file /home/francisco/workspace/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf in 0.474500s (21.075 KiB/s)
verified 9944 bytes in 0.177059s (54.846 KiB/s)
Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32f1x.bs tap/device found: 0x06414041 (mfg: 0x020 (STMicroelectronics), part: 0x6414, ver: 0x0)
shutdown command invoked
Done flashing
/home/francisco/workspace/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyUSB1" -b "500000" --noprefix --no-repeat-command-on-empty-line
Twisted not available, please install it if you want to use pyterm's JSON capabilities
Connect to serial port /dev/ttyUSB1
Welcome to pyterm!
Type '/exit' to exit.
�main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

RIOT_TERMINAL=picocom iotlab-m3
RIOT_TERMINAL=picocom  BOARD=iotlab-m3 RIOT_CI_BUILD=1 make --no-print-directory -C tBuilding application "tests_test_tools" for "iotlab-m3" with MCU "stm32f1".

   text	   data	    bss	    dec	    hex	filename
   9804	    140	   2632	  12576	   3120	/home/francisco/workspace/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf
/home/francisco/workspace/RIOT/dist/tools/openocd/openocd.sh flash /home/francisco/workspace/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf
### Flashing Target ###
Open On-Chip Debugger 0.10.0+dev-00703-g92bb76a4-dirty (2019-07-19-14:27)
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "jtag". To override use 'transport select <transport>'.
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
none separate
cortex_m reset_config sysresetreq
trst_and_srst separate srst_nogate trst_push_pull srst_open_drain connect_deassert_srst
trst_and_srst separate srst_nogate trst_push_pull srst_open_drain connect_assert_srst
Info : clock speed 1000 kHz
Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32f1x.bs tap/device found: 0x06414041 (mfg: 0x020 (STMicroelectronics), part: 0x6414, ver: 0x0)
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : stm32f1x.cpu: external reset detected
Info : Listening on port 44335 for gdb connections
    TargetName         Type       Endian TapName            State       
--  ------------------ ---------- ------ ------------------ ------------
 0* stm32f1x.cpu       cortex_m   little stm32f1x.cpu       reset
Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32f1x.bs tap/device found: 0x06414041 (mfg: 0x020 (STMicroelectronics), part: 0x6414, ver: 0x0)
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x08000428 msp: 0x20000200
auto erase enabled
Info : device id = 0x10016414
Info : flash size = 512kbytes
wrote 10240 bytes from file /home/francisco/workspace/RIOT/tests/test_tools/bin/iotlab-m3/tests_test_tools.elf in 0.471909s (21.191 KiB/s)
verified 9944 bytes in 0.177937s (54.575 KiB/s)
Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b (ARM Ltd.), part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32f1x.bs tap/device found: 0x06414041 (mfg: 0x020 (STMicroelectronics), part: 0x6414, ver: 0x0)
shutdown command invoked
Done flashing
picocom --nolock --imap lfcrlf --baud "500000" "/dev/ttyUSB1"
picocom v2.2

port is        : /dev/ttyUSB1
flowcontrol    : none
baudrate is    : 500000
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
nolock is      : yes
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : lfcrlf,
omap is        : 
emap is        : crcrlf,delbs,

Type [C-a] [C-h] to see available commands

Terminal ready
�main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

native
RIOT_CI_BUILD=1 BOARD=native make --no-print-directory -C tests/test_tools/ flash test
Building application "tests_test_tools" for "native" with MCU "native".

   text	   data	    bss	    dec	    hex	filename
  23072	    656	  47652	  71380	  116d4	/home/francisco/workspace/RIOT/tests/test_tools/bin/native/tests_test_tools.elf
true 
/home/francisco/workspace/RIOT/tests/test_tools/bin/native/tests_test_tools.elf  
RIOT native interrupts/signals initialized.
LED_RED_OFF
LED_GREEN_ON
RIOT native board initialized.
RIOT native hardware initialization complete.

main(): This is RIOT! (Version: buildtest)
Running 'tests_tools' application
shellping
shellpong
true this should not be echoed
shellping
shellpong
toupper lowercase
LOWERCASE
getchar

getchar 0x0a

term
make -C tests/xtimer_usleep -j BOARD=iotlab-m3 --no-print-directory term
/home/francisco/workspace/RIOT/dist/tools/pyterm/pyterm -p "/dev/ttyUSB1" -b "500000" 
Twisted not available, please install it if you want to use pyterm's JSON capabilities
2019-09-27 16:09:14,425 - INFO # Connect to serial port /dev/ttyUSB1
Welcome to pyterm!
Type '/exit' to exit.
s
2019-09-27 16:09:16,570 - INFO # START
2019-09-27 16:09:16,574 - INFO # Slept for 10014 us (expected: 10000 us) Offset: 14 us
2019-09-27 16:09:16,619 - INFO # Slept for 50014 us (expected: 50000 us) Offset: 14 us
2019-09-27 16:09:16,634 - INFO # Slept for 10247 us (expected: 10234 us) Offset: 13 us
2019-09-27 16:09:16,699 - INFO # Slept for 56793 us (expected: 56780 us) Offset: 13 us
2019-09-27 16:09:16,715 - INFO # Slept for 12135 us (expected: 12122 us) Offset: 13 us
2019-09-27 16:09:16,811 - INFO # Slept for 98778 us (expected: 98765 us) Offset: 13 us
2019-09-27 16:09:16,891 - INFO # Slept for 75014 us (expected: 75000 us) Offset: 14 us
2019-09-27 16:09:16,892 - INFO # Slept for 10014 us (expected: 10000 us) Offset: 14 us

@fjmolinas fjmolinas added the Reviewed: 3-testing The PR was tested according to the maintainer guidelines label Sep 27, 2019
@fjmolinas
Copy link
Contributor

I personally like the change, I think the implementation should indeed be split from its usage in test. Without the usage we could go ahead with this one as is, with the test I would want someone else to take a look, maybe @aabadie? or some of the hw-loop guys @smlng @MrKevinWeiss?

@fjmolinas
Copy link
Contributor

Also if the usage in test is included it should be documented in tests/README.md.

@cladmi
Copy link
Contributor Author

cladmi commented Sep 30, 2019

For me the goal of this PR is usage in tests.

All tests in CI already use picocom so use a 'cleanterm' style configuration, which makes test output be different on dev machines by default and in CI https://ci.riot-os.org/RIOT-OS/RIOT/master/6cbb7ad1a0c465f561336205ef787c31331f8833/output/run_test/tests/bloom_bytes/samr21-xpro:gnu.txt
So tests cannot expect anything from the test output format as both are present.

Also if the usage in test is included it should be documented in tests/README.md.

I will add something there :)

@fjmolinas fjmolinas added CI: run tests If set, CI server will run tests on hardware for the labeled PR and removed CI: run tests If set, CI server will run tests on hardware for the labeled PR labels Oct 1, 2019
Copy link
Contributor

@fjmolinas fjmolinas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think changes make sense and I'm happy with the current status. I would like someone else to take a look and also ACK this, @aabadie could you take a look?

I'll run all tests on a boar using this PR just be sure before ACK.

@aabadie
Copy link
Contributor

aabadie commented Oct 1, 2019

Looks good. Just found a minor typo. Please squash @cladmi !

@fjmolinas
Copy link
Contributor

No changes in tests results.

#### nucleo-l152re/failuresummary.md

Failures during compilation:
- [tests/riotboot](tests/riotboot/compilation.failed)

Failures during test:
- [tests/driver_grove_ledbar](tests/driver_grove_ledbar/test.failed)
- [tests/driver_my9221](tests/driver_my9221/test.failed)
- [tests/gnrc_ipv6_ext](tests/gnrc_ipv6_ext/test.failed)
- [tests/gnrc_rpl_srh](tests/gnrc_rpl_srh/test.failed)
- [tests/gnrc_sock_dns](tests/gnrc_sock_dns/test.failed)
- [tests/pkg_fatfs_vfs](tests/pkg_fatfs_vfs/test.failed)
- [tests/sys_arduino](tests/sys_arduino/test.failed)

There is a new test failure for - [tests/sys_arduino](tests/sys_arduino/test.failed) but it seems unrelated.

Copy link
Contributor

@fjmolinas fjmolinas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK.

@cladmi cladmi force-pushed the pr/tests/cleanterm branch from f266b69 to af260ae Compare October 1, 2019 12:12
@cladmi
Copy link
Contributor Author

cladmi commented Oct 1, 2019

I will rebase on the last master too, to simplify re-run the other tests like the sys_arduino.

cladmi added 7 commits October 1, 2019 14:13
Use PYTERMFLAGS for configuring the terminal.
It is similar to 'term' but with removing possible additional behaviors
from pyterm.

It currently removes the logging prefix.
Use a clean terminal without added decoration on the output for testing.
Get the output of a one line command without other garbage messages.
Disable repeating the command on empty line to allow sending empty
lines.
Test receiving an empty line.
It was before not possible with `pyterm` but is fixed by previous
commit.
Add some documentation about tests using `cleanterm` and what guarantees
it gives.
@cladmi cladmi force-pushed the pr/tests/cleanterm branch from af260ae to 66300b2 Compare October 1, 2019 12:13
@cladmi
Copy link
Contributor Author

cladmi commented Oct 1, 2019

I would say, enable running all tests without caching, as murdock will not re-run tests on this change.

@cladmi
Copy link
Contributor Author

cladmi commented Oct 1, 2019

The tests/sys_arduino for me worked with the arduino-mega2560 so should indeed not be related.

@fjmolinas fjmolinas added CI: disable test cache If set, CI will always run all tests regardless of whether they have been run successfully before CI: run tests If set, CI server will run tests on hardware for the labeled PR CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR and removed CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR labels Oct 1, 2019
@benpicco
Copy link
Contributor

benpicco commented Oct 1, 2019

Murdock says OK after ¾h of labor

@cladmi
Copy link
Contributor Author

cladmi commented Oct 1, 2019

Tests are also working locally on iotlab-m3.

@benpicco benpicco merged commit d7d7923 into RIOT-OS:master Oct 1, 2019
@cladmi
Copy link
Contributor Author

cladmi commented Oct 1, 2019

Thank you for the review.

Now we can correctly get the return value of a shell command !!!! 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: build system Area: Build system Area: tools Area: Supplementary tools CI: disable test cache If set, CI will always run all tests regardless of whether they have been run successfully before CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR CI: run tests If set, CI server will run tests on hardware for the labeled PR Reviewed: 3-testing The PR was tested according to the maintainer guidelines Type: bug The issue reports a bug / The PR fixes a bug (including spelling errors)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants