-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Labels
Area: testsArea: tests and testing frameworkArea: tests and testing frameworkDiscussion: RFCThe issue/PR is used as a discussion starting point about the item of the issue/PRThe issue/PR is used as a discussion starting point about the item of the issue/PR
Description
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;
- the big binary is too large for almost all boards, thus the default binary will not even be linked
- 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
- there's a lot of hacky stuff going on in the unittests Makefile
- 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
Labels
Area: testsArea: tests and testing frameworkArea: tests and testing frameworkDiscussion: RFCThe issue/PR is used as a discussion starting point about the item of the issue/PRThe issue/PR is used as a discussion starting point about the item of the issue/PR