MCPcopy Create free account
hub / github.com/BYVoid/OpenCC / ParseCommandLineFlags

Function ParseCommandLineFlags

deps/google-benchmark/src/benchmark.cc:599–654  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

597}
598
599void ParseCommandLineFlags(int* argc, char** argv) {
600 using namespace benchmark;
601 BenchmarkReporter::Context::executable_name =
602 (argc && *argc > 0) ? argv[0] : "unknown";
603 for (int i = 1; argc && i < *argc; ++i) {
604 if (ParseBoolFlag(argv[i], "benchmark_list_tests",
605 &FLAGS_benchmark_list_tests) ||
606 ParseStringFlag(argv[i], "benchmark_filter", &FLAGS_benchmark_filter) ||
607 ParseDoubleFlag(argv[i], "benchmark_min_time",
608 &FLAGS_benchmark_min_time) ||
609 ParseDoubleFlag(argv[i], "benchmark_min_warmup_time",
610 &FLAGS_benchmark_min_warmup_time) ||
611 ParseInt32Flag(argv[i], "benchmark_repetitions",
612 &FLAGS_benchmark_repetitions) ||
613 ParseBoolFlag(argv[i], "benchmark_enable_random_interleaving",
614 &FLAGS_benchmark_enable_random_interleaving) ||
615 ParseBoolFlag(argv[i], "benchmark_report_aggregates_only",
616 &FLAGS_benchmark_report_aggregates_only) ||
617 ParseBoolFlag(argv[i], "benchmark_display_aggregates_only",
618 &FLAGS_benchmark_display_aggregates_only) ||
619 ParseStringFlag(argv[i], "benchmark_format", &FLAGS_benchmark_format) ||
620 ParseStringFlag(argv[i], "benchmark_out", &FLAGS_benchmark_out) ||
621 ParseStringFlag(argv[i], "benchmark_out_format",
622 &FLAGS_benchmark_out_format) ||
623 ParseStringFlag(argv[i], "benchmark_color", &FLAGS_benchmark_color) ||
624 ParseBoolFlag(argv[i], "benchmark_counters_tabular",
625 &FLAGS_benchmark_counters_tabular) ||
626 ParseStringFlag(argv[i], "benchmark_perf_counters",
627 &FLAGS_benchmark_perf_counters) ||
628 ParseKeyValueFlag(argv[i], "benchmark_context",
629 &FLAGS_benchmark_context) ||
630 ParseStringFlag(argv[i], "benchmark_time_unit",
631 &FLAGS_benchmark_time_unit) ||
632 ParseInt32Flag(argv[i], "v", &FLAGS_v)) {
633 for (int j = i; j != *argc - 1; ++j) argv[j] = argv[j + 1];
634
635 --(*argc);
636 --i;
637 } else if (IsFlag(argv[i], "help")) {
638 PrintUsageAndExit();
639 }
640 }
641 for (auto const* flag :
642 {&FLAGS_benchmark_format, &FLAGS_benchmark_out_format}) {
643 if (*flag != "console" && *flag != "json" && *flag != "csv") {
644 PrintUsageAndExit();
645 }
646 }
647 SetDefaultTimeUnitFromFlag(FLAGS_benchmark_time_unit);
648 if (FLAGS_benchmark_color.empty()) {
649 PrintUsageAndExit();
650 }
651 for (const auto& kv : FLAGS_benchmark_context) {
652 AddCustomContext(kv.first, kv.second);
653 }
654}
655
656int InitializeStreams() {

Callers 1

InitializeFunction · 0.85

Calls 10

ParseBoolFlagFunction · 0.85
ParseStringFlagFunction · 0.85
ParseDoubleFlagFunction · 0.85
ParseInt32FlagFunction · 0.85
ParseKeyValueFlagFunction · 0.85
IsFlagFunction · 0.85
PrintUsageAndExitFunction · 0.85
AddCustomContextFunction · 0.85
emptyMethod · 0.45

Tested by

no test coverage detected