Message ID | 20230610005149.1145665-6-rmoar@google.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | kunit: Add test attributes API | expand |
On Sat, 10 Jun 2023 at 08:52, Rae Moar <rmoar@google.com> wrote: > > Mark slow memcpy KUnit tests using test attributes. > > Tests marked as slow are as follows: memcpy_large_test, memmove_test, > memmove_large_test, and memmove_overlap_test. > > These tests were the slowest of the memcpy tests and relatively slower to > most other KUnit tests. Most of these tests are already skipped when > CONFIG_MEMCPY_SLOW_KUNIT_TEST is not enabled. I assume the plan will be to eventually remove the CONFIG_MEMCPY_SLOW_KUNIT_TEST option and just rely on the "speed" attribute to filter these out. That has the disadvantage that the tests will still be built, but is probably the nicer long-term solution. I suppose we could remove it in this patch, too, but I suspect it makes more sense to have a deprecation period to make sure the attributes are working well. That being said, maybe add a note to the CONFIG_MEMCPY_SLOW_KUNIT_TEST help text to advertise this? > > These tests can now be filtered on using the KUnit test attribute filtering > feature. Example: --filter "speed>slow". This will run only the tests that > have speeds faster than slow. The slow attribute will also be outputted in > KTAP. > > Signed-off-by: Rae Moar <rmoar@google.com> > --- > lib/memcpy_kunit.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/lib/memcpy_kunit.c b/lib/memcpy_kunit.c > index 887926f04731..440aee705ccc 100644 > --- a/lib/memcpy_kunit.c > +++ b/lib/memcpy_kunit.c > @@ -551,10 +551,10 @@ static void strtomem_test(struct kunit *test) > static struct kunit_case memcpy_test_cases[] = { > KUNIT_CASE(memset_test), > KUNIT_CASE(memcpy_test), > - KUNIT_CASE(memcpy_large_test), > - KUNIT_CASE(memmove_test), > - KUNIT_CASE(memmove_large_test), > - KUNIT_CASE(memmove_overlap_test), > + KUNIT_CASE_SLOW(memcpy_large_test), > + KUNIT_CASE_SLOW(memmove_test), > + KUNIT_CASE_SLOW(memmove_large_test), > + KUNIT_CASE_SLOW(memmove_overlap_test), > KUNIT_CASE(strtomem_test), > {} > }; > -- > 2.41.0.162.gfafddb0af9-goog >
On Sat, Jun 10, 2023 at 4:29 AM David Gow <davidgow@google.com> wrote: > > On Sat, 10 Jun 2023 at 08:52, Rae Moar <rmoar@google.com> wrote: > > > > Mark slow memcpy KUnit tests using test attributes. > > > > Tests marked as slow are as follows: memcpy_large_test, memmove_test, > > memmove_large_test, and memmove_overlap_test. > > > > These tests were the slowest of the memcpy tests and relatively slower to > > most other KUnit tests. Most of these tests are already skipped when > > CONFIG_MEMCPY_SLOW_KUNIT_TEST is not enabled. > > I assume the plan will be to eventually remove the > CONFIG_MEMCPY_SLOW_KUNIT_TEST option and just rely on the "speed" > attribute to filter these out. That has the disadvantage that the > tests will still be built, but is probably the nicer long-term > solution. > > I suppose we could remove it in this patch, too, but I suspect it > makes more sense to have a deprecation period to make sure the > attributes are working well. That being said, maybe add a note to the > CONFIG_MEMCPY_SLOW_KUNIT_TEST help text to advertise this? > Yes that was the plan but I should definitely document that here and then I like the idea for adding the note with CONFIG_MEMCPY_SLOW_KUNIT_TEST. Thanks! -Rae > > > > > These tests can now be filtered on using the KUnit test attribute filtering > > feature. Example: --filter "speed>slow". This will run only the tests that > > have speeds faster than slow. The slow attribute will also be outputted in > > KTAP. > > > > Signed-off-by: Rae Moar <rmoar@google.com> > > --- > > lib/memcpy_kunit.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/lib/memcpy_kunit.c b/lib/memcpy_kunit.c > > index 887926f04731..440aee705ccc 100644 > > --- a/lib/memcpy_kunit.c > > +++ b/lib/memcpy_kunit.c > > @@ -551,10 +551,10 @@ static void strtomem_test(struct kunit *test) > > static struct kunit_case memcpy_test_cases[] = { > > KUNIT_CASE(memset_test), > > KUNIT_CASE(memcpy_test), > > - KUNIT_CASE(memcpy_large_test), > > - KUNIT_CASE(memmove_test), > > - KUNIT_CASE(memmove_large_test), > > - KUNIT_CASE(memmove_overlap_test), > > + KUNIT_CASE_SLOW(memcpy_large_test), > > + KUNIT_CASE_SLOW(memmove_test), > > + KUNIT_CASE_SLOW(memmove_large_test), > > + KUNIT_CASE_SLOW(memmove_overlap_test), > > KUNIT_CASE(strtomem_test), > > {} > > }; > > -- > > 2.41.0.162.gfafddb0af9-goog > >
diff --git a/lib/memcpy_kunit.c b/lib/memcpy_kunit.c index 887926f04731..440aee705ccc 100644 --- a/lib/memcpy_kunit.c +++ b/lib/memcpy_kunit.c @@ -551,10 +551,10 @@ static void strtomem_test(struct kunit *test) static struct kunit_case memcpy_test_cases[] = { KUNIT_CASE(memset_test), KUNIT_CASE(memcpy_test), - KUNIT_CASE(memcpy_large_test), - KUNIT_CASE(memmove_test), - KUNIT_CASE(memmove_large_test), - KUNIT_CASE(memmove_overlap_test), + KUNIT_CASE_SLOW(memcpy_large_test), + KUNIT_CASE_SLOW(memmove_test), + KUNIT_CASE_SLOW(memmove_large_test), + KUNIT_CASE_SLOW(memmove_overlap_test), KUNIT_CASE(strtomem_test), {} };
Mark slow memcpy KUnit tests using test attributes. Tests marked as slow are as follows: memcpy_large_test, memmove_test, memmove_large_test, and memmove_overlap_test. These tests were the slowest of the memcpy tests and relatively slower to most other KUnit tests. Most of these tests are already skipped when CONFIG_MEMCPY_SLOW_KUNIT_TEST is not enabled. These tests can now be filtered on using the KUnit test attribute filtering feature. Example: --filter "speed>slow". This will run only the tests that have speeds faster than slow. The slow attribute will also be outputted in KTAP. Signed-off-by: Rae Moar <rmoar@google.com> --- lib/memcpy_kunit.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)