• Home
  • Raw
  • Download

Lines Matching full:settings

1 #include "settings.h"
58 static bool set_log_level(struct settings* settings, const char *level) in set_log_level() argument
64 settings->log_level = it->level; in set_log_level()
72 static bool set_abort_condition(struct settings* settings, const char *cond) in set_abort_condition() argument
77 settings->abort_mask = ABORT_ALL; in set_abort_condition()
82 settings->abort_mask = 0; in set_abort_condition()
88 settings->abort_mask |= it->value; in set_abort_condition()
96 static bool parse_abort_conditions(struct settings *settings, const char *optarg) in parse_abort_conditions() argument
100 return set_abort_condition(settings, NULL); in parse_abort_conditions()
109 if (!set_abort_condition(settings, dup)) { in parse_abort_conditions()
286 void init_settings(struct settings *settings) in init_settings() argument
288 memset(settings, 0, sizeof(*settings)); in init_settings()
291 void free_settings(struct settings *settings) in free_settings() argument
293 free(settings->test_list); in free_settings()
294 free(settings->name); in free_settings()
295 free(settings->test_root); in free_settings()
296 free(settings->results_path); in free_settings()
298 free_regexes(&settings->include_regexes); in free_settings()
299 free_regexes(&settings->exclude_regexes); in free_settings()
301 init_settings(settings); in free_settings()
305 struct settings *settings) in parse_options() argument
333 free_settings(settings); in parse_options()
337 settings->dmesg_warn_level = -1; in parse_options()
346 settings->name = strdup(optarg); in parse_options()
349 settings->dry_run = true; in parse_options()
352 if (!add_regex(&settings->include_regexes, strdup(optarg))) in parse_options()
356 if (!add_regex(&settings->exclude_regexes, strdup(optarg))) in parse_options()
360 if (!parse_abort_conditions(settings, optarg)) in parse_options()
364 settings->sync = true; in parse_options()
367 if (!set_log_level(settings, optarg)) { in parse_options()
373 settings->test_list = absolute_path(optarg); in parse_options()
376 settings->overwrite = true; in parse_options()
382 settings->multiple_mode = true; in parse_options()
385 settings->inactivity_timeout = atoi(optarg); in parse_options()
388 settings->overall_timeout = atoi(optarg); in parse_options()
391 settings->use_watchdog = true; in parse_options()
394 settings->piglit_style_dmesg = true; in parse_options()
395 if (settings->dmesg_warn_level < 0) in parse_options()
396 settings->dmesg_warn_level = 5; /* KERN_NOTICE */ in parse_options()
399 settings->dmesg_warn_level = atoi(optarg); in parse_options()
402 if (!parse_blacklist(&settings->exclude_regexes, in parse_options()
407 settings->list_all = true; in parse_options()
418 if (settings->dmesg_warn_level < 0) in parse_options()
419 settings->dmesg_warn_level = 4; /* KERN_WARN */ in parse_options()
421 if (settings->list_all) { /* --list-all doesn't require results path */ in parse_options()
424 settings->test_root = absolute_path(argv[optind]); in parse_options()
436 settings->test_root = absolute_path(argv[optind]); in parse_options()
440 settings->results_path = absolute_path(argv[optind]); in parse_options()
449 if (!settings->name) { in parse_options()
450 char *name = strdup(settings->results_path); in parse_options()
452 settings->name = strdup(basename(name)); in parse_options()
458 free(settings->test_root); in parse_options()
459 settings->test_root = absolute_path(env_test_root); in parse_options()
462 if (!settings->test_root) { in parse_options()
471 free_settings(settings); in parse_options()
475 bool validate_settings(struct settings *settings) in validate_settings() argument
479 if (settings->test_list && !readable_file(settings->test_list)) { in validate_settings()
484 if (!settings->results_path) { in validate_settings()
489 if (!settings->test_root) { in validate_settings()
494 dirfd = open(settings->test_root, O_DIRECTORY | O_RDONLY); in validate_settings()
496 fprintf(stderr, "Test directory %s cannot be opened\n", settings->test_root); in validate_settings()
502 fprintf(stderr, "Cannot open %s/test-list.txt\n", settings->test_root); in validate_settings()
554 bool serialize_settings(struct settings *settings) in serialize_settings() argument
561 if (!settings->results_path) { in serialize_settings()
566 if ((dirfd = open(settings->results_path, O_DIRECTORY | O_RDONLY)) < 0) { in serialize_settings()
567 mkdir(settings->results_path, 0755); in serialize_settings()
568 if ((dirfd = open(settings->results_path, O_DIRECTORY | O_RDONLY)) < 0) { in serialize_settings()
574 if (!settings->overwrite && in serialize_settings()
576 usage("Settings metadata already exists and not overwriting", stderr); in serialize_settings()
580 if (settings->overwrite && in serialize_settings()
583 usage("Error removing old settings metadata", stderr); in serialize_settings()
590 asprintf(&msg, "Creating settings serialization file failed: %s", strerror(errno)); in serialize_settings()
605 SERIALIZE_LINE(f, settings, abort_mask, "%d"); in serialize_settings()
606 if (settings->test_list) in serialize_settings()
607 SERIALIZE_LINE(f, settings, test_list, "%s"); in serialize_settings()
608 if (settings->name) in serialize_settings()
609 SERIALIZE_LINE(f, settings, name, "%s"); in serialize_settings()
610 SERIALIZE_LINE(f, settings, dry_run, "%d"); in serialize_settings()
611 SERIALIZE_LINE(f, settings, sync, "%d"); in serialize_settings()
612 SERIALIZE_LINE(f, settings, log_level, "%d"); in serialize_settings()
613 SERIALIZE_LINE(f, settings, overwrite, "%d"); in serialize_settings()
614 SERIALIZE_LINE(f, settings, multiple_mode, "%d"); in serialize_settings()
615 SERIALIZE_LINE(f, settings, inactivity_timeout, "%d"); in serialize_settings()
616 SERIALIZE_LINE(f, settings, overall_timeout, "%d"); in serialize_settings()
617 SERIALIZE_LINE(f, settings, use_watchdog, "%d"); in serialize_settings()
618 SERIALIZE_LINE(f, settings, piglit_style_dmesg, "%d"); in serialize_settings()
619 SERIALIZE_LINE(f, settings, dmesg_warn_level, "%d"); in serialize_settings()
620 SERIALIZE_LINE(f, settings, test_root, "%s"); in serialize_settings()
621 SERIALIZE_LINE(f, settings, results_path, "%s"); in serialize_settings()
623 if (settings->sync) { in serialize_settings()
635 bool read_settings_from_file(struct settings *settings, FILE *f) in read_settings_from_file() argument
648 settings->dmesg_warn_level = -1; in read_settings_from_file()
652 PARSE_LINE(settings, name, val, abort_mask, numval); in read_settings_from_file()
653 PARSE_LINE(settings, name, val, test_list, val ? strdup(val) : NULL); in read_settings_from_file()
654 PARSE_LINE(settings, name, val, name, val ? strdup(val) : NULL); in read_settings_from_file()
655 PARSE_LINE(settings, name, val, dry_run, numval); in read_settings_from_file()
656 PARSE_LINE(settings, name, val, sync, numval); in read_settings_from_file()
657 PARSE_LINE(settings, name, val, log_level, numval); in read_settings_from_file()
658 PARSE_LINE(settings, name, val, overwrite, numval); in read_settings_from_file()
659 PARSE_LINE(settings, name, val, multiple_mode, numval); in read_settings_from_file()
660 PARSE_LINE(settings, name, val, inactivity_timeout, numval); in read_settings_from_file()
661 PARSE_LINE(settings, name, val, overall_timeout, numval); in read_settings_from_file()
662 PARSE_LINE(settings, name, val, use_watchdog, numval); in read_settings_from_file()
663 PARSE_LINE(settings, name, val, piglit_style_dmesg, numval); in read_settings_from_file()
664 PARSE_LINE(settings, name, val, dmesg_warn_level, numval); in read_settings_from_file()
665 PARSE_LINE(settings, name, val, test_root, val ? strdup(val) : NULL); in read_settings_from_file()
666 PARSE_LINE(settings, name, val, results_path, val ? strdup(val) : NULL); in read_settings_from_file()
668 printf("Warning: Unknown field in settings file: %s = %s\n", in read_settings_from_file()
675 if (settings->dmesg_warn_level < 0) { in read_settings_from_file()
676 if (settings->piglit_style_dmesg) in read_settings_from_file()
677 settings->dmesg_warn_level = 5; in read_settings_from_file()
679 settings->dmesg_warn_level = 4; in read_settings_from_file()
690 bool read_settings_from_dir(struct settings *settings, int dirfd) in read_settings_from_dir() argument
695 free_settings(settings); in read_settings_from_dir()
706 if (!read_settings_from_file(settings, f)) { in read_settings_from_dir()