Lines Matching refs:input

40 	int (*filter)(void *attr, const char *input, int *err);
90 static int int_filter(long val, const char *op, int input, int *err)
93 return (val <= input);
95 return (val >= input);
97 return (val != input);
99 return (val > input);
101 return (val < input);
103 return (val == input);
111 * by the input string. Note: the str_list includes the corresponding string
114 static int attr_enum_filter(void *attr, const char *input, int *err,
121 for (i = 0; input[i]; i++) {
122 if (!strchr(op_list, input[i])) {
123 input_val = input + i;
130 pr_err("kunit executor: filter value not found: %s\n", input);
141 pr_err("kunit executor: invalid filter input: %s\n", input);
145 return int_filter(test_val, input, input_int, err);
148 static int attr_speed_filter(void *attr, const char *input, int *err)
150 return attr_enum_filter(attr, input, err, speed_str_list, KUNIT_SPEED_MAX);
155 * by the input string.
157 static int attr_string_filter(void *attr, const char *input, int *err)
161 if (!strncmp(input, "<", 1)) {
163 pr_err("kunit executor: invalid filter input: %s\n", input);
165 } else if (!strncmp(input, ">", 1)) {
167 pr_err("kunit executor: invalid filter input: %s\n", input);
169 } else if (!strncmp(input, "!=", 2)) {
170 return (strcmp(input + 2, str) != 0);
171 } else if (!strncmp(input, "=", 1)) {
172 return (strcmp(input + 1, str) == 0);
175 pr_err("kunit executor: invalid filter operation: %s\n", input);
179 static int attr_bool_filter(void *attr, const char *input, int *err)
185 for (i = 0; input[i]; i++) {
186 if (!strchr(op_list, input[i])) {
187 input_str = input + i;
194 pr_err("kunit executor: filter value not found: %s\n", input);
204 pr_err("kunit executor: invalid filter input: %s\n", input);
208 return int_filter(val, input, input_int, err);
320 int kunit_get_filter_count(char *input)
324 for (i = 0; input[i]; i++) {
325 if (input[i] == ',') {
342 char *input = *filters;
344 /* Parse input until operation */
345 for (i = 0; input[i]; i++) {
346 if (op_index < 0 && strchr(op_list, input[i])) {
348 } else if (!comma_index && input[i] == ',') {
350 } else if (comma_index && input[i] != ' ') {
358 pr_err("kunit executor: filter operation not found: %s\n", input);
363 op = input[op_index];
364 input[op_index] = '\0';
368 if (!strcmp(input, kunit_attr_list[j].name)) {
374 input[op_index] = op;
378 pr_err("kunit executor: attribute not found: %s\n", input);
384 input[comma_index] = '\0';
385 filter.input = input + op_index;
386 input = input + new_start_index;
388 filter.input = input + op_index;
389 input = NULL;
392 *filters = input;
422 default_result = filter.attr->filter(filter.attr->attr_default, filter.input, err);
428 suite_result = filter.attr->filter(suite_val, filter.input, err);
436 filter.input, err);