lkml.org 
[lkml]   [2023]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v1 6/9] kunit: memcpy: Mark tests as slow using test attributes
    From
    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 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.

    Note: This patch is intended to replace the use of
    CONFIG_MEMCPY_SLOW_KUNIT_TEST and to potentially deprecate this feature.
    This patch does not remove the config option but does add a note to the
    config definition commenting on this future shift.

    Acked-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Rae Moar <rmoar@google.com>
    ---

    Changes since RFC v2:
    - No changes.
    Changes since RFC v1:
    - Added note under CONFIG_MEMCPY_SLOW_KUNIT_TEST.

    lib/Kconfig.debug | 3 +++
    lib/memcpy_kunit.c | 8 ++++----
    2 files changed, 7 insertions(+), 4 deletions(-)

    diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
    index 550cb967b668..1b3894e861f2 100644
    --- a/lib/Kconfig.debug
    +++ b/lib/Kconfig.debug
    @@ -2701,6 +2701,9 @@ config MEMCPY_SLOW_KUNIT_TEST
    and bit ranges. These can be very slow, so they are split out
    as a separate config, in case they need to be disabled.

    + Note this config option will be replaced by the use of KUnit test
    + attributes.
    +
    config IS_SIGNED_TYPE_KUNIT_TEST
    tristate "Test is_signed_type() macro" if !KUNIT_ALL_TESTS
    depends on KUNIT
    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.255.g8b1d071c50-goog
    \
     
     \ /
      Last update: 2023-07-20 00:25    [W:3.350 / U:0.476 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site