39e92cb1e4
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: David Gow <davidgow@google.com> Signed-off-by: Rae Moar <rmoar@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
27 lines
581 B
Makefile
27 lines
581 B
Makefile
obj-$(CONFIG_KUNIT) += kunit.o
|
|
|
|
kunit-objs += test.o \
|
|
resource.o \
|
|
static_stub.o \
|
|
string-stream.o \
|
|
assert.o \
|
|
try-catch.o \
|
|
executor.o \
|
|
attributes.o
|
|
|
|
ifeq ($(CONFIG_KUNIT_DEBUGFS),y)
|
|
kunit-objs += debugfs.o
|
|
endif
|
|
|
|
# KUnit 'hooks' are built-in even when KUnit is built as a module.
|
|
obj-y += hooks.o
|
|
|
|
obj-$(CONFIG_KUNIT_TEST) += kunit-test.o
|
|
|
|
# string-stream-test compiles built-in only.
|
|
ifeq ($(CONFIG_KUNIT_TEST),y)
|
|
obj-$(CONFIG_KUNIT_TEST) += string-stream-test.o
|
|
endif
|
|
|
|
obj-$(CONFIG_KUNIT_EXAMPLE_TEST) += kunit-example-test.o
|