Lines Matching +full:dry +full:- +full:run
17 * Such variables have to be either non-local or volatile, otherwise their
39 for (i = 0; i < list->size; i++) { in debug_print_executions()
40 struct job_list_entry *entry = &list->entries[i]; in debug_print_executions()
41 igt_debug(" %s\n", entry->binary); in debug_print_executions()
42 for (k = 0; k < entry->subtest_count; ++k) { in debug_print_executions()
43 igt_debug(" %s\n", entry->subtests[k]); in debug_print_executions()
82 igt_subtest_f("job-list-filters-%s-%s", name, multiple ? "multiple" : "normal") { in job_list_filter_test()
86 multiple ? "--multiple-mode" : "--sync", in job_list_filter_test()
89 "path-to-results", in job_list_filter_test()
128 if (strcmp(dirent->d_name, ".") && in clear_directory_fd()
129 strcmp(dirent->d_name, "..")) { in clear_directory_fd()
130 if (dirent->d_type == DT_REG) { in clear_directory_fd()
131 unlinkat(dirfd, dirent->d_name, 0); in clear_directory_fd()
132 } else if (dirent->d_type == DT_DIR) { in clear_directory_fd()
133 clear_directory_fd(openat(dirfd, dirent->d_name, O_DIRECTORY | O_RDONLY)); in clear_directory_fd()
134 unlinkat(dirfd, dirent->d_name, AT_REMOVEDIR); in clear_directory_fd()
155 igt_assert_eq(one->abort_mask, two->abort_mask); in assert_settings_equal()
156 igt_assert_eqstr(one->test_list, two->test_list); in assert_settings_equal()
157 igt_assert_eqstr(one->name, two->name); in assert_settings_equal()
158 igt_assert_eq(one->dry_run, two->dry_run); in assert_settings_equal()
159 igt_assert_eq(one->sync, two->sync); in assert_settings_equal()
160 igt_assert_eq(one->log_level, two->log_level); in assert_settings_equal()
161 igt_assert_eq(one->overwrite, two->overwrite); in assert_settings_equal()
162 igt_assert_eq(one->multiple_mode, two->multiple_mode); in assert_settings_equal()
163 igt_assert_eq(one->inactivity_timeout, two->inactivity_timeout); in assert_settings_equal()
164 igt_assert_eq(one->use_watchdog, two->use_watchdog); in assert_settings_equal()
165 igt_assert_eqstr(one->test_root, two->test_root); in assert_settings_equal()
166 igt_assert_eqstr(one->results_path, two->results_path); in assert_settings_equal()
167 igt_assert_eq(one->piglit_style_dmesg, two->piglit_style_dmesg); in assert_settings_equal()
168 igt_assert_eq(one->dmesg_warn_level, two->dmesg_warn_level); in assert_settings_equal()
175 igt_assert_eq(one->size, two->size); in assert_job_list_equal()
177 for (i = 0; i < one->size; i++) { in assert_job_list_equal()
178 struct job_list_entry *eone = &one->entries[i]; in assert_job_list_equal()
179 struct job_list_entry *etwo = &two->entries[i]; in assert_job_list_equal()
181 igt_assert_eqstr(eone->binary, etwo->binary); in assert_job_list_equal()
182 igt_assert_eq(eone->subtest_count, etwo->subtest_count); in assert_job_list_equal()
184 for (k = 0; k < eone->subtest_count; k++) { in assert_job_list_equal()
185 igt_assert_eqstr(eone->subtests[k], etwo->subtests[k]); in assert_job_list_equal()
215 * Let's close all the non-standard fds ahead of executing
217 * any of the igt_runner code-paths exercised here.
219 * See file-descriptor-leakage subtest at the end.
233 igt_subtest("default-settings") {
235 "test-root-dir",
236 "path-to-results",
241 igt_assert_eq(settings->abort_mask, 0);
242 igt_assert(!settings->test_list);
243 igt_assert_eqstr(settings->name, "path-to-results");
244 igt_assert(!settings->dry_run);
245 igt_assert_eq(settings->include_regexes.size, 0);
246 igt_assert_eq(settings->exclude_regexes.size, 0);
247 igt_assert(!settings->sync);
248 igt_assert_eq(settings->log_level, LOG_LEVEL_NORMAL);
249 igt_assert(!settings->overwrite);
250 igt_assert(!settings->multiple_mode);
251 igt_assert_eq(settings->inactivity_timeout, 0);
252 igt_assert_eq(settings->overall_timeout, 0);
253 igt_assert(!settings->use_watchdog);
254 igt_assert(strstr(settings->test_root, "test-root-dir") != NULL);
255 igt_assert(strstr(settings->results_path, "path-to-results") != NULL);
257 igt_assert(!settings->piglit_style_dmesg);
258 igt_assert_eq(settings->dmesg_warn_level, 4);
270 igt_subtest("absolute-path-converter") {
271 char paths[][15] = { "simple-name", "foo/bar", "." };
315 igt_subtest("absolute-path-usage") {
317 "--test-list", pathtotestlist,
326 igt_assert_eqstr(settings->test_root, (char*)path);
330 igt_assert_eqstr(settings->results_path, (char*)path);
334 igt_assert_eqstr(settings->test_list, (char*)path);
349 igt_subtest("environment-overrides-test-root-flag") {
351 "test-root-dir",
352 "path-to-results",
358 igt_assert_eq(settings->abort_mask, 0);
359 igt_assert(!settings->test_list);
360 igt_assert_eqstr(settings->name, "path-to-results");
361 igt_assert(!settings->dry_run);
362 igt_assert_eq(settings->include_regexes.size, 0);
363 igt_assert_eq(settings->exclude_regexes.size, 0);
364 igt_assert(!settings->sync);
365 igt_assert_eq(settings->log_level, LOG_LEVEL_NORMAL);
366 igt_assert(!settings->overwrite);
367 igt_assert(!settings->multiple_mode);
368 igt_assert_eq(settings->inactivity_timeout, 0);
369 igt_assert_eq(settings->overall_timeout, 0);
370 igt_assert(!settings->use_watchdog);
371 igt_assert(strstr(settings->test_root, testdatadir) != NULL);
372 igt_assert(strstr(settings->results_path, "path-to-results") != NULL);
373 igt_assert(!settings->piglit_style_dmesg);
380 igt_subtest("parse-all-settings") {
383 "-n", "foo",
384 "--abort-on-monitored-error=taint,lockdep",
385 "--test-list", "path-to-test-list",
386 "--ignore-missing",
387 "--dry-run",
388 "-t", "pattern1",
389 "-t", "pattern2",
390 "-x", "xpattern1",
391 "-x", "xpattern2",
392 "-b", blacklist_name,
393 "--blacklist", blacklist2_name,
394 "-s",
395 "-l", "verbose",
396 "--overwrite",
397 "--multiple-mode",
398 "--inactivity-timeout", "27",
399 "--overall-timeout", "360",
400 "--use-watchdog",
401 "--piglit-style-dmesg",
402 "--dmesg-warn-level=3",
403 "test-root-dir",
404 "path-to-results",
407 sprintf(blacklist_name, "%s/test-blacklist.txt", testdatadir);
408 sprintf(blacklist2_name, "%s/test-blacklist2.txt", testdatadir);
412 igt_assert_eq(settings->abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
413 igt_assert(strstr(settings->test_list, "path-to-test-list") != NULL);
414 igt_assert_eqstr(settings->name, "foo");
415 igt_assert(settings->dry_run);
416 igt_assert_eq(settings->include_regexes.size, 2);
417 igt_assert_eqstr(settings->include_regexes.regex_strings[0], "pattern1");
418 igt_assert_eqstr(settings->include_regexes.regex_strings[1], "pattern2");
419 igt_assert_eq(settings->exclude_regexes.size, 4);
420 igt_assert_eqstr(settings->exclude_regexes.regex_strings[0], "xpattern1");
421 igt_assert_eqstr(settings->exclude_regexes.regex_strings[1], "xpattern2");
422 igt_assert_eqstr(settings->exclude_regexes.regex_strings[2], "xpattern3"); /* From blacklist */
423 igt_assert_eqstr(settings->exclude_regexes.regex_strings[3], "xpattern4"); /* From blacklist2 */
424 igt_assert(settings->sync);
425 igt_assert_eq(settings->log_level, LOG_LEVEL_VERBOSE);
426 igt_assert(settings->overwrite);
427 igt_assert(settings->multiple_mode);
428 igt_assert_eq(settings->inactivity_timeout, 27);
429 igt_assert_eq(settings->overall_timeout, 360);
430 igt_assert(settings->use_watchdog);
431 igt_assert(strstr(settings->test_root, "test-root-dir") != NULL);
432 igt_assert(strstr(settings->results_path, "path-to-results") != NULL);
434 igt_assert(settings->piglit_style_dmesg);
435 igt_assert_eq(settings->dmesg_warn_level, 3);
437 igt_subtest("parse-list-all") {
439 "--list-all",
440 "test-root-dir"};
443 igt_assert_eq(settings->list_all, 1);
446 igt_subtest("dmesg-warn-level-inferred") {
448 "test-root-dir",
449 "path-to-results",
454 igt_assert(!settings->piglit_style_dmesg);
455 igt_assert_eq(settings->dmesg_warn_level, 4);
458 igt_subtest("dmesg-warn-level-inferred-with-piglit-style") {
460 "--piglit-style-dmesg",
461 "test-root-dir",
462 "path-to-results",
467 igt_assert(settings->piglit_style_dmesg);
468 igt_assert_eq(settings->dmesg_warn_level, 5);
471 igt_subtest("dmesg-warn-level-overridable-with-piglit-style") {
473 "--piglit-style-dmesg",
474 "--dmesg-warn-level=3",
475 "test-root-dir",
476 "path-to-results",
481 igt_assert(settings->piglit_style_dmesg);
482 igt_assert_eq(settings->dmesg_warn_level, 3);
485 igt_subtest("invalid-option") {
487 "--no-such-option",
488 "test-root-dir",
489 "results-path",
495 igt_subtest("paths-missing") {
497 "-o",
502 igt_subtest("log-levels") {
504 "-l", "normal",
505 "test-root-dir",
506 "results-path",
510 igt_assert_eq(settings->log_level, LOG_LEVEL_NORMAL);
514 igt_assert_eq(settings->log_level, LOG_LEVEL_QUIET);
518 igt_assert_eq(settings->log_level, LOG_LEVEL_VERBOSE);
521 igt_subtest("abort-conditions") {
523 "--abort-on-monitored-error=taint",
524 "test-root-dir",
525 "results-path",
529 igt_assert_eq(settings->abort_mask, ABORT_TAINT);
531 argv[1] = "--abort-on-monitored-error=lockdep";
533 igt_assert_eq(settings->abort_mask, ABORT_LOCKDEP);
535 argv[1] = "--abort-on-monitored-error=taint";
537 igt_assert_eq(settings->abort_mask, ABORT_TAINT);
539 argv[1] = "--abort-on-monitored-error=lockdep,taint";
541 igt_assert_eq(settings->abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
543 argv[1] = "--abort-on-monitored-error=taint,lockdep";
545 igt_assert_eq(settings->abort_mask, ABORT_TAINT | ABORT_LOCKDEP);
547 argv[1] = "--abort-on-monitored-error=all";
549 igt_assert_eq(settings->abort_mask, ABORT_ALL);
551 argv[1] = "--abort-on-monitored-error=";
553 igt_assert_eq(settings->abort_mask, 0);
555 argv[1] = "--abort-on-monitored-error=doesnotexist";
560 igt_subtest("parse-clears-old-data") {
562 "-n", "foo",
563 "--dry-run",
564 "test-root-dir",
565 "results-path",
570 igt_assert_eqstr(settings->name, "foo");
571 igt_assert(settings->dry_run);
572 igt_assert(!settings->test_list);
573 igt_assert(!settings->sync);
575 argv[1] = "--test-list";
576 argv[3] = "--sync";
580 igt_assert_eqstr(settings->name, "results-path");
581 igt_assert(!settings->dry_run);
582 igt_assert(strstr(settings->test_list, "foo") != NULL);
583 igt_assert(settings->sync);
595 igt_subtest("validate-ok") {
597 "--test-list", filename,
599 "path-to-results",
612 igt_subtest("validate-no-test-list") {
613 const char *nosuchfile = "no-such-file";
615 "--test-list", nosuchfile,
617 "path-to-results",
635 igt_subtest("job-list-no-test-list-txt") {
638 "path-to-results",
653 job_list_filter_test("nofilters", "-n", "placeholderargs", 5, 3);
654 job_list_filter_test("binary-include", "-t", "successtest", 2, 1);
655 job_list_filter_test("binary-exclude", "-x", "successtest", 3, 2);
656 job_list_filter_test("subtest-include", "-t", "first-subtest", 1, 1);
657 job_list_filter_test("subtest-exclude", "-x", "second-subtest", 4, 3);
658 job_list_filter_test("piglit-names", "-t", "igt@successtest", 2, 1);
659 job_list_filter_test("piglit-names-subtest", "-t", "igt@successtest@first", 1, 1);
663 const char testlisttext[] = "igt@successtest@first-subtest\n"
664 "igt@successtest@second-subtest\n"
678 igt_subtest_f("job-list-testlist-%s", multiple ? "multiple" : "normal") {
680 "--test-list", filename,
681 multiple ? "--multiple-mode" : "--sync",
683 "path-to-results",
689 igt_assert_eq(list->size, multiple ? 2 : 3);
691 igt_assert_eqstr(list->entries[0].binary, "successtest");
692 if (!multiple) igt_assert_eqstr(list->entries[1].binary, "successtest");
693 igt_assert_eqstr(list->entries[multiple ? 1 : 2].binary, "nosubtests");
695 igt_assert_eq(list->entries[0].subtest_count, multiple ? 2 : 1);
696 igt_assert_eq(list->entries[1].subtest_count, multiple ? 0 : 1);
697 if (!multiple) igt_assert_eq(list->entries[2].subtest_count, 0);
699 igt_assert_eqstr(list->entries[0].subtests[0], "first-subtest");
700 igt_assert_eqstr(list->entries[multiple ? 0 : 1].subtests[multiple ? 1 : 0], "second-subtest");
703 igt_subtest_f("job-list-testlist-filtered-%s", multiple ? "multiple" : "normal") {
705 "--test-list", filename,
706 multiple ? "--multiple-mode" : "--sync",
707 "-t", "successtest",
708 "-x", "first",
710 "path-to-results",
716 igt_assert_eq(list->size, 1);
717 igt_assert_eqstr(list->entries[0].binary, "successtest");
719 igt_assert_eq(list->entries[0].subtest_count, 1);
720 igt_assert_eqstr(list->entries[0].subtests[0], "second-subtest");
733 volatile int dirfd = -1, fd = -1;
742 igt_subtest("settings-serialize") {
744 "-n", "foo",
745 "--abort-on-monitored-error",
746 "--test-list", "path-to-test-list",
747 "--ignore-missing",
748 "--dry-run",
749 "-t", "pattern1",
750 "-t", "pattern2",
751 "-x", "xpattern1",
752 "-x", "xpattern2",
753 "-s",
754 "-l", "verbose",
755 "--overwrite",
756 "--multiple-mode",
757 "--inactivity-timeout", "27",
758 "--overall-timeout", "360",
759 "--use-watchdog",
760 "--piglit-style-dmesg",
791 volatile int dirfd = -1, fd = -1;
806 igt_subtest_f("job-list-serialize-%s", multiple ? "multiple" : "normal") {
809 multiple ? "--multiple-mode" : "--sync",
826 fd = -1;
850 volatile int dirfd = -1, subdirfd = -1, fd = -1;
858 igt_subtest("dry-run-option") {
861 "--dry-run",
871 igt_assert(state.dry);
872 igt_assert_eq(list->size, 5);
875 "Dry run initialization didn't create the results directory.\n");
880 "Dry run executed when it should not have.\n");
882 "Dry run initialization didn't serialize settings.\n");
885 "Dry run initialization didn't serialize the job list.\n");
888 "Dry run initialization created uname.txt.\n");
892 igt_assert(!state.dry);
893 igt_assert_eq(list->size, 5);
896 "Dry run resume somehow deleted the results directory.\n");
901 "Dry run resume didn't create uname.txt.\n");
904 "Dry run resume didn't create result directory.\n");
906 "Dry run resume didn't create a journal.\n");
922 volatile int dirfd = -1, fd = -1;
930 igt_subtest("execute-initialize-new-run") {
943 igt_assert_eq(list->size, 5);
970 volatile int dirfd = -1, subdirfd = -1, fd = -1;
977 igt_subtest("execute-initialize-subtest-started") {
980 "--multiple-mode",
981 "-t", "successtest",
985 const char journaltext[] = "first-subtest\n";
986 const char excludestring[] = "!first-subtest";
990 igt_assert(list->size == 1);
991 igt_assert(list->entries[0].subtest_count == 0);
1007 igt_assert_eq(list->size, 1);
1008 igt_assert_eq(list->entries[0].subtest_count, 2);
1009 igt_assert_eqstr(list->entries[0].subtests[0], "*");
1010 igt_assert_eqstr(list->entries[0].subtests[1], excludestring);
1026 volatile int dirfd = -1, subdirfd = -1, fd = -1;
1033 igt_subtest("execute-initialize-all-subtests-started") {
1036 "--multiple-mode",
1037 "-t", "successtest@first-subtest",
1038 "-t", "successtest@second-subtest",
1042 const char journaltext[] = "first-subtest\nsecond-subtest\n";
1046 igt_assert(list->size == 1);
1047 igt_assert(list->entries[0].subtest_count == 2);
1064 igt_assert_eq(list->size, 1);
1065 igt_assert_eq(list->entries[0].subtest_count, 4);
1081 volatile int dirfd = -1, subdirfd = -1, fd = -1;
1088 igt_subtest("execute-initialize-subtests-complete") {
1091 "--multiple-mode",
1095 const char journaltext[] = "first-subtest\nsecond-subtest\nexit:0\n";
1099 igt_assert(list->size == 3);
1101 if (!strcmp(list->entries[0].binary, "no-subtests")) {
1102 struct job_list_entry tmp = list->entries[0];
1103 list->entries[0] = list->entries[1];
1104 list->entries[1] = tmp;
1107 igt_assert(list->entries[0].subtest_count == 0);
1123 igt_assert_eq(list->size, 3);
1138 volatile int dirfd = -1, subdirfd = -1, fd = -1;
1153 igt_subtest_f("execute-subtests-%s", multiple ? "multiple" : "normal") {
1156 multiple ? "--multiple-mode" : "--sync",
1157 "-t", "-subtest",
1176 fd = -1;
1206 igt_subtest("metadata-read-old-style-infer-dmesg-warn-piglit-style") {
1213 igt_assert(settings->piglit_style_dmesg);
1214 igt_assert_eq(settings->dmesg_warn_level, 5);
1219 igt_subtest("metadata-read-overrides-dmesg-warn-piglit-style") {
1226 igt_assert(settings->piglit_style_dmesg);
1227 igt_assert_eq(settings->dmesg_warn_level, 3);
1232 igt_subtest("metadata-read-old-style-infer-dmesg-warn-default") {
1239 igt_assert(!settings->piglit_style_dmesg);
1240 igt_assert_eq(settings->dmesg_warn_level, 4);
1245 igt_subtest("metadata-read-overrides-dmesg-warn-default") {
1252 igt_assert(!settings->piglit_style_dmesg);
1253 igt_assert_eq(settings->dmesg_warn_level, 3);
1261 volatile int dirfd = -1, subdirfd = -1, fd = -1;
1276 igt_subtest_f("execute-skipper-journal-%s", multiple ? "multiple" : "normal") {
1279 multiple ? "--multiple-mode" : "--sync",
1280 "-t", "skippers",
1286 "skip-one\nskip-two\nexit:77 (" :
1287 "skip-one\nexit:77 (";
1288 const char *expected_1 = "skip-two\nexit:77 (";
1301 fd = -1;
1313 subdirfd = -1;
1325 subdirfd = -1;
1342 igt_subtest("file-descriptor-leakage") {
1346 * This is a build-time test, and it's expected that
1347 * all subtests are normally run. Keep this one at the