From efd3dd442771ed37fc82b4745da89d3d8673dcd3 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 14 Oct 2024 09:24:26 +1000 Subject: [PATCH] test: filter out duplicate name/device combos in --list This doesn't have an effect yet because ranged tests are handled inside check. But in the future these tests will be split up individually so de-duplicating is useful here. Part-of: --- test/litest.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/test/litest.c b/test/litest.c index cf13ef70..1706c2fb 100644 --- a/test/litest.c +++ b/test/litest.c @@ -4808,7 +4808,8 @@ static void litest_list_tests(struct list *tests) { struct suite *s; - const char *last_test_name = NULL; + const char *last_test_name = ""; + const char *last_dev_name = ""; printf("groups:\n"); list_for_each(s, tests, node) { @@ -4816,15 +4817,19 @@ litest_list_tests(struct list *tests) printf(" - group: \"%s\"\n", s->name); printf(" tests:\n"); list_for_each(t, &s->tests, node) { - if (!last_test_name || - !streq(last_test_name, t->name)) { + bool same_test = streq(last_test_name, t->name); + bool same_dev = streq(last_dev_name, t->devname); + + if (!same_test) { printf(" - name: \"%s\"\n", t->name); printf(" devices:\n"); } - last_test_name = t->name; - - printf(" - name: \"%s\"\n", t->devname); + if (!same_test || !same_dev) { + last_test_name = t->name; + last_dev_name = t->devname; + printf(" - name: \"%s\"\n", t->devname); + } } } } -- 2.34.1