• Rae Moar's avatar
    kunit: Add test attributes API structure · 39e92cb1
    Rae Moar authored
    Add the basic structure of the test attribute API to KUnit, which can be
    used to save and access test associated data.
    
    Add attributes.c and attributes.h to hold associated structs and functions
    for the API.
    
    Create a struct that holds a variety of associated helper functions for
    each test attribute. These helper functions will be used to get the
    attribute value, convert the value to a string, and filter based on the
    value. This struct is flexible by design to allow for attributes of
    numerous types and contexts.
    
    Add a method to print test attributes in the format of "# [<test_name if
    not suite>.]<attribute_name>: <attribute_value>".
    
    Example for a suite: "# speed: slow"
    
    Example for a test case: "# test_case.speed: very_slow"
    
    Use this method to report attributes in the KTAP output (KTAP spec:
    https://docs.kernel.org/dev-tools/ktap.html) and _list_tests output when
    kernel's new kunit.action=list_attr option is used. Note this is derivative
    of the kunit.action=list option.
    
    In test.h, add fields and associated helper functions to test cases and
    suites to hold user-inputted test attributes.
    Reviewed-by: default avatarDavid Gow <davidgow@google.com>
    Signed-off-by: default avatarRae Moar <rmoar@google.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    39e92cb1
Makefile 581 Bytes