On Wed, Aug 21, 2024 at 10:53 AM Juraj Linkeš wrote: > Some test cases or suites may be testing a NIC feature that is not > supported on all NICs, so add support for marking test cases or suites > as requiring NIC capabilities. > > The marking is done with a decorator, which populates the internal > required_capabilities attribute of TestProtocol. The NIC capability > itself is a wrapper around the NicCapability defined in testpmd_shell. > The reason is twofold: > 1. Enums cannot be extended and the class implements the methods of its > abstract base superclass, > 2. The class also stores an optional decorator function which is used > before/after capability retrieval. This is needed because some > capabilities may be advertised differently under different > configuration. > > The decorator API is designed to be simple to use. The arguments passed > to it are all from the testpmd shell. Everything else (even the actual > capability object creation) is done internally. > > Signed-off-by: Juraj Linkeš > Reviewed-by: Dean Marx