<div dir="ltr"><div dir="ltr">On Wed, Aug 21, 2024 at 10:53 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Add support for marking test cases as requiring a certain topology. The<br>
default topology is a two link topology and the other supported<br>
topologies are one link and no link topologies.<br>
<br>
The TestProtocol of test suites and cases is extended with the topology<br>
type each test suite or case requires. Each test case starts out as<br>
requiring a two link topology and can be marked as requiring as<br>
topology directly (by decorating the test case) or through its test<br>
suite. If a test suite is decorated as requiring a certain topology, all<br>
its test cases are marked as such. If both test suite and a test case<br>
are decorated as requiring a topology, the test case cannot require a<br>
more complex topology than the whole suite (but it can require a less<br>
complex one). If a test suite is not decorated, this has no effect on<br>
required test case topology.<br>
<br>
Since the default topology is defined as a reference to one of the<br>
actual topologies, the NoAliasEnum from the aenum package is utilized,<br>
which removes the aliasing of Enums so that TopologyType.two_links and<br>
TopologyType.default are distinct. This is needed to distinguish between<br>
a user passed value and the default value being used (which is used when<br>
a test suite is or isn't decorated).<br>
<br>
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech><br></blockquote><div><br></div><div>Reviewed-by: Dean Marx <<a href="mailto:dmarx@iol.unh.edu">dmarx@iol.unh.edu</a>> </div></div></div>