| 9302 | } |
| 9303 | |
| 9304 | int main(int argc, char ** argv) { |
| 9305 | test_mode mode = MODE_TEST; |
| 9306 | output_formats output_format = CONSOLE; |
| 9307 | const char * op_names_filter = nullptr; |
| 9308 | const char * backend_filter = nullptr; |
| 9309 | const char * params_filter = nullptr; |
| 9310 | const char * test_file_path = nullptr; |
| 9311 | |
| 9312 | for (int i = 1; i < argc; i++) { |
| 9313 | if (strcmp(argv[i], "test") == 0) { |
| 9314 | mode = MODE_TEST; |
| 9315 | } else if (strcmp(argv[i], "perf") == 0) { |
| 9316 | mode = MODE_PERF; |
| 9317 | } else if (strcmp(argv[i], "grad") == 0) { |
| 9318 | mode = MODE_GRAD; |
| 9319 | } else if (strcmp(argv[i], "support") == 0) { |
| 9320 | mode = MODE_SUPPORT; |
| 9321 | } else if (strcmp(argv[i], "-o") == 0) { |
| 9322 | if (i + 1 < argc) { |
| 9323 | op_names_filter = argv[++i]; |
| 9324 | } else { |
| 9325 | usage(argv); |
| 9326 | return 1; |
| 9327 | } |
| 9328 | } else if (strcmp(argv[i], "-b") == 0) { |
| 9329 | if (i + 1 < argc) { |
| 9330 | backend_filter = argv[++i]; |
| 9331 | } else { |
| 9332 | usage(argv); |
| 9333 | return 1; |
| 9334 | } |
| 9335 | } else if (strcmp(argv[i], "-p") == 0) { |
| 9336 | if (i + 1 < argc) { |
| 9337 | params_filter = argv[++i]; |
| 9338 | } else { |
| 9339 | usage(argv); |
| 9340 | return 1; |
| 9341 | } |
| 9342 | } else if (strcmp(argv[i], "--output") == 0) { |
| 9343 | if (i + 1 < argc) { |
| 9344 | if (!output_format_from_str(argv[++i], output_format)) { |
| 9345 | usage(argv); |
| 9346 | return 1; |
| 9347 | } |
| 9348 | } else { |
| 9349 | usage(argv); |
| 9350 | return 1; |
| 9351 | } |
| 9352 | } else if (strcmp(argv[i], "--list-ops") == 0) { |
| 9353 | list_all_ops(); |
| 9354 | return 0; |
| 9355 | } else if (strcmp(argv[i], "--show-coverage") == 0) { |
| 9356 | show_test_coverage(); |
| 9357 | return 0; |
| 9358 | } else if (strcmp(argv[i], "--test-file") == 0) { |
| 9359 | if (i + 1 < argc) { |
| 9360 | test_file_path = argv[++i]; |
| 9361 | } else { |
nothing calls this directly
no test coverage detected