Skip to content

[TRACKING] The RIOT shell as a testing interface #10994

@jcarrano

Description

@jcarrano

Description

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 Programmatic shell access #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 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.

Breakdown

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: build systemArea: Build systemArea: testsArea: tests and testing frameworkType: trackingThe issue tracks and organizes the sub-tasks of a larger effort

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions