69 lines
2.7 KiB
C
69 lines
2.7 KiB
C
#pragma once
|
||
|
||
void print_help(const char *progname) {
|
||
printf("Использование: %s [опции]\n", progname);
|
||
printf(" -h, --help показать это сообщение\n");
|
||
printf(" -t, --threads N указать число потоков\n");
|
||
printf(" -i, --iterations N указать число повторения тестов\n");
|
||
printf(" -j, --json вывод в виде json\n");
|
||
printf(" -p, --pretest-delay N указать сколько секунд ждать\n\t\t\tперед проверкой памяти после записи\n");
|
||
printf(" --simulate-errors создаёт ошибки с вероятностью\n\t\t\t%%0.0001 каждый на 1 из 1000 проверок\n");
|
||
printf(" -m, --mod N устанавливает уроветь привелигированости\n\t\t\t0 - not root 1 - onli root 2 - kernel mod.\n");
|
||
printf(" --test Устанавливает mem_size на 100000000\n");
|
||
}
|
||
|
||
|
||
void aaa(int* argc, char *argv[], int* pretest_delay){
|
||
const struct option long_options[] = {
|
||
{"help", no_argument, 0, 'h'},
|
||
{"threads", required_argument, 0, 't'},
|
||
{"verbose", no_argument, 0, 'v'},
|
||
{"iterations", required_argument, 0, 'i'},
|
||
{"json", no_argument, 0, 'j'},
|
||
{"pretest-delay", no_argument, 0, 'p'},
|
||
{"simulate-errors", no_argument, 0, 0},
|
||
{"mod", required_argument, 0, 'm'},
|
||
{"test", no_argument, 0, 0},
|
||
{0, 0, 0, 0}
|
||
};
|
||
|
||
int opt;
|
||
int long_index = 0;
|
||
while ((opt = getopt_long(*argc, argv, "ht:i:jp:m:t", long_options, &long_index)) != -1) {
|
||
switch (opt) {
|
||
case 'h':
|
||
print_help(argv[0]);
|
||
exit(0);
|
||
case 't':
|
||
args.tred = atoi(optarg);
|
||
break;
|
||
case 'i':
|
||
args.iterations = atoi(optarg);
|
||
break;
|
||
case 'p':
|
||
*pretest_delay = atoi(optarg);
|
||
break;
|
||
case 'j':
|
||
args.json = 1;
|
||
break;
|
||
case 'm':
|
||
args.mod_status = atoi(optarg);
|
||
break;
|
||
case 0: // Only long option with no short version
|
||
if (strcmp(long_options[long_index].name, "test") == 0) {
|
||
args.test = 1;
|
||
} else if (strcmp(long_options[long_index].name, "simulate-errors") == 0) {
|
||
args.simulate_errors = 1;
|
||
}
|
||
break;
|
||
default:
|
||
print_help(argv[0]);
|
||
exit(1);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|