Lines Matching refs:iter

131 ktest_iter_next_test(ktest_list_iter_t *iter, bool do_reset)  in ktest_iter_next_test()  argument
133 if (iter->kli_test == NULL && !do_reset) { in ktest_iter_next_test()
136 if (iter->kli_tests == NULL) { in ktest_iter_next_test()
140 iter->kli_test = nvlist_next_nvpair(iter->kli_tests, iter->kli_test); in ktest_iter_next_test()
141 while (iter->kli_test != NULL) { in ktest_iter_next_test()
143 if (nvpair_type(iter->kli_test) == DATA_TYPE_NVLIST && in ktest_iter_next_test()
145 fnvpair_value_nvlist(iter->kli_test), KTEST_TEST_INPUT_KEY, in ktest_iter_next_test()
147 iter->kli_req_input = requires_input; in ktest_iter_next_test()
150 iter->kli_test = in ktest_iter_next_test()
151 nvlist_next_nvpair(iter->kli_tests, iter->kli_test); in ktest_iter_next_test()
156 ktest_iter_next_suite(ktest_list_iter_t *iter, bool do_reset) in ktest_iter_next_suite() argument
158 if (iter->kli_suite == NULL && !do_reset) { in ktest_iter_next_suite()
161 if (iter->kli_suites == NULL) { in ktest_iter_next_suite()
165 iter->kli_suite = nvlist_next_nvpair(iter->kli_suites, iter->kli_suite); in ktest_iter_next_suite()
166 iter->kli_tests = NULL; in ktest_iter_next_suite()
167 iter->kli_test = NULL; in ktest_iter_next_suite()
168 while (iter->kli_suite != NULL) { in ktest_iter_next_suite()
169 if (nvpair_type(iter->kli_suite) == DATA_TYPE_NVLIST && in ktest_iter_next_suite()
170 nvlist_lookup_nvlist(fnvpair_value_nvlist(iter->kli_suite), in ktest_iter_next_suite()
171 KTEST_SUITE_TESTS_KEY, &iter->kli_tests) == 0) { in ktest_iter_next_suite()
175 iter->kli_suite = nvlist_next_nvpair(iter->kli_suites, in ktest_iter_next_suite()
176 iter->kli_suite); in ktest_iter_next_suite()
179 ktest_iter_next_test(iter, true); in ktest_iter_next_suite()
183 ktest_iter_next_module(ktest_list_iter_t *iter, bool do_reset) in ktest_iter_next_module() argument
185 if (iter->kli_module == NULL && !do_reset) { in ktest_iter_next_module()
188 VERIFY(iter->kli_modules != NULL); in ktest_iter_next_module()
190 iter->kli_module = nvlist_next_nvpair(iter->kli_modules, in ktest_iter_next_module()
191 iter->kli_module); in ktest_iter_next_module()
192 iter->kli_suites = NULL; in ktest_iter_next_module()
193 iter->kli_suite = NULL; in ktest_iter_next_module()
195 while (iter->kli_module != NULL) { in ktest_iter_next_module()
196 if (nvpair_type(iter->kli_module) == DATA_TYPE_NVLIST && in ktest_iter_next_module()
197 nvlist_lookup_nvlist(fnvpair_value_nvlist(iter->kli_module), in ktest_iter_next_module()
198 KTEST_MODULE_SUITES_KEY, &iter->kli_suites) == 0) { in ktest_iter_next_module()
202 iter->kli_module = in ktest_iter_next_module()
203 nvlist_next_nvpair(iter->kli_modules, iter->kli_module); in ktest_iter_next_module()
206 ktest_iter_next_suite(iter, true); in ktest_iter_next_module()
223 ktest_list_iter_t *iter = malloc(sizeof (ktest_list_iter_t)); in ktest_list() local
224 if (iter == NULL) { in ktest_list()
231 iter->kli_hdl = hdl; in ktest_list()
232 iter->kli_modules = tests; in ktest_list()
233 iter->kli_module = NULL; in ktest_list()
234 ktest_iter_next_module(iter, true); in ktest_list()
236 return (iter); in ktest_list()
246 ktest_list_next(ktest_list_iter_t *iter, ktest_entry_t *entry) in ktest_list_next() argument
248 while (iter->kli_module != NULL) { in ktest_list_next()
249 if (iter->kli_test != NULL) { in ktest_list_next()
254 entry->ke_module = nvpair_name(iter->kli_module); in ktest_list_next()
255 entry->ke_suite = nvpair_name(iter->kli_suite); in ktest_list_next()
256 entry->ke_test = nvpair_name(iter->kli_test); in ktest_list_next()
257 entry->ke_requires_input = iter->kli_req_input; in ktest_list_next()
258 ktest_iter_next_test(iter, false); in ktest_list_next()
262 ktest_iter_next_suite(iter, false); in ktest_list_next()
263 if (iter->kli_suite != NULL) { in ktest_list_next()
266 ktest_iter_next_module(iter, false); in ktest_list_next()
275 ktest_list_reset(ktest_list_iter_t *iter) in ktest_list_reset() argument
277 iter->kli_module = NULL; in ktest_list_reset()
278 ktest_iter_next_module(iter, true); in ktest_list_reset()
285 ktest_list_free(ktest_list_iter_t *iter) in ktest_list_free() argument
287 if (iter == NULL) { in ktest_list_free()
290 iter->kli_test = iter->kli_suite = iter->kli_module = NULL; in ktest_list_free()
291 if (iter->kli_modules != NULL) { in ktest_list_free()
292 nvlist_free(iter->kli_modules); in ktest_list_free()
293 iter->kli_modules = NULL; in ktest_list_free()
295 free(iter); in ktest_list_free()