On 25/07/23 18:25, 'Rae Moar' via KUnit Development wrote: > Hello everyone, > > This patch series adds a test attributes framework to KUnit. > > There has been interest in filtering out "slow" KUnit tests. Most notably, > a new config, CONFIG_MEMCPY_SLOW_KUNIT_TEST, has been added to exclude a > particularly slow memcpy test > (https://lore.kernel.org/all/20230118200653.give.574-kees@xxxxxxxxxx/). > > This attributes framework can be used to save and access test associated > data, including whether a test is slow. These attributes are reportable > (via KTAP and command line output) and are also filterable. > > This framework is designed to allow for the addition of other attributes in > the future. These attributes could include whether the test can be run > concurrently, test file path, etc. > > To try out the framework I suggest running: > "./tools/testing/kunit/kunit.py run --filter speed!=slow" > > This patch series was originally sent out as an RFC. Here is a link to the > RFC v2: > https://lore.kernel.org/all/20230707210947.1208717-1-rmoar@xxxxxxxxxx/ > > Thanks! > Rae > Great addition to the KUnit framework! On all the patch set Reviewed-by: Arthur Grillo <arthurgrillo@xxxxxxxxxx> Best Regards, ~Arthur Grillo > Rae Moar (9): > kunit: Add test attributes API structure > kunit: Add speed attribute > kunit: Add module attribute > kunit: Add ability to filter attributes > kunit: tool: Add command line interface to filter and report > attributes > kunit: memcpy: Mark tests as slow using test attributes > kunit: time: Mark test as slow using test attributes > kunit: add tests for filtering attributes > kunit: Add documentation of KUnit test attributes > > Documentation/dev-tools/kunit/run_wrapper.rst | 12 + > .../dev-tools/kunit/running_tips.rst | 166 +++++++ > include/kunit/attributes.h | 50 +++ > include/kunit/test.h | 70 ++- > kernel/time/time_test.c | 2 +- > lib/Kconfig.debug | 3 + > lib/kunit/Makefile | 3 +- > lib/kunit/attributes.c | 418 ++++++++++++++++++ > lib/kunit/executor.c | 114 ++++- > lib/kunit/executor_test.c | 128 +++++- > lib/kunit/kunit-example-test.c | 9 + > lib/kunit/test.c | 27 +- > lib/memcpy_kunit.c | 8 +- > tools/testing/kunit/kunit.py | 70 ++- > tools/testing/kunit/kunit_kernel.py | 8 +- > tools/testing/kunit/kunit_parser.py | 11 +- > tools/testing/kunit/kunit_tool_test.py | 39 +- > 17 files changed, 1062 insertions(+), 76 deletions(-) > create mode 100644 include/kunit/attributes.h > create mode 100644 lib/kunit/attributes.c > > > base-commit: 64bd4641310c41a1ecf07c13c67bc0ed61045dfd