51 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * KUnit API to save and access test attributes4 *5 * Copyright (C) 2023, Google LLC.6 * Author: Rae Moar <rmoar@google.com>7 */8 9#ifndef _KUNIT_ATTRIBUTES_H10#define _KUNIT_ATTRIBUTES_H11 12/*13 * struct kunit_attr_filter - representation of attributes filter with the14 * attribute object and string input15 */16struct kunit_attr_filter {17 struct kunit_attr *attr;18 char *input;19};20 21/*22 * Returns the name of the filter's attribute.23 */24const char *kunit_attr_filter_name(struct kunit_attr_filter filter);25 26/*27 * Print all test attributes for a test case or suite.28 * Output format for test cases: "# <test_name>.<attribute>: <value>"29 * Output format for test suites: "# <attribute>: <value>"30 */31void kunit_print_attr(void *test_or_suite, bool is_test, unsigned int test_level);32 33/*34 * Returns the number of fitlers in input.35 */36int kunit_get_filter_count(char *input);37 38/*39 * Parse attributes filter input and return an objects containing the40 * attribute object and the string input of the next filter.41 */42struct kunit_attr_filter kunit_next_attr_filter(char **filters, int *err);43 44/*45 * Returns a copy of the suite containing only tests that pass the filter.46 */47struct kunit_suite *kunit_filter_attr_tests(const struct kunit_suite *const suite,48 struct kunit_attr_filter filter, char *action, int *err);49 50#endif /* _KUNIT_ATTRIBUTES_H */51