diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-06-04 12:43:35 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-06-05 09:08:39 +0000 |
| commit | 3623b56060a97ba5ae6e4ba25db127e58ad0e6be (patch) | |
| tree | 8c597f695bc91fdf62d249458a88e5aa90cd348b /executor | |
| parent | b10deed5794ca7dc562130060796399dd1c66117 (diff) | |
executor: allow to run a single test
Diffstat (limited to 'executor')
| -rw-r--r-- | executor/executor.cc | 4 | ||||
| -rw-r--r-- | executor/test.h | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/executor/executor.cc b/executor/executor.cc index 6d39b4230..2c73c20dd 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -447,8 +447,8 @@ int main(int argc, char** argv) #endif return 0; } - if (argc == 2 && strcmp(argv[1], "test") == 0) - return run_tests(); + if (argc >= 2 && strcmp(argv[1], "test") == 0) + return run_tests(argc == 3 ? argv[2] : nullptr); if (argc < 2 || strcmp(argv[1], "exec") != 0) { fprintf(stderr, "unknown command"); diff --git a/executor/test.h b/executor/test.h index d2b0d4b94..bb1291f97 100644 --- a/executor/test.h +++ b/executor/test.h @@ -247,11 +247,13 @@ static struct { {"test_coverage_filter", test_coverage_filter}, }; -static int run_tests() +static int run_tests(const char* test) { int ret = 0; for (size_t i = 0; i < ARRAY_SIZE(tests); i++) { const char* name = tests[i].name; + if (test && strcmp(test, name)) + continue; printf("=== RUN %s\n", name); int res = tests[i].f(); ret |= res > 0; |
