Skip to content

tests: split unittests? #8941

@kaspar030

Description

@kaspar030

Description

Currently, RIOT's unittests test application consists of many tests for different parts of the system, e.g., tests-core or tests-relic.

By default all of them (that are compatible with the target board) are built into one big binary, but they can also be built seperately.

There are several issues with this;

  1. the big binary is too large for almost all boards, thus the default binary will not even be linked
  2. there's no automatic way of treating the individual tests as distinct applications (like our other tests), thus together with 1., without further scripting, CI cannot run the tests
  3. there's a lot of hacky stuff going on in the unittests Makefile
  4. the tests interact in unforseen ways. e.g., tests-tweetnacl doubles the stacksize, if compiled in, possibly hiding stack issues in other tests. Or, modules included by one tests are not missed by another that uses it unless tests are compiled seperately

The one advantage of having a big binary is just that there's only one binary.

I propose splitting the unittests, turning each of tests-* into it's own application.

What do you think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: testsArea: tests and testing frameworkDiscussion: RFCThe issue/PR is used as a discussion starting point about the item of the issue/PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions