51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * KUnit API to save and access test attributes
 | |
|  *
 | |
|  * Copyright (C) 2023, Google LLC.
 | |
|  * Author: Rae Moar <rmoar@google.com>
 | |
|  */
 | |
| 
 | |
| #ifndef _KUNIT_ATTRIBUTES_H
 | |
| #define _KUNIT_ATTRIBUTES_H
 | |
| 
 | |
| /*
 | |
|  * struct kunit_attr_filter - representation of attributes filter with the
 | |
|  * attribute object and string input
 | |
|  */
 | |
| struct kunit_attr_filter {
 | |
| 	struct kunit_attr *attr;
 | |
| 	char *input;
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * Returns the name of the filter's attribute.
 | |
|  */
 | |
| const char *kunit_attr_filter_name(struct kunit_attr_filter filter);
 | |
| 
 | |
| /*
 | |
|  * Print all test attributes for a test case or suite.
 | |
|  * Output format for test cases: "# <test_name>.<attribute>: <value>"
 | |
|  * Output format for test suites: "# <attribute>: <value>"
 | |
|  */
 | |
| void kunit_print_attr(void *test_or_suite, bool is_test, unsigned int test_level);
 | |
| 
 | |
| /*
 | |
|  * Returns the number of fitlers in input.
 | |
|  */
 | |
| int kunit_get_filter_count(char *input);
 | |
| 
 | |
| /*
 | |
|  * Parse attributes filter input and return an objects containing the
 | |
|  * attribute object and the string input of the next filter.
 | |
|  */
 | |
| struct kunit_attr_filter kunit_next_attr_filter(char **filters, int *err);
 | |
| 
 | |
| /*
 | |
|  * Returns a copy of the suite containing only tests that pass the filter.
 | |
|  */
 | |
| struct kunit_suite *kunit_filter_attr_tests(const struct kunit_suite *const suite,
 | |
| 		struct kunit_attr_filter filter, char *action, int *err);
 | |
| 
 | |
| #endif /* _KUNIT_ATTRIBUTES_H */
 |