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