esp-idf/tools/test_apps/protocols/netif_components
David Cermak 38dec0be48 esp-netif: Support non-lwip mode, add test
It is required to define a mandatory dependency on lwip, so we
introduced esp_netif_stack component and made it require lwip, instead
of directly depending on lwip.
This enables building w-out lwip and support other TCP/IP stacks.
2022-12-14 14:12:50 +00:00
..
esp_netif_stack esp-netif: Support non-lwip mode, add test 2022-12-14 14:12:50 +00:00
main esp-netif: Support non-lwip mode, add test 2022-12-14 14:12:50 +00:00
CMakeLists.txt esp-netif: Support non-lwip mode, add test 2022-12-14 14:12:50 +00:00
README.md esp-netif: Support non-lwip mode, add test 2022-12-14 14:12:50 +00:00
sdkconfig.ci.esp_netif esp_netif/ci: Add test to verify dependencies to/from lwip/drivers 2022-07-25 16:58:05 +02:00
sdkconfig.ci.esp_netif_nolwip esp-netif: Support non-lwip mode, add test 2022-12-14 14:12:50 +00:00
sdkconfig.ci.lwip esp_netif/ci: Add test to verify dependencies to/from lwip/drivers 2022-07-25 16:58:05 +02:00

README.md

Supported Targets ESP32

Networking component dependency

This test application checks the list of components included into the build when:

  • esp_netif component is added to the build.
    • with default network stack, i.e. lwip
    • without lwip using empty esp-netif-stack component
  • lwip component is added to the build.

The test checks that driver components are not included in the build

Using this test app

  • Remove the build artifacts idf.py fullclean
  • Choose the component to test (either esp_netif or lwip)
  • Build the project idf.py build

Troubleshooting

If you get a build error in this example, please check there's no dependency from the tested component (either esp_netif or lwip) to any defined component listed in ${forbidden_deps}, that must not be included.

Please open the project CMakeLists.txt to view the expected dependencies and driver's components that must not be included in the list:

  • CMake variable forbidden_deps contains list of components that must not be included.
  • CMake variable expected_build_components contains list expected dependencies

Note that this project creates component_deps.dot, a simplified dependency graph that could be used to display and troubleshoot component dependencies.

Note that this test is executed for one target only in CI (ESP32), but shall work correctly for all IDF supported targets.