Nice touch! Reviewed-by: Nicholas Pratte <npra...@iol.unh.edu>
On Fri, Jan 24, 2025 at 6:39 AM Luca Vizzarro <luca.vizza...@arm.com> wrote: > > The configuration requires the user to explicitly set the requested test > suites in the files. Sometimes we want to run all the test suites and > don't want to manually specify all of them. It is therefore reasonable > to change the default behaviour to automatically run all the available > test suites if none are specified. > > Bugzilla ID: 1360 > > Signed-off-by: Luca Vizzarro <luca.vizza...@arm.com> > Reviewed-by: Paul Szczepanek <paul.szczepa...@arm.com> > Reviewed-by: Dean Marx <dm...@iol.unh.edu> > --- > dts/framework/config/test_run.py | 16 +++++++++++++++- > dts/test_runs.example.yaml | 3 ++- > 2 files changed, 17 insertions(+), 2 deletions(-) > > diff --git a/dts/framework/config/test_run.py > b/dts/framework/config/test_run.py > index dc0e46047d..006410b467 100644 > --- a/dts/framework/config/test_run.py > +++ b/dts/framework/config/test_run.py > @@ -259,6 +259,20 @@ def validate_names(self) -> Self: > return self > > > +def fetch_all_test_suites() -> list[TestSuiteConfig]: > + """Returns all the available test suites as configuration objects. > + > + This function does not include the smoke tests. > + """ > + from framework.test_suite import AVAILABLE_TEST_SUITES > + > + return [ > + TestSuiteConfig(test_suite=test_suite.name) > + for test_suite in AVAILABLE_TEST_SUITES > + if test_suite.name != "smoke_tests" > + ] > + > + > class TestRunConfiguration(FrozenModel): > """The configuration of a test run. > > @@ -275,7 +289,7 @@ class TestRunConfiguration(FrozenModel): > #: Whether to skip smoke tests. > skip_smoke_tests: bool = False > #: The names of test suites and/or test cases to execute. > - test_suites: list[TestSuiteConfig] = Field(min_length=1) > + test_suites: list[TestSuiteConfig] = > Field(default_factory=fetch_all_test_suites) > #: The SUT node name to use in this test run. > system_under_test_node: str > #: The TG node name to use in this test run. > diff --git a/dts/test_runs.example.yaml b/dts/test_runs.example.yaml > index 5b6afb153e..5cc167ebe1 100644 > --- a/dts/test_runs.example.yaml > +++ b/dts/test_runs.example.yaml > @@ -23,6 +23,7 @@ > perf: false # disable performance testing > func: true # enable functional testing > skip_smoke_tests: false # optional > + # by removing the `test_suites` field, this test run will run every test > suite available > test_suites: # the following test suites will be run in their entirety > - hello_world > vdevs: # optional; if removed, vdevs won't be used in the execution > @@ -30,4 +31,4 @@ > # The machine running the DPDK test executable > system_under_test_node: "SUT 1" > # Traffic generator node to use for this execution environment > - traffic_generator_node: "TG 1" > \ No newline at end of file > + traffic_generator_node: "TG 1" > -- > 2.43.0 >