| 915 | } // namespace leveldb |
| 916 | |
| 917 | int main(int argc, char** argv) { |
| 918 | FLAGS_write_buffer_size = leveldb::Options().write_buffer_size; |
| 919 | FLAGS_max_file_size = leveldb::Options().max_file_size; |
| 920 | FLAGS_block_size = leveldb::Options().block_size; |
| 921 | FLAGS_open_files = leveldb::Options().max_open_files; |
| 922 | std::string default_db_path; |
| 923 | |
| 924 | for (int i = 1; i < argc; i++) { |
| 925 | double d; |
| 926 | int n; |
| 927 | char junk; |
| 928 | if (leveldb::Slice(argv[i]).starts_with("--benchmarks=")) { |
| 929 | FLAGS_benchmarks = argv[i] + strlen("--benchmarks="); |
| 930 | } else if (sscanf(argv[i], "--compression_ratio=%lf%c", &d, &junk) == 1) { |
| 931 | FLAGS_compression_ratio = d; |
| 932 | } else if (sscanf(argv[i], "--histogram=%d%c", &n, &junk) == 1 && |
| 933 | (n == 0 || n == 1)) { |
| 934 | FLAGS_histogram = n; |
| 935 | } else if (sscanf(argv[i], "--use_existing_db=%d%c", &n, &junk) == 1 && |
| 936 | (n == 0 || n == 1)) { |
| 937 | FLAGS_use_existing_db = n; |
| 938 | } else if (sscanf(argv[i], "--reuse_logs=%d%c", &n, &junk) == 1 && |
| 939 | (n == 0 || n == 1)) { |
| 940 | FLAGS_reuse_logs = n; |
| 941 | } else if (sscanf(argv[i], "--num=%d%c", &n, &junk) == 1) { |
| 942 | FLAGS_num = n; |
| 943 | } else if (sscanf(argv[i], "--reads=%d%c", &n, &junk) == 1) { |
| 944 | FLAGS_reads = n; |
| 945 | } else if (sscanf(argv[i], "--threads=%d%c", &n, &junk) == 1) { |
| 946 | FLAGS_threads = n; |
| 947 | } else if (sscanf(argv[i], "--value_size=%d%c", &n, &junk) == 1) { |
| 948 | FLAGS_value_size = n; |
| 949 | } else if (sscanf(argv[i], "--write_buffer_size=%d%c", &n, &junk) == 1) { |
| 950 | FLAGS_write_buffer_size = n; |
| 951 | } else if (sscanf(argv[i], "--max_file_size=%d%c", &n, &junk) == 1) { |
| 952 | FLAGS_max_file_size = n; |
| 953 | } else if (sscanf(argv[i], "--block_size=%d%c", &n, &junk) == 1) { |
| 954 | FLAGS_block_size = n; |
| 955 | } else if (sscanf(argv[i], "--cache_size=%d%c", &n, &junk) == 1) { |
| 956 | FLAGS_cache_size = n; |
| 957 | } else if (sscanf(argv[i], "--bloom_bits=%d%c", &n, &junk) == 1) { |
| 958 | FLAGS_bloom_bits = n; |
| 959 | } else if (sscanf(argv[i], "--open_files=%d%c", &n, &junk) == 1) { |
| 960 | FLAGS_open_files = n; |
| 961 | } else if (strncmp(argv[i], "--db=", 5) == 0) { |
| 962 | FLAGS_db = argv[i] + 5; |
| 963 | } else { |
| 964 | fprintf(stderr, "Invalid flag '%s'\n", argv[i]); |
| 965 | exit(1); |
| 966 | } |
| 967 | } |
| 968 | |
| 969 | leveldb::g_env = leveldb::Env::Default(); |
| 970 | |
| 971 | // Choose a location for the test database if none given with --db=<path> |
| 972 | if (FLAGS_db == nullptr) { |
| 973 | leveldb::g_env->GetTestDirectory(&default_db_path); |
| 974 | default_db_path += "/dbbench"; |
nothing calls this directly
no test coverage detected