]> granicus.if.org Git - esp-idf/commitdiff
unit test runer: Add capability to use ![tag] to run all-tests-except-tag
authorAngus Gratton <angus@espressif.com>
Wed, 10 May 2017 07:22:30 +0000 (17:22 +1000)
committerAngus Gratton <gus@projectgus.com>
Wed, 10 May 2017 07:22:30 +0000 (17:22 +1000)
Mostly useful for running ![ignore] to skip ignored tests.

tools/unit-test-app/README.md
tools/unit-test-app/components/unity/unity_platform.c

index eff3e12f4abba6bcc7c11b87a4b2c7b1a679ce20..1f06be55bf735971a13e1463b2eb4766bd98d1e4 100644 (file)
@@ -10,3 +10,13 @@ ESP-IDF unit tests are run using Unit Test App. The app can be built with the un
 * `make menuconfig` to configure the Unit Test App.
 * `make TEST_COMPONENTS=` with `TEST_COMPONENTS` set to names of the components to be included in the test app. Or `make TESTS_ALL=1` to build the test app with all the tests for components having `test` subdirectory.
 * Follow the printed instructions to flash, or run `make flash`.
+
+# Running Unit Tests
+
+The unit test loader will prompt by showing a menu of available tests to run:
+
+* Type a number to run a single test.
+* `*` to run all tests.
+* `[tagname]` to run tests with "tag"
+* `![tagname]` to run tests without "tag" (`![ignore]` is very useful as it runs all CI-enabled tests.)
+* `"test name here"` to run test with given name
index 3f453326cab71d5cfe4389abf4c9c44c9bdfbdc6..fad3e3e59571f4b2b33bdf63637d09b4e9909341 100644 (file)
@@ -97,9 +97,13 @@ void unity_run_all_tests()
 
 void unity_run_tests_with_filter(const char* filter)
 {
+    bool invert = filter[0] == '!';
+    if (invert) {
+        filter++;
+    }
     for (const struct test_desc_t* test = s_unity_tests_first; test != NULL; test = test->next)
     {
-        if (strstr(test->desc, filter) != NULL)
+        if ((strstr(test->desc, filter) != NULL) == !invert)
         {
             unity_run_single_test(test);
         }