On Wed, Aug 21, 2024 at 10:53 AM Juraj Linkeš wrote: > Add support for marking test cases as requiring a certain topology. The > default topology is a two link topology and the other supported > topologies are one link and no link topologies. > > The TestProtocol of test suites and cases is extended with the topology > type each test suite or case requires. Each test case starts out as > requiring a two link topology and can be marked as requiring as > topology directly (by decorating the test case) or through its test > suite. If a test suite is decorated as requiring a certain topology, all > its test cases are marked as such. If both test suite and a test case > are decorated as requiring a topology, the test case cannot require a > more complex topology than the whole suite (but it can require a less > complex one). If a test suite is not decorated, this has no effect on > required test case topology. > > Since the default topology is defined as a reference to one of the > actual topologies, the NoAliasEnum from the aenum package is utilized, > which removes the aliasing of Enums so that TopologyType.two_links and > TopologyType.default are distinct. This is needed to distinguish between > a user passed value and the default value being used (which is used when > a test suite is or isn't decorated). > > Signed-off-by: Juraj Linkeš > Reviewed-by: Dean Marx