Re: [RFC v1 5/6] kunit: memcpy: Mark tests as slow using test attributes

From: Rae Moar
Date: Tue Jun 13 2023 - 16:45:10 EST


On Sat, Jun 10, 2023 at 4:29 AM David Gow <davidgow@xxxxxxxxxx> wrote:
>
> On Sat, 10 Jun 2023 at 08:52, Rae Moar <rmoar@xxxxxxxxxx> 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@xxxxxxxxxx>
> > ---
> > 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
> >