tests/feature_resolution: add build system unit tests#15973
tests/feature_resolution: add build system unit tests#15973fjmolinas merged 3 commits intoRIOT-OS:masterfrom
Conversation
|
Static test is failing as expected. May I squash? |
dist/tools/ci/static_tests.sh
Outdated
| run ./dist/tools/flake8/check.sh | ||
| run ./dist/tools/headerguards/check.sh | ||
| run ./dist/tools/buildsystem_sanity_check/check.sh | ||
| run ./tests/feature_resolution/check.sh |
There was a problem hiding this comment.
Wouldn't this fit better in dist/tools/...?
fjmolinas
left a comment
There was a problem hiding this comment.
Nice and needed addition. Maybe these files fit better under makefiles/tests?
|
Can we add this test case as well |
FEATURES_CONFLICTING previously was declared prior to the function it is calling, resulting in empty output during the first dependency resolution iteration. This fixes the order so that the conflicting features are detected right from the first recursion.
c8f28c2 to
09940d9
Compare
|
Another bug uncovered: blacklisted features end still up being used if they are optional. |
This test "application" contains a set of unit tests for the feature resolution of RIOT's build system.
09940d9 to
ed2ae85
Compare
|
@fjmolinas: Ping? |
|
Lets spin up the ci |
|
I'm running the dependency check, although I expect differences since this PR caught some bugs, Probably will have some bugs in |
|
But
So I just want to take a look but won't be a blocking point since this PR provides tests. |
fjmolinas
left a comment
There was a problem hiding this comment.
Everything seems ok, lets go, hopefully, there are no more hidden bugs lingering.
|
Thanks! |
Contribution description
Detecting bugs in feature resolution previously resulted in a lot of manual testing and more than once an issue slipped through. Dedicated unit tests should fix both.
Testing procedure
Hopefully, it is indeed as trivial as I had hoped for and Murdock will just run the test.The issue described in #15967 (review) should be detected by this test.Update: The test is now part of
make static-test.Issues/PRs references
#15957, #15855