Lines Matching refs:env

168 static struct env {
211 } env;
215 if (!env.verbose)
217 if (level == LIBBPF_DEBUG && !env.debug)
283 env.show_version = true;
286 env.verbose = true;
289 env.debug = true;
290 env.verbose = true;
293 env.quiet = true;
296 err = parse_stats(arg, &env.output_spec);
301 err = parse_stats(arg, &env.sort_spec);
307 env.out_fmt = RESFMT_TABLE;
309 env.out_fmt = RESFMT_CSV;
317 env.log_level = strtol(arg, NULL, 10);
324 env.log_fixed = true;
328 env.log_size = strtol(arg, NULL, 10);
335 env.force_checkpoints = true;
338 env.force_reg_invariants = true;
342 env.top_n = strtol(arg, NULL, 10);
348 env.comparison_mode = true;
351 env.replay_mode = true;
357 err = append_filter(&env.deny_filters, &env.deny_filter_cnt, arg + 1);
359 err = append_filter(&env.allow_filters, &env.allow_filter_cnt, arg);
367 env.top_src_lines = strtol(arg, NULL, 10);
377 err = append_var_preset(&env.presets, &env.npresets, arg);
466 for (i = 0; i < env.deny_filter_cnt; i++) {
467 f = &env.deny_filters[i];
481 for (i = 0; i < env.allow_filter_cnt; i++) {
482 f = &env.allow_filters[i];
673 err = append_filter(&env.deny_filters, &env.deny_filter_cnt, buf + 1);
675 err = append_filter(&env.allow_filters, &env.allow_filter_cnt, buf);
697 tmp = realloc(env.filenames, (env.filename_cnt + 1) * sizeof(*env.filenames));
700 env.filenames = tmp;
701 env.filenames[env.filename_cnt] = strdup(path);
702 if (!env.filenames[env.filename_cnt])
704 env.filename_cnt++;
1052 for (i = 0; i < min(unique_lines, env.top_src_lines); ++i) {
1236 if (!env.quiet) {
1242 if (!env.quiet) {
1295 env.progs_skipped++;
1299 tmp = realloc(env.prog_stats, (env.prog_stat_cnt + 1) * sizeof(*env.prog_stats));
1302 env.prog_stats = tmp;
1303 stats = &env.prog_stats[env.prog_stat_cnt++];
1306 if (env.verbose || env.top_src_lines > 0) {
1307 buf_sz = env.log_size ? env.log_size : max_verifier_log_size();
1312 log_level = env.log_level | 4 | (env.log_fixed ? 8 : 0);
1314 if (env.top_src_lines > 0 && env.log_level == 0)
1320 log_level = 4 | (env.log_fixed ? 8 : 0);
1330 if (env.force_checkpoints)
1332 if (env.force_reg_invariants)
1336 env.progs_processed++;
1352 if (env.verbose) {
1357 if (env.top_src_lines > 0)
1433 err = append_var_preset(&env.presets, &env.npresets, buf);
1718 if (env.verbose)
1720 env.files_skipped++;
1724 if (env.verbose)
1726 env.files_skipped++;
1730 if (!env.quiet && env.out_fmt == RESFMT_TABLE)
1743 env.files_skipped++;
1748 env.files_processed++;
1757 err = set_global_vars(obj, env.presets, env.npresets);
1776 err = set_global_vars(tobj, env.presets, env.npresets);
1853 for (i = 0; i < env.sort_spec.spec_cnt; i++) {
1854 cmp = cmp_stat(s1, s2, env.sort_spec.ids[i],
1855 env.sort_spec.asc[i], env.sort_spec.abs[i]);
1952 for (i = 0; i < env.sort_spec.spec_cnt; i++) {
1954 env.sort_spec.ids[i],
1955 env.sort_spec.variants[i],
1956 env.sort_spec.asc[i],
1957 env.sort_spec.abs[i]);
1976 for (i = 0; i < env.output_spec.spec_cnt; i++) {
1977 len = env.output_spec.lens[i];
1991 for (i = 0; i < env.output_spec.spec_cnt; i++) {
1992 int id = env.output_spec.ids[i];
1993 int *max_len = &env.output_spec.lens[i];
2004 if (i == env.output_spec.spec_cnt - 1)
2009 if (i == env.output_spec.spec_cnt - 1)
2068 for (i = 0; i < env.output_spec.spec_cnt; i++) {
2069 int id = env.output_spec.ids[i];
2070 int *max_len = &env.output_spec.lens[i], len;
2090 if (i == env.output_spec.spec_cnt - 1)
2098 if (i == env.output_spec.spec_cnt - 1)
2107 env.files_processed, env.files_skipped, env.progs_processed, env.progs_skipped);
2310 for (i = 0; i < env.output_spec.spec_cnt; i++) {
2311 int id = env.output_spec.ids[i];
2315 int len = env.output_spec.lens[3 * i + j];
2332 for (i = 0; i < env.output_spec.spec_cnt; i++) {
2333 int id = env.output_spec.ids[i];
2338 int *max_len = &env.output_spec.lens[3 * i + j];
2339 bool last = (i == env.output_spec.spec_cnt - 1) && (j == max_j - 1);
2378 for (i = 0; i < env.output_spec.spec_cnt; i++) {
2379 int id = env.output_spec.ids[i], len;
2380 int *max_len_base = &env.output_spec.lens[3 * i + 0];
2381 int *max_len_comp = &env.output_spec.lens[3 * i + 1];
2382 int *max_len_diff = &env.output_spec.lens[3 * i + 2];
2456 if (i == env.output_spec.spec_cnt - 1)
2466 if (i == env.output_spec.spec_cnt - 1)
2515 for (i = 0; i < env.deny_filter_cnt; i++) {
2516 f = &env.deny_filters[i];
2524 for (i = 0; i < env.allow_filter_cnt; i++) {
2525 f = &env.allow_filters[i];
2545 if (env.filename_cnt != 2) {
2551 err = parse_stats_csv(env.filenames[0], &base_specs,
2552 &env.baseline_stats, &env.baseline_stat_cnt);
2554 fprintf(stderr, "Failed to parse stats from '%s': %d\n", env.filenames[0], err);
2557 err = parse_stats_csv(env.filenames[1], &comp_specs,
2558 &env.prog_stats, &env.prog_stat_cnt);
2560 fprintf(stderr, "Failed to parse stats from '%s': %d\n", env.filenames[1], err);
2570 env.filenames[0], env.filenames[1],
2577 env.filenames[0], env.filenames[1],
2588 tmp_sort_spec = env.sort_spec;
2589 env.sort_spec = join_sort_spec;
2590 qsort(env.prog_stats, env.prog_stat_cnt, sizeof(*env.prog_stats), cmp_prog_stats);
2591 qsort(env.baseline_stats, env.baseline_stat_cnt, sizeof(*env.baseline_stats), cmp_prog_stats);
2592 env.sort_spec = tmp_sort_spec;
2600 while (i < env.baseline_stat_cnt || j < env.prog_stat_cnt) {
2606 base = i < env.baseline_stat_cnt ? &env.baseline_stats[i] : &fallback_stats;
2607 comp = j < env.prog_stat_cnt ? &env.prog_stats[j] : &fallback_stats;
2611 i, env.filenames[0]);
2616 j, env.filenames[1]);
2620 tmp = realloc(env.join_stats, (env.join_stat_cnt + 1) * sizeof(*env.join_stats));
2623 env.join_stats = tmp;
2625 join = &env.join_stats[env.join_stat_cnt];
2653 env.join_stat_cnt += 1;
2657 qsort(env.join_stats, env.join_stat_cnt, sizeof(*env.join_stats), cmp_join_stats);
2664 if (env.out_fmt == RESFMT_TABLE)
2667 cur_fmt = env.out_fmt;
2674 for (i = 0; i < env.join_stat_cnt; i++) {
2675 const struct verif_stats_join *join = &env.join_stats[i];
2680 if (env.top_n && cnt >= env.top_n)
2724 for (i = 0; i < env.deny_filter_cnt; i++) {
2725 f = &env.deny_filters[i];
2733 for (i = 0; i < env.allow_filter_cnt; i++) {
2734 f = &env.allow_filters[i];
2752 if (env.out_fmt == RESFMT_TABLE) {
2755 for (i = 0; i < env.prog_stat_cnt; i++) {
2756 stats = &env.prog_stats[i];
2765 output_headers(env.out_fmt);
2766 for (i = 0; i < env.prog_stat_cnt; i++) {
2767 stats = &env.prog_stats[i];
2770 if (env.top_n && cnt >= env.top_n)
2772 output_stats(stats, env.out_fmt, i == last_stat_idx);
2781 if (env.filename_cnt == 0) {
2787 for (i = 0; i < env.filename_cnt; i++) {
2788 err = process_obj(env.filenames[i]);
2790 fprintf(stderr, "Failed to process '%s': %d\n", env.filenames[i], err);
2795 qsort(env.prog_stats, env.prog_stat_cnt, sizeof(*env.prog_stats), cmp_prog_stats);
2807 if (env.filename_cnt != 1) {
2813 err = parse_stats_csv(env.filenames[0], &specs,
2814 &env.prog_stats, &env.prog_stat_cnt);
2816 fprintf(stderr, "Failed to parse stats from '%s': %d\n", env.filenames[0], err);
2820 qsort(env.prog_stats, env.prog_stat_cnt, sizeof(*env.prog_stats), cmp_prog_stats);
2834 if (env.show_version) {
2839 if (env.verbose && env.quiet) {
2844 if (env.verbose && env.log_level == 0)
2845 env.log_level = 1;
2847 if (env.output_spec.spec_cnt == 0) {
2848 if (env.out_fmt == RESFMT_CSV)
2849 env.output_spec = default_csv_output_spec;
2851 env.output_spec = default_output_spec;
2853 if (env.sort_spec.spec_cnt == 0)
2854 env.sort_spec = default_sort_spec;
2856 if (env.comparison_mode && env.replay_mode) {
2862 if (env.comparison_mode)
2864 else if (env.replay_mode)
2869 free_verif_stats(env.prog_stats, env.prog_stat_cnt);
2870 free_verif_stats(env.baseline_stats, env.baseline_stat_cnt);
2871 free(env.join_stats);
2872 for (i = 0; i < env.filename_cnt; i++)
2873 free(env.filenames[i]);
2874 free(env.filenames);
2875 for (i = 0; i < env.allow_filter_cnt; i++) {
2876 free(env.allow_filters[i].any_glob);
2877 free(env.allow_filters[i].file_glob);
2878 free(env.allow_filters[i].prog_glob);
2880 free(env.allow_filters);
2881 for (i = 0; i < env.deny_filter_cnt; i++) {
2882 free(env.deny_filters[i].any_glob);
2883 free(env.deny_filters[i].file_glob);
2884 free(env.deny_filters[i].prog_glob);
2886 free(env.deny_filters);
2887 for (i = 0; i < env.npresets; ++i) {
2888 free(env.presets[i].name);
2889 if (env.presets[i].type == ENUMERATOR)
2890 free(env.presets[i].svalue);
2892 free(env.presets);