On 12/06/2024 10:15, Juraj Linkeš wrote:
On 11. 6. 2024 11:51, Luca Vizzarro wrote:
While working on my blocklist patch, I've just realised I forgot to add another comment. I think it would be ideal to make capabilities a generic class, and NicCapability a child of this. When collecting capabilities we could group these by the final class, and let this final class create the environment to test the support. For example:


I'm trying to wrap my head around this:
1. What do you mean group these by the final class?

The ultimate child of Capability, so NicCapability.

2. What is this addressing or improving?

It renders requirements more generic than just having to do with testpmd. For example for the blocklist we could have a different kind of "capability" and we could do:

    @requires(TestbedCapability.min_port(2))
    class TestSuite_blocklist(TestSuite):

Given the specific test requires a minimum of 2 ports. Albeit redundant for DTS as we are always assuming minimum 2 ports right now, but it's an example.

   class Capability(ABC):
     @staticmethod
     @abstractmethod
     def test_environment(node, capabilities):
       """Overridable"

   class NicCapability(Capability):
     def test_environment(node, capabilities):
       shell = TestPmdShell(node)
       # test capabilities against shell capabilities


I'm looking at this and I don't even know what to replace with this.

Replace with what? The intention of the original message was just not to rely on a very concrete "NicCapability", but provide an abstract Capability instead.

Reply via email to