• David Gow's avatar
    kunit: Print test statistics on failure · acd8e840
    David Gow authored
    When a number of tests fail, it can be useful to get higher-level
    statistics of how many tests are failing (or how many parameters are
    failing in parameterised tests), and in what cases or suites. This is
    already done by some non-KUnit tests, so add support for automatically
    generating these for KUnit tests.
    
    This change adds a 'kunit.stats_enabled' switch which has three values:
    - 0: No stats are printed (current behaviour)
    - 1: Stats are printed only for tests/suites with more than one
         subtest (new default)
    - 2: Always print test statistics
    
    For parameterised tests, the summary line looks as follows:
    "    # inode_test_xtimestamp_decoding: pass:16 fail:0 skip:0 total:16"
    For test suites, there are two lines looking like this:
    "# ext4_inode_test: pass:1 fail:0 skip:0 total:1"
    "# Totals: pass:16 fail:0 skip:0 total:16"
    
    The first line gives the number of direct subtests, the second "Totals"
    line is the accumulated sum of all tests and test parameters.
    
    This format is based on the one used by kselftest[1].
    
    [1]: https://elixir.bootlin.com/linux/latest/source/tools/testing/selftests/kselftest.h#L109Signed-off-by: default avatarDavid Gow <davidgow@google.com>
    Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    acd8e840
test.c 18.9 KB