Simplify parsing of HW requirements and add missing ones
It turned out some requirements were left out and nothing was parsing them. The "maximal" unit test was incorrect and did not report this.
The patch
- adds parsing for missing requirement groups (
gpu,device), - several individual requirements were also missing,
- simplifies parsing of groups of constraints, providing helpers to avoid repetition,
- and fixes the test guarding this.
Pull Request Checklist
- [x] implement the feature
- [x] extend the test coverage
Blocked on https://github.com/teemtee/tmt/pull/2924
@happz thank for an update! Would you consider adding requirement group "device" as described in https://tmt.readthedocs.io/en/stable/spec/hardware.html#device ? In some cases like Driver Update Program we do not classify devices as gpu/network/etc but need to find systems by device's ID only
@happz thank for an update! Would you consider adding requirement group "device" as described in https://tmt.readthedocs.io/en/stable/spec/hardware.html#device ? In some cases like Driver Update Program we do not classify devices as gpu/network/etc but need to find systems by device's ID only
device should be one of the refactored and completed requirements, see https://github.com/teemtee/tmt/pull/2928/files#diff-1f37ee00a19e467a4f192fb6c06f6f3cce3b9e460896ed5397a89054bf58d085R1371
Note that this patch focuses on shared library part of HW requirements - the implementation for Beaker provisioning will follow soon.
deviceshould be one of the refactored and completed requirements, see https://github.com/teemtee/tmt/pull/2928/files#diff-1f37ee00a19e467a4f192fb6c06f6f3cce3b9e460896ed5397a89054bf58d085R1371
Oh sorry, missed it. Thank you!
Unrelated failures -> merging.