diff --git a/.github/workflows/build_and_run_example_test_mdns.yml b/.github/workflows/build_and_run_example_test_mdns.yml
new file mode 100644
index 000000000..de4aac90e
--- /dev/null
+++ b/.github/workflows/build_and_run_example_test_mdns.yml
@@ -0,0 +1,35 @@
+name: Build mDNS
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ idf_ver: ["latest"]
+ idf_target: ["esp32", "esp32s2", "esp32c3"]
+
+ runs-on: ubuntu-20.04
+ container: espressif/idf:${{ matrix.idf_ver }}
+ steps:
+ - name: Checkout esp-protocols
+ uses: actions/checkout@master
+ with:
+ path: esp-protocols
+ - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }}
+ env:
+ IDF_TARGET: ${{ matrix.idf_target }}
+ shell: bash
+ run: |
+ . ${IDF_PATH}/export.sh
+ cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/examples/
+ cat sdkconfig.ci.eth_def >> sdkconfig.defaults
+ idf.py build
+ rm sdkconfig.defaults
+ cat sdkconfig.ci.eth_custom_netif >> sdkconfig.defaults
+ idf.py build
+ rm sdkconfig.defaults
+ cat sdkconfig.ci.eth_socket >> sdkconfig.defaults
+ idf.py build
+ cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/test_apps/
+ idf.py build
diff --git a/.github/workflows/publish-docs-component.yml b/.github/workflows/publish-docs-component.yml
index 08b330994..fbc674a2d 100644
--- a/.github/workflows/publish-docs-component.yml
+++ b/.github/workflows/publish-docs-component.yml
@@ -21,25 +21,36 @@ jobs:
run: |
sudo apt-get update
sudo apt-get -y install doxygen clang python3-pip
- python -m pip install breathe recommonmark esp-docs==0.2.1
+ python -m pip install breathe recommonmark esp-docs
cd $GITHUB_WORKSPACE/components/esp_modem/docs
./generate_docs
mkdir -p $GITHUB_WORKSPACE/docs/esp_modem
cp -r html/. $GITHUB_WORKSPACE/docs/esp_modem
+
cd $GITHUB_WORKSPACE/components/esp_websocket_client/docs
./generate_docs
mkdir -p $GITHUB_WORKSPACE/docs/esp_websocket_client
cp -r html/. $GITHUB_WORKSPACE/docs/esp_websocket_client
+
+ cd $GITHUB_WORKSPACE/components/mdns/docs
+ ./generate_docs
+ mkdir -p $GITHUB_WORKSPACE/docs/mdns/en
+ mkdir -p $GITHUB_WORKSPACE/docs/mdns/zh_CN
+ cp -r html_en/. $GITHUB_WORKSPACE/docs/mdns/en
+ cp -r html_zh_CN/. $GITHUB_WORKSPACE/docs/mdns/zh_CN
+
cd $GITHUB_WORKSPACE/docs
touch .nojekyll
- echo 'esp-modem' > index.html
- echo 'esp-websocket-client' >> index.html
+ echo 'esp-modem
' > index.html
+ echo 'esp-websocket-client
' >> index.html
+ echo 'mDNS_en
' >> index.html
+ echo 'mDNS_zh_CN
' >> index.html
- name: Upload components to component service
uses: espressif/github-actions/upload_components@master
with:
- directories: "components/esp_modem;components/esp_websocket_client"
+ directories: "components/esp_modem;components/esp_websocket_client;components/mdns"
namespace: "espressif"
api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}
diff --git a/.github/workflows/test_afl_fuzzer.yml b/.github/workflows/test_afl_fuzzer.yml
new file mode 100644
index 000000000..a82e0096a
--- /dev/null
+++ b/.github/workflows/test_afl_fuzzer.yml
@@ -0,0 +1,30 @@
+name: AFL fuzzer compilation test
+
+on: [push, pull_request]
+
+jobs:
+ build:
+ strategy:
+ matrix:
+ idf_ver: ["latest"]
+ idf_target: ["esp32"]
+
+ runs-on: ubuntu-20.04
+ container: espressif/idf:${{ matrix.idf_ver }}
+ steps:
+ - name: Checkout esp-protocols
+ uses: actions/checkout@master
+ with:
+ path: esp-protocols
+ - name: Install Necessary Libs
+ run: |
+ apt-get update -y
+ apt-get install -y libbsd-dev
+ - name: Build ${{ matrix.example }} with IDF-${{ matrix.idf_ver }} for ${{ matrix.idf_target }}
+ env:
+ IDF_TARGET: ${{ matrix.idf_target }}
+ shell: bash
+ run: |
+ . ${IDF_PATH}/export.sh
+ cd $GITHUB_WORKSPACE/esp-protocols/components/mdns/tests/test_afl_fuzz_host/
+ make INSTR=off
diff --git a/README.md b/README.md
index 366e078c9..f1952a9e6 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,11 @@
* Brief introduction [README](components/esp_modem/README.md)
* Full html [documentation](https://espressif.github.io/esp-protocols/esp_modem/index.html)
+### mDNS
+
+* Brief introduction [README](components/mdns/README.md)
+* Full html [documentation](https://espressif.github.io/esp-protocols/mdns/index.html)
+
### esp_websocket_client
* Brief introduction [README](components/esp_websocket_client/README.md)
diff --git a/examples/common_components/protocol_examples_common/CMakeLists.txt b/common_components/protocol_examples_common/CMakeLists.txt
similarity index 100%
rename from examples/common_components/protocol_examples_common/CMakeLists.txt
rename to common_components/protocol_examples_common/CMakeLists.txt
diff --git a/examples/common_components/protocol_examples_common/Kconfig.projbuild b/common_components/protocol_examples_common/Kconfig.projbuild
similarity index 100%
rename from examples/common_components/protocol_examples_common/Kconfig.projbuild
rename to common_components/protocol_examples_common/Kconfig.projbuild
diff --git a/examples/common_components/protocol_examples_common/addr_from_stdin.c b/common_components/protocol_examples_common/addr_from_stdin.c
similarity index 100%
rename from examples/common_components/protocol_examples_common/addr_from_stdin.c
rename to common_components/protocol_examples_common/addr_from_stdin.c
diff --git a/examples/common_components/protocol_examples_common/connect.c b/common_components/protocol_examples_common/connect.c
similarity index 100%
rename from examples/common_components/protocol_examples_common/connect.c
rename to common_components/protocol_examples_common/connect.c
diff --git a/examples/common_components/protocol_examples_common/include/addr_from_stdin.h b/common_components/protocol_examples_common/include/addr_from_stdin.h
similarity index 100%
rename from examples/common_components/protocol_examples_common/include/addr_from_stdin.h
rename to common_components/protocol_examples_common/include/addr_from_stdin.h
diff --git a/examples/common_components/protocol_examples_common/include/protocol_examples_common.h b/common_components/protocol_examples_common/include/protocol_examples_common.h
similarity index 100%
rename from examples/common_components/protocol_examples_common/include/protocol_examples_common.h
rename to common_components/protocol_examples_common/include/protocol_examples_common.h
diff --git a/examples/common_components/protocol_examples_common/stdin_out.c b/common_components/protocol_examples_common/stdin_out.c
similarity index 100%
rename from examples/common_components/protocol_examples_common/stdin_out.c
rename to common_components/protocol_examples_common/stdin_out.c
diff --git a/components/mdns/README.md b/components/mdns/README.md
new file mode 100644
index 000000000..dd8678527
--- /dev/null
+++ b/components/mdns/README.md
@@ -0,0 +1,11 @@
+# mDNS Service
+
+mDNS is a multicast UDP service that is used to provide local network service and host discovery.
+
+## Examples
+
+Get started with example test [Example](examples/README.md):
+
+## Documentation
+
+* View the full [html documentation](https://espressif.github.io/esp-protocols/mdns/index.html)
diff --git a/components/mdns/docs/Doxyfile b/components/mdns/docs/Doxyfile
new file mode 100755
index 000000000..4c6b12bcc
--- /dev/null
+++ b/components/mdns/docs/Doxyfile
@@ -0,0 +1,75 @@
+# This is Doxygen configuration file
+#
+# Doxygen provides over 260 configuration statements
+# To make this file easier to follow,
+# it contains only statements that are non-default
+#
+# NOTE:
+# It is recommended not to change defaults unless specifically required
+# Test any changes how they affect generated documentation
+# Make sure that correct warnings are generated to flag issues with documented code
+#
+# For the complete list of configuration statements see:
+# http://doxygen.nl/manual/config.html
+
+
+PROJECT_NAME = "ESP Protocols Programming Guide"
+
+## The 'INPUT' statement below is used as input by script 'gen-df-input.py'
+## to automatically generate API reference list files heder_file.inc
+## These files are placed in '_inc' directory
+## and used to include in API reference documentation
+
+INPUT = \
+ $(PROJECT_PATH)/include/mdns.h
+
+## Get warnings for functions that have no documentation for their parameters or return value
+##
+WARN_NO_PARAMDOC = YES
+
+## Enable preprocessing and remove __attribute__(...) expressions from the INPUT files
+##
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+PREDEFINED = \
+ $(ENV_DOXYGEN_DEFINES) \
+ __DOXYGEN__=1 \
+ __attribute__(x)= \
+ _Static_assert()= \
+ IDF_DEPRECATED(X)= \
+ IRAM_ATTR= \
+ configSUPPORT_DYNAMIC_ALLOCATION=1 \
+ configSUPPORT_STATIC_ALLOCATION=1 \
+ configQUEUE_REGISTRY_SIZE=1 \
+ configUSE_RECURSIVE_MUTEXES=1 \
+ configTHREAD_LOCAL_STORAGE_DELETE_CALLBACKS=1 \
+ configNUM_THREAD_LOCAL_STORAGE_POINTERS=1 \
+ configUSE_APPLICATION_TASK_TAG=1 \
+ configTASKLIST_INCLUDE_COREID=1 \
+ "ESP_EVENT_DECLARE_BASE(x)=extern esp_event_base_t x"
+
+## Do not complain about not having dot
+##
+HAVE_DOT = NO
+
+## Generate XML that is required for Breathe
+##
+GENERATE_XML = YES
+XML_OUTPUT = xml
+
+GENERATE_HTML = NO
+HAVE_DOT = NO
+GENERATE_LATEX = NO
+GENERATE_MAN = YES
+GENERATE_RTF = NO
+
+## Skip distracting progress messages
+##
+QUIET = YES
+
+## Enable Section Tags for conditional documentation
+##
+ENABLED_SECTIONS += \
+ DOC_EXCLUDE_HEADER_SECTION \ ## To conditionally remove doc sections from IDF source files without affecting documentation in upstream files.
+ DOC_SINGLE_GROUP ## To conditionally remove groups from the documentation and create a 'flat' document without affecting documentation in upstream files.
diff --git a/components/mdns/docs/conf_common.py b/components/mdns/docs/conf_common.py
new file mode 100644
index 000000000..10d1e997e
--- /dev/null
+++ b/components/mdns/docs/conf_common.py
@@ -0,0 +1,21 @@
+from esp_docs.conf_docs import * # noqa: F403,F401
+
+extensions += ['sphinx_copybutton',
+ # Needed as a trigger for running doxygen
+ 'esp_docs.esp_extensions.dummy_build_system',
+ 'esp_docs.esp_extensions.run_doxygen',
+ ]
+
+# link roles config
+github_repo = 'espressif/esp-protocols'
+
+# context used by sphinx_idf_theme
+html_context['github_user'] = 'espressif'
+html_context['github_repo'] = 'esp-protocols'
+
+# Extra options required by sphinx_idf_theme
+project_slug = 'esp-idf' # >=5.0
+versions_url = 'https://github.com/espressif/esp-protocols/docs/docs_versions.js'
+
+idf_targets = ['esp32']
+languages = ['en', 'zh_CN']
diff --git a/components/mdns/docs/en/conf.py b/components/mdns/docs/en/conf.py
new file mode 100644
index 000000000..bba642268
--- /dev/null
+++ b/components/mdns/docs/en/conf.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+#
+# English Language RTD & Sphinx config file
+#
+# Uses ../conf_common.py for most non-language-specific settings.
+
+# Importing conf_common adds all the non-language-specific
+# parts to this conf module
+
+try:
+ from conf_common import * # noqa: F403,F401
+except ImportError:
+ import os
+ import sys
+ sys.path.insert(0, os.path.abspath('../'))
+ from conf_common import * # noqa: F403,F401
+
+# General information about the project.
+project = u'ESP-Protocols'
+copyright = u'2016 - 2022, Espressif Systems (Shanghai) Co., Ltd'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+language = 'en'
diff --git a/docs/en/api-reference/protocols/mdns.rst b/components/mdns/docs/en/index.rst
similarity index 87%
rename from docs/en/api-reference/protocols/mdns.rst
rename to components/mdns/docs/en/index.rst
index 00c8b37de..007d1bd9d 100644
--- a/docs/en/api-reference/protocols/mdns.rst
+++ b/components/mdns/docs/en/index.rst
@@ -7,7 +7,7 @@ Overview
mDNS is a multicast UDP service that is used to provide local network service and host discovery.
-mDNS is installed by default on most operating systems or is available as separate package. On ``Mac OS`` it is installed by default and is called ``Bonjour``. Apple releases an installer for ``Windows`` that can be found `on Apple's support page `_. On ``Linux``, mDNS is provided by `avahi `_ and is usually installed by default.
+mDNS is installed by default on most operating systems or is available as separate package. On ``Mac OS`` it is installed by default and is called ``Bonjour``. Apple releases an installer for ``Windows`` that can be found `on Apple's support page `_. On ``Linux``, mDNS is provided by `avahi `_ and is usually installed by default.
mDNS Properties
^^^^^^^^^^^^^^^
@@ -176,10 +176,26 @@ Example of using the methods above::
find_mdns_service("_ipp", "_tcp");
}
+
+Performance Optimization
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Execution Speed
+^^^^^^^^^^^^^^^
+
+ - mDNS creates a task with default low priority 1 ``CONFIG_MDNS_TASK_PRIORITY`` (If ``CONFIG_FREERTOS_UNICORE`` enabeled it pinned to CPU0 (``CONFIG_MDNS_TASK_AFFINITY``).
+ Please check `Maximizing Execution Speed `_ for more details.
+
+Minimizing RAM Usage
+^^^^^^^^^^^^^^^^^^^^
+
+- mDNS creates a tasks with stack sizes configured by ``CONFIG_MDNS_TASK_STACK_SIZE``.
+Please check `Minimizing RAM Usage `_ for more details.
+
Application Example
-------------------
-mDNS server/scanner example: :example:`protocols/mdns`.
+mDNS server/scanner example: :example:`<../examples>`.
API Reference
-------------
diff --git a/components/mdns/docs/generate_docs b/components/mdns/docs/generate_docs
new file mode 100755
index 000000000..d822222b5
--- /dev/null
+++ b/components/mdns/docs/generate_docs
@@ -0,0 +1,28 @@
+build-docs --target esp32 --language en
+build-docs --target esp32 --language zh_CN
+
+cp -rf _build/en/esp32/html html_en
+cp -rf _build/zh_CN/esp32/html html_zh_CN
+rm -rf _build __pycache__ tee
+
+# Modifes some version and target fields of index.html
+echo "" | tee -a html_en/index.html html_zh_CN/index.html > /dev/null
diff --git a/components/mdns/docs/zh_CN/conf.py b/components/mdns/docs/zh_CN/conf.py
new file mode 100644
index 000000000..cc6fbc271
--- /dev/null
+++ b/components/mdns/docs/zh_CN/conf.py
@@ -0,0 +1,27 @@
+# -*- coding: utf-8 -*-
+#
+# English Language RTD & Sphinx config file
+#
+# Uses ../conf_common.py for most non-language-specific settings.
+
+# Importing conf_common adds all the non-language-specific
+# parts to this conf module
+try:
+ from conf_common import * # noqa: F403,F401
+except ImportError:
+ import os
+ import sys
+ sys.path.insert(0, os.path.abspath('..'))
+ from conf_common import * # noqa: F403,F401
+
+import datetime
+
+current_year = datetime.datetime.now().year
+
+# General information about the project.
+project = u'ESP-IDF 编程指南'
+copyright = u'2016 - {} 乐鑫信息科技(上海)股份有限公司'.format(current_year)
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+language = 'zh_CN'
diff --git a/docs/zh_CN/api-reference/protocols/mdns.rst b/components/mdns/docs/zh_CN/index.rst
similarity index 96%
rename from docs/zh_CN/api-reference/protocols/mdns.rst
rename to components/mdns/docs/zh_CN/index.rst
index 08b3b373d..68befb637 100644
--- a/docs/zh_CN/api-reference/protocols/mdns.rst
+++ b/components/mdns/docs/zh_CN/index.rst
@@ -7,7 +7,7 @@ mDNS 服务
mDNS 是一种组播 UDP 服务,用来提供本地网络服务和主机发现。
-绝大多数的操作系统默认都会安装 mDNS 服务,或者提供单独的安装包。``Mac OS`` 默认会安装名为 ``Bonjour`` 的服务(该服务基于 mDNS),此外 Apple 还发布了适用于 Windows 系统的安装程序,可以在 `官方支持 `_ 找到。在 ``Linux`` 上,mDNS 服务由 `avahi `_ 提供,通常也会被默认安装。
+绝大多数的操作系统默认都会安装 mDNS 服务,或者提供单独的安装包。``Mac OS`` 默认会安装名为 ``Bonjour`` 的服务(该服务基于 mDNS),此外 Apple 还发布了适用于 Windows 系统的安装程序,可以在 `官方支持 `_ 找到。在 ``Linux`` 上,mDNS 服务由 `avahi `_ 提供,通常也会被默认安装。
mDNS 属性
^^^^^^^^^
@@ -179,7 +179,7 @@ mDNS 提供查询服务和解析主机 IP/IPv6 地址的方法。
应用示例
--------
-有关 mDNS 服务器和查询器的应用示例请参考 :example:`protocols/mdns`。
+有关 mDNS 服务器和查询器的应用示例请参考 :example:`<../examples>`。
API 参考
--------
diff --git a/examples/protocols/mdns/CMakeLists.txt b/components/mdns/examples/CMakeLists.txt
similarity index 72%
rename from examples/protocols/mdns/CMakeLists.txt
rename to components/mdns/examples/CMakeLists.txt
index e624184a2..9461155a1 100644
--- a/examples/protocols/mdns/CMakeLists.txt
+++ b/components/mdns/examples/CMakeLists.txt
@@ -2,9 +2,9 @@
# in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.5)
-# (Not part of the boilerplate)
+set(EXTRA_COMPONENT_DIRS "../..")
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
-set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
+list(APPEND EXTRA_COMPONENT_DIRS "../../../common_components/protocol_examples_common")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(mdns_test)
diff --git a/examples/protocols/mdns/README.md b/components/mdns/examples/README.md
similarity index 95%
rename from examples/protocols/mdns/README.md
rename to components/mdns/examples/README.md
index b66cebc57..04047a6f7 100644
--- a/examples/protocols/mdns/README.md
+++ b/components/mdns/examples/README.md
@@ -15,7 +15,7 @@ Shows how to use mDNS to advertise lookup services and hosts
* Open the project configuration menu (`idf.py menuconfig`)
-* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](../README.md) for more details.
+* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu
* Set `mDNS Hostname` as host name prefix for the device and its instance name in `mDNS Instance Name`
* Disable `Resolve test services` to prevent the example from querying defined names/services on startup (cause warnings in example logs, as illustrated below)
@@ -89,5 +89,3 @@ I (29396) mdns-test: Query PTR: _printer._tcp.local
2: Interface: STA, Type: V4
PTR : HP Color LaserJet MFP M277dw (7C2E10)
```
-
-See the README.md file in the upper level 'examples' directory for more information about examples.
diff --git a/examples/protocols/mdns/main/CMakeLists.txt b/components/mdns/examples/main/CMakeLists.txt
similarity index 100%
rename from examples/protocols/mdns/main/CMakeLists.txt
rename to components/mdns/examples/main/CMakeLists.txt
diff --git a/examples/protocols/mdns/main/Kconfig.projbuild b/components/mdns/examples/main/Kconfig.projbuild
similarity index 100%
rename from examples/protocols/mdns/main/Kconfig.projbuild
rename to components/mdns/examples/main/Kconfig.projbuild
diff --git a/examples/protocols/mdns/main/mdns_example_main.c b/components/mdns/examples/main/mdns_example_main.c
similarity index 100%
rename from examples/protocols/mdns/main/mdns_example_main.c
rename to components/mdns/examples/main/mdns_example_main.c
diff --git a/examples/protocols/mdns/mdns_example_test.py b/components/mdns/examples/mdns_example_test.py
similarity index 100%
rename from examples/protocols/mdns/mdns_example_test.py
rename to components/mdns/examples/mdns_example_test.py
diff --git a/examples/protocols/mdns/sdkconfig.ci.eth_custom_netif b/components/mdns/examples/sdkconfig.ci.eth_custom_netif
similarity index 100%
rename from examples/protocols/mdns/sdkconfig.ci.eth_custom_netif
rename to components/mdns/examples/sdkconfig.ci.eth_custom_netif
diff --git a/examples/protocols/mdns/sdkconfig.ci.eth_def b/components/mdns/examples/sdkconfig.ci.eth_def
similarity index 100%
rename from examples/protocols/mdns/sdkconfig.ci.eth_def
rename to components/mdns/examples/sdkconfig.ci.eth_def
diff --git a/examples/protocols/mdns/sdkconfig.ci.eth_socket b/components/mdns/examples/sdkconfig.ci.eth_socket
similarity index 100%
rename from examples/protocols/mdns/sdkconfig.ci.eth_socket
rename to components/mdns/examples/sdkconfig.ci.eth_socket
diff --git a/components/mdns/host_test/CMakeLists.txt b/components/mdns/tests/host_test/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/CMakeLists.txt
rename to components/mdns/tests/host_test/CMakeLists.txt
diff --git a/components/mdns/host_test/README.md b/components/mdns/tests/host_test/README.md
similarity index 100%
rename from components/mdns/host_test/README.md
rename to components/mdns/tests/host_test/README.md
diff --git a/components/mdns/host_test/components/esp_event_mock/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_event_mock/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/components/esp_event_mock/CMakeLists.txt
rename to components/mdns/tests/host_test/components/esp_event_mock/CMakeLists.txt
diff --git a/components/mdns/host_test/components/esp_event_mock/esp_event_mock.c b/components/mdns/tests/host_test/components/esp_event_mock/esp_event_mock.c
similarity index 100%
rename from components/mdns/host_test/components/esp_event_mock/esp_event_mock.c
rename to components/mdns/tests/host_test/components/esp_event_mock/esp_event_mock.c
diff --git a/components/mdns/host_test/components/esp_event_mock/include/esp_event.h b/components/mdns/tests/host_test/components/esp_event_mock/include/esp_event.h
similarity index 100%
rename from components/mdns/host_test/components/esp_event_mock/include/esp_event.h
rename to components/mdns/tests/host_test/components/esp_event_mock/include/esp_event.h
diff --git a/components/mdns/host_test/components/esp_event_mock/include/esp_event_base.h b/components/mdns/tests/host_test/components/esp_event_mock/include/esp_event_base.h
similarity index 100%
rename from components/mdns/host_test/components/esp_event_mock/include/esp_event_base.h
rename to components/mdns/tests/host_test/components/esp_event_mock/include/esp_event_base.h
diff --git a/components/mdns/host_test/components/esp_netif_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_netif_linux/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/components/esp_netif_linux/CMakeLists.txt
rename to components/mdns/tests/host_test/components/esp_netif_linux/CMakeLists.txt
diff --git a/components/mdns/host_test/components/esp_netif_linux/Kconfig b/components/mdns/tests/host_test/components/esp_netif_linux/Kconfig
similarity index 100%
rename from components/mdns/host_test/components/esp_netif_linux/Kconfig
rename to components/mdns/tests/host_test/components/esp_netif_linux/Kconfig
diff --git a/components/mdns/host_test/components/esp_netif_linux/esp_netif_linux.c b/components/mdns/tests/host_test/components/esp_netif_linux/esp_netif_linux.c
similarity index 100%
rename from components/mdns/host_test/components/esp_netif_linux/esp_netif_linux.c
rename to components/mdns/tests/host_test/components/esp_netif_linux/esp_netif_linux.c
diff --git a/components/mdns/host_test/components/esp_netif_linux/include/esp_wifi_types.h b/components/mdns/tests/host_test/components/esp_netif_linux/include/esp_wifi_types.h
similarity index 100%
rename from components/mdns/host_test/components/esp_netif_linux/include/esp_wifi_types.h
rename to components/mdns/tests/host_test/components/esp_netif_linux/include/esp_wifi_types.h
diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_system_protocols_linux/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/components/esp_system_protocols_linux/CMakeLists.txt
rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/CMakeLists.txt
diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/esp_log_impl.c b/components/mdns/tests/host_test/components/esp_system_protocols_linux/esp_log_impl.c
similarity index 100%
rename from components/mdns/host_test/components/esp_system_protocols_linux/esp_log_impl.c
rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/esp_log_impl.c
diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/include/bsd_strings.h b/components/mdns/tests/host_test/components/esp_system_protocols_linux/include/bsd_strings.h
similarity index 100%
rename from components/mdns/host_test/components/esp_system_protocols_linux/include/bsd_strings.h
rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/include/bsd_strings.h
diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/include/machine/endian.h b/components/mdns/tests/host_test/components/esp_system_protocols_linux/include/machine/endian.h
similarity index 100%
rename from components/mdns/host_test/components/esp_system_protocols_linux/include/machine/endian.h
rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/include/machine/endian.h
diff --git a/components/mdns/host_test/components/esp_system_protocols_linux/strlcat.c b/components/mdns/tests/host_test/components/esp_system_protocols_linux/strlcat.c
similarity index 100%
rename from components/mdns/host_test/components/esp_system_protocols_linux/strlcat.c
rename to components/mdns/tests/host_test/components/esp_system_protocols_linux/strlcat.c
diff --git a/components/mdns/host_test/components/esp_timer_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/esp_timer_linux/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/components/esp_timer_linux/CMakeLists.txt
rename to components/mdns/tests/host_test/components/esp_timer_linux/CMakeLists.txt
diff --git a/components/mdns/host_test/components/esp_timer_linux/esp_timer_linux.c b/components/mdns/tests/host_test/components/esp_timer_linux/esp_timer_linux.c
similarity index 100%
rename from components/mdns/host_test/components/esp_timer_linux/esp_timer_linux.c
rename to components/mdns/tests/host_test/components/esp_timer_linux/esp_timer_linux.c
diff --git a/components/mdns/host_test/components/esp_timer_linux/include/esp_timer.h b/components/mdns/tests/host_test/components/esp_timer_linux/include/esp_timer.h
similarity index 100%
rename from components/mdns/host_test/components/esp_timer_linux/include/esp_timer.h
rename to components/mdns/tests/host_test/components/esp_timer_linux/include/esp_timer.h
diff --git a/components/mdns/host_test/components/esp_timer_linux/timer_task.cpp b/components/mdns/tests/host_test/components/esp_timer_linux/timer_task.cpp
similarity index 100%
rename from components/mdns/host_test/components/esp_timer_linux/timer_task.cpp
rename to components/mdns/tests/host_test/components/esp_timer_linux/timer_task.cpp
diff --git a/components/mdns/host_test/components/esp_timer_linux/timer_task.hpp b/components/mdns/tests/host_test/components/esp_timer_linux/timer_task.hpp
similarity index 100%
rename from components/mdns/host_test/components/esp_timer_linux/timer_task.hpp
rename to components/mdns/tests/host_test/components/esp_timer_linux/timer_task.hpp
diff --git a/components/mdns/host_test/components/freertos_linux/CMakeLists.txt b/components/mdns/tests/host_test/components/freertos_linux/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/CMakeLists.txt
rename to components/mdns/tests/host_test/components/freertos_linux/CMakeLists.txt
diff --git a/components/mdns/host_test/components/freertos_linux/Kconfig b/components/mdns/tests/host_test/components/freertos_linux/Kconfig
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/Kconfig
rename to components/mdns/tests/host_test/components/freertos_linux/Kconfig
diff --git a/components/mdns/host_test/components/freertos_linux/freertos_linux.c b/components/mdns/tests/host_test/components/freertos_linux/freertos_linux.c
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/freertos_linux.c
rename to components/mdns/tests/host_test/components/freertos_linux/freertos_linux.c
diff --git a/components/mdns/host_test/components/freertos_linux/include/esp_task.h b/components/mdns/tests/host_test/components/freertos_linux/include/esp_task.h
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/include/esp_task.h
rename to components/mdns/tests/host_test/components/freertos_linux/include/esp_task.h
diff --git a/components/mdns/host_test/components/freertos_linux/include/freertos/FreeRTOS.h b/components/mdns/tests/host_test/components/freertos_linux/include/freertos/FreeRTOS.h
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/include/freertos/FreeRTOS.h
rename to components/mdns/tests/host_test/components/freertos_linux/include/freertos/FreeRTOS.h
diff --git a/components/mdns/host_test/components/freertos_linux/include/freertos/task.h b/components/mdns/tests/host_test/components/freertos_linux/include/freertos/task.h
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/include/freertos/task.h
rename to components/mdns/tests/host_test/components/freertos_linux/include/freertos/task.h
diff --git a/components/mdns/host_test/components/freertos_linux/queue_unique_ptr.cpp b/components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.cpp
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/queue_unique_ptr.cpp
rename to components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.cpp
diff --git a/components/mdns/host_test/components/freertos_linux/queue_unique_ptr.hpp b/components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.hpp
similarity index 100%
rename from components/mdns/host_test/components/freertos_linux/queue_unique_ptr.hpp
rename to components/mdns/tests/host_test/components/freertos_linux/queue_unique_ptr.hpp
diff --git a/components/mdns/host_test/main/CMakeLists.txt b/components/mdns/tests/host_test/main/CMakeLists.txt
similarity index 100%
rename from components/mdns/host_test/main/CMakeLists.txt
rename to components/mdns/tests/host_test/main/CMakeLists.txt
diff --git a/components/mdns/host_test/main/main.c b/components/mdns/tests/host_test/main/main.c
similarity index 100%
rename from components/mdns/host_test/main/main.c
rename to components/mdns/tests/host_test/main/main.c
diff --git a/components/mdns/test_afl_fuzz_host/CMakeLists.txt b/components/mdns/tests/test_afl_fuzz_host/CMakeLists.txt
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/CMakeLists.txt
rename to components/mdns/tests/test_afl_fuzz_host/CMakeLists.txt
diff --git a/components/mdns/test_afl_fuzz_host/Makefile b/components/mdns/tests/test_afl_fuzz_host/Makefile
similarity index 95%
rename from components/mdns/test_afl_fuzz_host/Makefile
rename to components/mdns/tests/test_afl_fuzz_host/Makefile
index af58a3c05..313b21ac5 100644
--- a/components/mdns/test_afl_fuzz_host/Makefile
+++ b/components/mdns/tests/test_afl_fuzz_host/Makefile
@@ -1,10 +1,10 @@
TEST_NAME=test
FUZZ=afl-fuzz
-COMPONENTS_DIR=../..
+COMPONENTS_DIR=$(IDF_PATH)/components
COMPILER_ICLUDE_DIR=$(shell echo `which xtensa-esp32-elf-gcc | xargs dirname | xargs dirname`/xtensa-esp32-elf)
CFLAGS=-g -Wno-unused-value -Wno-missing-declarations -Wno-pointer-bool-conversion -Wno-macro-redefined -Wno-int-to-void-pointer-cast -DHOOK_MALLOC_FAILED -DESP_EVENT_H_ -D__ESP_LOG_H__ \
- -I. -I.. -I../include -I../private_include -I ./build/config \
+ -I. -I../.. -I../../include -I../../private_include -I ./build/config \
-I$(COMPONENTS_DIR) \
-I$(COMPONENTS_DIR)/driver/include \
-I$(COMPONENTS_DIR)/esp_common/include \
@@ -68,7 +68,7 @@ all: $(TEST_NAME)
@echo "[CC] $<"
@$(CC) $(CFLAGS) -c $< -o $@
-mdns.o: ../mdns.c
+mdns.o: ../../mdns.c
@echo "[CC] $<"
@$(CC) $(CFLAGS) -include mdns_mock.h $(MDNS_C_DEPENDENCY_INJECTION) -c $< -o $@
diff --git a/components/mdns/test_afl_fuzz_host/README.md b/components/mdns/tests/test_afl_fuzz_host/README.md
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/README.md
rename to components/mdns/tests/test_afl_fuzz_host/README.md
diff --git a/components/mdns/test_afl_fuzz_host/esp32_mock.c b/components/mdns/tests/test_afl_fuzz_host/esp32_mock.c
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/esp32_mock.c
rename to components/mdns/tests/test_afl_fuzz_host/esp32_mock.c
diff --git a/components/mdns/test_afl_fuzz_host/esp32_mock.h b/components/mdns/tests/test_afl_fuzz_host/esp32_mock.h
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/esp32_mock.h
rename to components/mdns/tests/test_afl_fuzz_host/esp32_mock.h
diff --git a/components/mdns/test_afl_fuzz_host/esp_attr.h b/components/mdns/tests/test_afl_fuzz_host/esp_attr.h
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/esp_attr.h
rename to components/mdns/tests/test_afl_fuzz_host/esp_attr.h
diff --git a/components/mdns/test_afl_fuzz_host/esp_netif_mock.c b/components/mdns/tests/test_afl_fuzz_host/esp_netif_mock.c
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/esp_netif_mock.c
rename to components/mdns/tests/test_afl_fuzz_host/esp_netif_mock.c
diff --git a/components/mdns/test_afl_fuzz_host/in/file2.bin b/components/mdns/tests/test_afl_fuzz_host/in/file2.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/file2.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/file2.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_4a_txt.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_4a_txt.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_4a_txt.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_4a_txt.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_aaaa.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_aaaa.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_aaaa.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_aaaa.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_any.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_any.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_any.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_any.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_disc.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_disc.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_disc.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_disc.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_ptr.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_ptr.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_ptr.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_ptr.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_query.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_query.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_query.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_query.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/minif_query2.bin b/components/mdns/tests/test_afl_fuzz_host/in/minif_query2.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/minif_query2.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/minif_query2.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/sub_fritz_m.bin b/components/mdns/tests/test_afl_fuzz_host/in/sub_fritz_m.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/sub_fritz_m.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/sub_fritz_m.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/telnet_ptr.bin b/components/mdns/tests/test_afl_fuzz_host/in/telnet_ptr.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/telnet_ptr.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/telnet_ptr.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-14.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-14.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-14.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-14.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-15.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-15.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-15.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-15.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-16.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-16.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-16.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-16.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-28.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-28.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-28.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-28.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-29.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-29.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-29.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-29.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-31.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-31.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-31.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-31.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-53.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-53.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-53.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-53.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-56.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-56.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-56.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-56.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-63.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-63.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-63.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-63.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-83.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-83.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-83.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-83.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-88.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-88.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-88.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-88.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-89.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-89.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-89.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-89.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-95.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-95.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-95.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-95.bin
diff --git a/components/mdns/test_afl_fuzz_host/in/test-96.bin b/components/mdns/tests/test_afl_fuzz_host/in/test-96.bin
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/in/test-96.bin
rename to components/mdns/tests/test_afl_fuzz_host/in/test-96.bin
diff --git a/components/mdns/test_afl_fuzz_host/input_packets.txt b/components/mdns/tests/test_afl_fuzz_host/input_packets.txt
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/input_packets.txt
rename to components/mdns/tests/test_afl_fuzz_host/input_packets.txt
diff --git a/components/mdns/test_afl_fuzz_host/mdns_di.h b/components/mdns/tests/test_afl_fuzz_host/mdns_di.h
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/mdns_di.h
rename to components/mdns/tests/test_afl_fuzz_host/mdns_di.h
diff --git a/components/mdns/test_afl_fuzz_host/mdns_mock.h b/components/mdns/tests/test_afl_fuzz_host/mdns_mock.h
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/mdns_mock.h
rename to components/mdns/tests/test_afl_fuzz_host/mdns_mock.h
diff --git a/components/mdns/test_afl_fuzz_host/sdkconfig.h b/components/mdns/tests/test_afl_fuzz_host/sdkconfig.h
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/sdkconfig.h
rename to components/mdns/tests/test_afl_fuzz_host/sdkconfig.h
diff --git a/components/mdns/test_afl_fuzz_host/test.c b/components/mdns/tests/test_afl_fuzz_host/test.c
similarity index 100%
rename from components/mdns/test_afl_fuzz_host/test.c
rename to components/mdns/tests/test_afl_fuzz_host/test.c
diff --git a/tools/test_apps/protocols/mdns/CMakeLists.txt b/components/mdns/tests/test_apps/CMakeLists.txt
similarity index 79%
rename from tools/test_apps/protocols/mdns/CMakeLists.txt
rename to components/mdns/tests/test_apps/CMakeLists.txt
index e756f2b40..466df27ef 100644
--- a/tools/test_apps/protocols/mdns/CMakeLists.txt
+++ b/components/mdns/tests/test_apps/CMakeLists.txt
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.5)
# (Not part of the boilerplate)
# This example uses an extra component for common functions such as Wi-Fi and Ethernet connection.
-set(EXTRA_COMPONENT_DIRS $ENV{IDF_PATH}/examples/common_components/protocol_examples_common)
+set(EXTRA_COMPONENT_DIRS "../../../../common_components/protocol_examples_common")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
diff --git a/tools/test_apps/protocols/mdns/README.md b/components/mdns/tests/test_apps/README.md
similarity index 95%
rename from tools/test_apps/protocols/mdns/README.md
rename to components/mdns/tests/test_apps/README.md
index 40ae127fe..96b76dcb7 100644
--- a/tools/test_apps/protocols/mdns/README.md
+++ b/components/mdns/tests/test_apps/README.md
@@ -23,7 +23,8 @@ In order to run both of them just needed to set up the project and run by 'pytho
* Open the project configuration menu (`idf.py menuconfig`)
-* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](README.md) for more details.
+* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu.
+
* Set `mDNS Hostname` as host name prefix for the device and its instance name in `mDNS Instance Name`
### Build and Flash
diff --git a/tools/test_apps/protocols/mdns/app_test.py b/components/mdns/tests/test_apps/app_test.py
similarity index 100%
rename from tools/test_apps/protocols/mdns/app_test.py
rename to components/mdns/tests/test_apps/app_test.py
diff --git a/tools/test_apps/protocols/mdns/main/CMakeLists.txt b/components/mdns/tests/test_apps/main/CMakeLists.txt
similarity index 100%
rename from tools/test_apps/protocols/mdns/main/CMakeLists.txt
rename to components/mdns/tests/test_apps/main/CMakeLists.txt
diff --git a/tools/test_apps/protocols/mdns/main/Kconfig.projbuild b/components/mdns/tests/test_apps/main/Kconfig.projbuild
similarity index 100%
rename from tools/test_apps/protocols/mdns/main/Kconfig.projbuild
rename to components/mdns/tests/test_apps/main/Kconfig.projbuild
diff --git a/tools/test_apps/protocols/mdns/main/main.c b/components/mdns/tests/test_apps/main/main.c
similarity index 100%
rename from tools/test_apps/protocols/mdns/main/main.c
rename to components/mdns/tests/test_apps/main/main.c
diff --git a/tools/test_apps/protocols/mdns/main/mdns_test.c b/components/mdns/tests/test_apps/main/mdns_test.c
similarity index 100%
rename from tools/test_apps/protocols/mdns/main/mdns_test.c
rename to components/mdns/tests/test_apps/main/mdns_test.c
diff --git a/tools/test_apps/protocols/mdns/sdkconfig.defaults b/components/mdns/tests/test_apps/sdkconfig.defaults
similarity index 100%
rename from tools/test_apps/protocols/mdns/sdkconfig.defaults
rename to components/mdns/tests/test_apps/sdkconfig.defaults
diff --git a/components/mdns/test/CMakeLists.txt b/components/mdns/tests/unit_test/CMakeLists.txt
similarity index 100%
rename from components/mdns/test/CMakeLists.txt
rename to components/mdns/tests/unit_test/CMakeLists.txt
diff --git a/components/mdns/test/test_mdns.c b/components/mdns/tests/unit_test/test_mdns.c
similarity index 100%
rename from components/mdns/test/test_mdns.c
rename to components/mdns/tests/unit_test/test_mdns.c
diff --git a/docs/docs_versions.js b/docs/docs_versions.js
new file mode 100644
index 000000000..447ce23d1
--- /dev/null
+++ b/docs/docs_versions.js
@@ -0,0 +1,12 @@
+var DOCUMENTATION_VERSIONS = {
+ VERSIONS: [
+ { name: "latest", has_targets: true, supported_targets: [ "esp32", "esp32s2", "esp32s3", "esp32c2", "esp32c3" ] },
+ ],
+ IDF_TARGETS: [
+ { text: "ESP32", value: "esp32"},
+ { text: "ESP32-S2", value: "esp32s2"},
+ { text: "ESP32-S3", value: "esp32s3"},
+ { text: "ESP32-C2", value: "esp32c2"},
+ { text: "ESP32-C3", value: "esp32c3"}
+ ],
+};