[riot-notifications] [RIOT-OS/RIOT] [TRACKING] The RIOT shell as a testing interface (#10994)
Juan I Carrano
notifications at github.com
Mon Feb 11 19:25:04 CET 2019
The RIOT testing system uses the shell quite extensively. While this is in itself a good idea, the current embodiment has a few issues:
- A few bug in the shell.
- Lack of a programmatic way of interacting with it (this was pointed out before in https://github.com/RIOT-OS/RIOT/issues/4967,) It would be desirable to have a library for interacting with the shell that can also be used from the testing scripts
- The build system / OS integration, via tools like pyterm which modify the input and output.
- Parsing is done by each test scripts via pexpect. Without strict restrictions on what to expect (and in particular which output to reject) a common failure mode of tests is to time out waiting for text that is never going to show up.
The plan is to:
- Fix the bugs.
- Remove the requirement for pyterm, in favour of a dumber terminal (if someone needs command history, there is [rlwrap](https://linux.die.net/man/1/rlwrap) for that.)
- Write a module that abstracts shell interaction.
- Define and implement an easily parseable format for command output.
- Integrate all of that into the testing infrastructure.
- [ ] Fix shell bugs
- [ ] sys/shell: ensure character is flushed when echoing. #10630
- [ ] sys/shell: correctly detect and handle long lines #10635
- [ ] Easily parseable commands:
- [ ] doc/rdm: RDM on a common api for testing #10624
- [ ] Self describing interfaces
- [ ] sys/app_metadata: Add a way to print application metadata #10961
- [ ] sys/optparse: Add command line parser. #9538
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the notifications