Lines Matching refs:input
40 int (*filter)(void *attr, const char *input, int *err);
80 static int int_filter(long val, const char *op, int input, int *err)
83 return (val <= input);
85 return (val >= input);
87 return (val != input);
89 return (val > input);
91 return (val < input);
93 return (val == input);
101 * by the input string. Note: the str_list includes the corresponding string
104 static int attr_enum_filter(void *attr, const char *input, int *err,
111 for (i = 0; input[i]; i++) {
112 if (!strchr(op_list, input[i])) {
113 input_val = input + i;
120 pr_err("kunit executor: filter value not found: %s\n", input);
131 pr_err("kunit executor: invalid filter input: %s\n", input);
135 return int_filter(test_val, input, input_int, err);
138 static int attr_speed_filter(void *attr, const char *input, int *err)
140 return attr_enum_filter(attr, input, err, speed_str_list, KUNIT_SPEED_MAX);
145 * by the input string.
147 static int attr_string_filter(void *attr, const char *input, int *err)
151 if (!strncmp(input, "<", 1)) {
153 pr_err("kunit executor: invalid filter input: %s\n", input);
155 } else if (!strncmp(input, ">", 1)) {
157 pr_err("kunit executor: invalid filter input: %s\n", input);
159 } else if (!strncmp(input, "!=", 2)) {
160 return (strcmp(input + 2, str) != 0);
161 } else if (!strncmp(input, "=", 1)) {
162 return (strcmp(input + 1, str) == 0);
165 pr_err("kunit executor: invalid filter operation: %s\n", input);
260 int kunit_get_filter_count(char *input)
264 for (i = 0; input[i]; i++) {
265 if (input[i] == ',') {
282 char *input = *filters;
284 /* Parse input until operation */
285 for (i = 0; input[i]; i++) {
286 if (op_index < 0 && strchr(op_list, input[i])) {
288 } else if (!comma_index && input[i] == ',') {
290 } else if (comma_index && input[i] != ' ') {
298 pr_err("kunit executor: filter operation not found: %s\n", input);
303 op = input[op_index];
304 input[op_index] = '\0';
308 if (!strcmp(input, kunit_attr_list[j].name)) {
314 input[op_index] = op;
318 pr_err("kunit executor: attribute not found: %s\n", input);
324 input[comma_index] = '\0';
325 filter.input = input + op_index;
326 input = input + new_start_index;
328 filter.input = input + op_index;
329 input = NULL;
332 *filters = input;
362 default_result = filter.attr->filter(filter.attr->attr_default, filter.input, err);
368 suite_result = filter.attr->filter(suite_val, filter.input, err);
376 filter.input, err);