mirror of
https://github.com/espressif/esp-idf.git
synced 2026-07-16 07:53:05 +03:00
Merge branch 'fix/update-configdep' into 'master'
fix: update version of esp-idf-configdep in tools.json See merge request espressif/esp-idf!49582
This commit is contained in:
@@ -3,21 +3,11 @@
|
||||
"""Rebuild tests with esp-idf-configdep enabled (default idf.py behavior).
|
||||
|
||||
esp-idf-configdep rewrites compiler .d files to depend on per-option
|
||||
build/config/.../*.cdep stubs instead of sdkconfig.h. When a referenced
|
||||
.cdep file does not exist yet, the wrapper creates it **after** the real
|
||||
compiler has written the .obj. Those stubs then have a newer mtime than the
|
||||
object. On the **next** Ninja run, those .cdep paths are prerequisites in the
|
||||
merged dependency graph, so Ninja correctly treats the object as out of date and
|
||||
rebuilds it—even though nothing in the source tree or sdkconfig changed.
|
||||
|
||||
That one-time “settling” wave is not a CMake bug; it is an artifact of how
|
||||
configdep materializes stubs relative to object timestamps. The tests in
|
||||
test_rebuild.py therefore disable configdep to exercise pure CMake/Ninja
|
||||
incremental behavior. Here we keep configdep **on** and run **two** full
|
||||
idf.py build invocations before any mtime baseline so stub/object mtimes are
|
||||
consistent; then we apply the same coarse-grained checks as the classic rebuild
|
||||
tests (plus relaxed expectations where configdep legitimately skips compiling
|
||||
TUs that do not reference changed CONFIG_* symbols).
|
||||
build/config/.../*.cdep stubs instead of sdkconfig.h. The tests in
|
||||
test_rebuild.py disable configdep to exercise pure CMake/Ninja incremental
|
||||
behavior. Here we keep configdep **on** and apply the same coarse-grained
|
||||
checks as the classic rebuild tests (plus relaxed expectations where configdep
|
||||
legitimately skips compiling TUs that do not reference changed CONFIG_* symbols).
|
||||
"""
|
||||
|
||||
import logging
|
||||
@@ -37,18 +27,10 @@ from test_build_system_helpers import rebuild_and_check
|
||||
from test_build_system_helpers import replace_in_file
|
||||
|
||||
|
||||
def _settle_configdep_graph(idf_py: IdfPyFunc) -> None:
|
||||
"""Two full builds so ``.cdep`` stubs created by configdep are not newer than ``.obj`` for the next graph walk."""
|
||||
logging.info('settle (configdep): first full build')
|
||||
idf_py('build')
|
||||
logging.info('settle (configdep): second full build reconciles obj vs .cdep mtimes')
|
||||
idf_py('build')
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('test_app_copy')
|
||||
def test_rebuild_no_changes_with_configdep(idf_py: IdfPyFunc, request: pytest.FixtureRequest) -> None:
|
||||
"""No-op rebuild: with configdep on, baseline snapshot only after two settle builds (see module docstring)."""
|
||||
_settle_configdep_graph(idf_py)
|
||||
"""No-op rebuild: second build after a clean first build must not change any artifacts."""
|
||||
idf_py('build')
|
||||
|
||||
logging.info('baseline snapshot after settle')
|
||||
all_build_files = get_snapshot('build/**/*', exclude_patterns=BUILD_SNAPSHOT_EXCLUDE)
|
||||
@@ -66,9 +48,9 @@ def test_rebuild_no_changes_with_configdep(idf_py: IdfPyFunc, request: pytest.Fi
|
||||
|
||||
@pytest.mark.usefixtures('test_app_copy')
|
||||
def test_rebuild_source_files_with_configdep(idf_py: IdfPyFunc) -> None:
|
||||
"""Same selective-rebuild checks as ``test_rebuild_source_files``, after configdep settle builds."""
|
||||
"""Same selective-rebuild checks as ``test_rebuild_source_files``, with configdep on."""
|
||||
idf_path = Path(os.environ['IDF_PATH'])
|
||||
_settle_configdep_graph(idf_py)
|
||||
idf_py('build')
|
||||
|
||||
logging.info('updating a component source file rebuilds only that component')
|
||||
component_files_patterns = [
|
||||
|
||||
@@ -1155,7 +1155,7 @@
|
||||
"description": "ESP-IDF configuration dependency tool",
|
||||
"export_paths": [
|
||||
[
|
||||
"esp-idf-configdep-0.2.2",
|
||||
"esp-idf-configdep-0.2.3",
|
||||
"bin"
|
||||
]
|
||||
],
|
||||
@@ -1175,51 +1175,51 @@
|
||||
"versions": [
|
||||
{
|
||||
"linux-amd64": {
|
||||
"sha256": "999aa895c25d5c7edb6823884d3017f146b133f7ae2c580fffe4c989d7ce8c36",
|
||||
"size": 28505,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-x86_64.tar.gz"
|
||||
"sha256": "c20fec39087019907efacd3721508b412a7aa47f94ea62400757b9820680dafe",
|
||||
"size": 29642,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-x86_64.tar.gz"
|
||||
},
|
||||
"linux-arm64": {
|
||||
"sha256": "0ea8f5e0de463ecfa3354a27b32ba34c4b999570e92127952fe7363f034ab7e9",
|
||||
"size": 59608,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-arm64.tar.gz"
|
||||
"sha256": "5a1491b2009c9ed805b90e8efb27704ba96cc036b7aaca343310db846a9183a9",
|
||||
"size": 60457,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-arm64.tar.gz"
|
||||
},
|
||||
"linux-armel": {
|
||||
"sha256": "0e1663a6f9d8c030f11feb214aab0ffc3b9f6029ebc7ce10cad974db13667632",
|
||||
"size": 36797,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-armel.tar.gz"
|
||||
"sha256": "c52f6cb0be77cb6561a62cf1dcf3d0855a8b063ea2279fe83aaca9b5896002c9",
|
||||
"size": 38582,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-armel.tar.gz"
|
||||
},
|
||||
"linux-armhf": {
|
||||
"sha256": "98759c0a16e56ec96cc72f2d6b60d2f548194cfcc2adde11cd65c694241912b6",
|
||||
"size": 34310,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-armhf.tar.gz"
|
||||
"sha256": "eea71661562e72ca76be8fdc158678e5f0214dd733b02527d5f6adb49abdf1ca",
|
||||
"size": 36012,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-armhf.tar.gz"
|
||||
},
|
||||
"linux-i686": {
|
||||
"sha256": "e337582b1570ac90fcfde0b724e41d62b01581ec0a755c97ac38024c5def55ac",
|
||||
"size": 32114,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-linux-x86.tar.gz"
|
||||
"sha256": "ea1ac949cc6d77df3ac1fe24883c03c75c2f5cd5a0404baf70d0e1a48e95c0f8",
|
||||
"size": 33699,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-linux-x86.tar.gz"
|
||||
},
|
||||
"macos": {
|
||||
"sha256": "8e7ad2fd91214219c276c6b371f0cd3e315f22055554d60856e88d84eb6422e9",
|
||||
"size": 12755,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-macos-x86_64.tar.gz"
|
||||
"sha256": "5bf96c4b5c6850dc8af22442c2a54cd143cca76403a5cf2a2152c6e5c006384e",
|
||||
"size": 13262,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-macos-x86_64.tar.gz"
|
||||
},
|
||||
"macos-arm64": {
|
||||
"sha256": "458fa0e3193184ca6360bf35058c63e763545f0ef6cb0b659b01985a5dfafdbf",
|
||||
"size": 13023,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-macos-arm64.tar.gz"
|
||||
"sha256": "bd701ef6829e9eb31dca0e8e687209d9fa173489218c464f8c5da9491634b79c",
|
||||
"size": 13431,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-macos-arm64.tar.gz"
|
||||
},
|
||||
"name": "0.2.2",
|
||||
"name": "0.2.3",
|
||||
"status": "recommended",
|
||||
"win32": {
|
||||
"sha256": "6bec5711daa5196df8ec3fa2d3c2c79623e7dc6cb5e0b6cede03ef49b71ac6ac",
|
||||
"size": 114156,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-win-x86.zip"
|
||||
"sha256": "c9c2b2110e2fd0dbe63bb7df0520607664b8a1d843c97304f5d1e7241bdb0c1c",
|
||||
"size": 114736,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-win-x86.zip"
|
||||
},
|
||||
"win64": {
|
||||
"sha256": "1827c449c9294036f94fa82f5da65f10be1edbc2de6920ce9837cbee1393cac8",
|
||||
"size": 117734,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.2/esp-idf-configdep-0.2.2-win-x86_64.zip"
|
||||
"sha256": "993335dafa6af3aa55a058eaff439b0454612b9bec0ae7bada4fb3cb0a8d1f14",
|
||||
"size": 118222,
|
||||
"url": "https://github.com/espressif/esp-idf-configdep/releases/download/v0.2.3/esp-idf-configdep-0.2.3-win-x86_64.zip"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user