OVMS3-idf/tools/unit-test-app
Ivan Grokhotkov 972d1d9242 Merge branch 'feature/ci_test_config_autogen' into 'master'
CI: auto generate configs for test jobs

Currently CI test jobs are static configured by several pre-generated config files.
This approach have several disadvantages:

1. not flexible to select test cases to run, which is important feature of @bot
2. difficult to update test as we need to pre-generate quite a lot files
3. need to maintain extra config files in IDF
4. not flexible to support new test apps or chips, can't use some new features of test bench

Therefore we'll add assign_test stage between build and test, to generate configs for test jobs.

See merge request !738
2017-05-19 11:56:45 +08:00
..
components/unity unit test runer: Add capability to use ![tag] to run all-tests-except-tag 2017-05-10 17:22:30 +10:00
main freertos: Delay context switch from queue/task APIs until exiting critical section 2017-04-04 10:10:08 +10:00
tools CI: remove auto assign case script for UT: 2017-05-08 11:44:45 +08:00
Makefile CI: save download config in CI build jobs: 2017-05-02 13:17:56 +08:00
partition_table_unit_test_app.csv unit tests: change type of flash_test partition to ‘fat’ 2017-05-05 15:21:37 +08:00
README.md unit test runer: Add capability to use ![tag] to run all-tests-except-tag 2017-05-10 17:22:30 +10:00
sdkconfig Unit tests: Add FreeRTOS timer tests 2017-05-05 14:38:15 +10:00

Unit Test App

ESP-IDF unit tests are run using Unit Test App. The app can be built with the unit tests for a specific component. Unit tests are in test subdirectories of respective components.

Building Unit Test App

  • Follow the setup instructions in the top-level esp-idf README.
  • Set IDF_PATH environment variable to point to the path to the esp-idf top-level directory.
  • Change into tools/unit-test-app directory
  • 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