test: don't abort if the device filter filtered all devices
authorPeter Hutterer <peter.hutterer@who-t.net>
Thu, 28 May 2015 03:33:54 +0000 (13:33 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 28 May 2015 03:33:54 +0000 (13:33 +1000)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
test/litest.c

index 1d3f0ce2c249a9dc655c8a39a1fa30adc8cfd49e..53c441b50758656285cebe040cc5cb28253d9fa9 100644 (file)
@@ -640,6 +640,7 @@ _litest_add_ranged_for_device(const char *name,
 {
        struct suite *s;
        struct litest_test_device **dev = devices;
+       bool device_filtered = false;
 
        assert(type < LITEST_NO_DEVICE);
 
@@ -654,8 +655,10 @@ _litest_add_ranged_for_device(const char *name,
        s = get_suite(name);
        for (; *dev; dev++) {
                if (filter_device &&
-                   fnmatch(filter_device, (*dev)->shortname, 0) != 0)
+                   fnmatch(filter_device, (*dev)->shortname, 0) != 0) {
+                       device_filtered = true;
                        continue;
+               }
 
                if ((*dev)->type == type) {
                        litest_add_tcase_for_device(s,
@@ -667,7 +670,9 @@ _litest_add_ranged_for_device(const char *name,
                }
        }
 
-       litest_abort_msg("Invalid test device type");
+       /* only abort if no filter was set, that's a bug */
+       if (!device_filtered)
+               litest_abort_msg("Invalid test device type");
 }
 
 static int