mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
feat: introduce esp-idf-configdep as a build optimization
The esp-idf-configdep utility works as a compiler wrapper. It lets the compiler compile the app and checks whether -MF option was used to generate dependency files. If yes, it checks for sdkconfig.h dependency in those files. Target file depending on sdkconfig.h is then scanned for all CONFIG_* occurrences and the dependency file is altered so that the given target file is marked as "dirty" only if the config options it actually uses are changed. This ensures that after a configuration update, only affected files are rebuilt, reducing incremental build times. The compiler launcher mechanism is changed from RULE_LAUNCH_COMPILE (Makefile-only) to CMAKE_*_COMPILER_LAUNCHER (generator-agnostic), enabling launcher chaining (configdep -> ccache -> compiler). Made-with: Cursor
This commit is contained in:
@@ -65,6 +65,7 @@ NINJA = 'ninja'
|
||||
IDF_EXE = 'idf-exe'
|
||||
CCACHE = 'ccache'
|
||||
DFU_UTIL = 'dfu-util'
|
||||
ESP_IDF_CONFIGDEP = 'esp-idf-configdep'
|
||||
|
||||
|
||||
def get_version_dict():
|
||||
@@ -98,6 +99,7 @@ NINJA_VERSION = version_dict[NINJA]
|
||||
IDF_EXE_VERSION = version_dict[IDF_EXE]
|
||||
CCACHE_VERSION = version_dict[CCACHE]
|
||||
DFU_UTIL_VERSION = version_dict[DFU_UTIL]
|
||||
ESP_IDF_CONFIGDEP_VERSION = version_dict[ESP_IDF_CONFIGDEP]
|
||||
|
||||
# There are some complex search patterns to detect download snippets
|
||||
|
||||
@@ -383,7 +385,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assertIn(f'* {CLANGD}:', output)
|
||||
self.assertIn(f'- {CLANGD_VERSION} (recommended)', output)
|
||||
|
||||
required_tools_installed = 8
|
||||
required_tools_installed = 9
|
||||
output = self.run_idf_tools_with_action(['install'])
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
@@ -393,6 +395,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -406,6 +409,7 @@ class TestUsageUnix(TestUsage):
|
||||
RISCV_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -424,6 +428,11 @@ class TestUsageUnix(TestUsage):
|
||||
)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-rom-elfs/{ESP_ROM_ELFS_VERSION}/', output)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-clangd/{CLANGD_VERSION}/esp-clangd/bin', output)
|
||||
self.assertIn(
|
||||
f'{self.temp_tools_dir}/tools/{ESP_IDF_CONFIGDEP}/{ESP_IDF_CONFIGDEP_VERSION}/'
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}/bin',
|
||||
output,
|
||||
)
|
||||
|
||||
output = self.run_idf_tools_with_action(['list', '--outdated'])
|
||||
self.assertEqual('', output)
|
||||
@@ -451,7 +460,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assertIn((f'{XTENSA_ELF}: version {XTENSA_ELF_VERSION} is outdated by {new_version}'), output)
|
||||
|
||||
def test_tools_for_esp32(self):
|
||||
required_tools_installed = 6
|
||||
required_tools_installed = 7
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32'])
|
||||
self.assert_tool_installed(output, XTENSA_ELF, XTENSA_ELF_VERSION, XTENSA_ELF_ARCHIVE_PATTERN)
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
@@ -461,6 +470,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_not_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -472,6 +482,7 @@ class TestUsageUnix(TestUsage):
|
||||
XTENSA_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -490,9 +501,14 @@ class TestUsageUnix(TestUsage):
|
||||
)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-rom-elfs/{ESP_ROM_ELFS_VERSION}/', output)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-clangd/{CLANGD_VERSION}/esp-clangd/bin', output)
|
||||
self.assertIn(
|
||||
f'{self.temp_tools_dir}/tools/{ESP_IDF_CONFIGDEP}/{ESP_IDF_CONFIGDEP_VERSION}/'
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}/bin',
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32c3(self):
|
||||
required_tools_installed = 5
|
||||
required_tools_installed = 6
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32c3'])
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
@@ -502,11 +518,18 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_not_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
output = self.run_idf_tools_with_action(['check'])
|
||||
for tool_version in [OPENOCD_VERSION, RISCV_ELF_VERSION, RISCV_ESP_GDB_VERSION, ESP_ROM_ELFS_VERSION]:
|
||||
for tool_version in [
|
||||
OPENOCD_VERSION,
|
||||
RISCV_ELF_VERSION,
|
||||
RISCV_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
output = self.run_idf_tools_with_action(['export'])
|
||||
@@ -520,9 +543,14 @@ class TestUsageUnix(TestUsage):
|
||||
)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-rom-elfs/{ESP_ROM_ELFS_VERSION}/', output)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-clangd/{CLANGD_VERSION}/esp-clangd/bin', output)
|
||||
self.assertIn(
|
||||
f'{self.temp_tools_dir}/tools/{ESP_IDF_CONFIGDEP}/{ESP_IDF_CONFIGDEP_VERSION}/'
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}/bin',
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32s2(self):
|
||||
required_tools_installed = 7
|
||||
required_tools_installed = 8
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32s2'])
|
||||
self.assert_tool_installed(output, XTENSA_ELF, XTENSA_ELF_VERSION, XTENSA_ELF_ARCHIVE_PATTERN)
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
@@ -532,11 +560,18 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_not_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
output = self.run_idf_tools_with_action(['check'])
|
||||
for tool_version in [OPENOCD_VERSION, XTENSA_ELF_VERSION, XTENSA_ESP_GDB_VERSION, ESP_ROM_ELFS_VERSION]:
|
||||
for tool_version in [
|
||||
OPENOCD_VERSION,
|
||||
XTENSA_ELF_VERSION,
|
||||
XTENSA_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
output = self.run_idf_tools_with_action(['export'])
|
||||
@@ -554,9 +589,14 @@ class TestUsageUnix(TestUsage):
|
||||
)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-rom-elfs/{ESP_ROM_ELFS_VERSION}/', output)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-clangd/{CLANGD_VERSION}/esp-clangd/bin', output)
|
||||
self.assertIn(
|
||||
f'{self.temp_tools_dir}/tools/{ESP_IDF_CONFIGDEP}/{ESP_IDF_CONFIGDEP_VERSION}/'
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}/bin',
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32s3(self):
|
||||
required_tools_installed = 7
|
||||
required_tools_installed = 8
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32s3'])
|
||||
self.assert_tool_installed(output, XTENSA_ELF, XTENSA_ELF_VERSION, XTENSA_ELF_ARCHIVE_PATTERN)
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
@@ -566,6 +606,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_not_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -577,6 +618,7 @@ class TestUsageUnix(TestUsage):
|
||||
RISCV_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -595,9 +637,14 @@ class TestUsageUnix(TestUsage):
|
||||
)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-rom-elfs/{ESP_ROM_ELFS_VERSION}/', output)
|
||||
self.assertIn(f'{self.temp_tools_dir}/tools/esp-clangd/{CLANGD_VERSION}/esp-clangd/bin', output)
|
||||
self.assertIn(
|
||||
f'{self.temp_tools_dir}/tools/{ESP_IDF_CONFIGDEP}/{ESP_IDF_CONFIGDEP_VERSION}/'
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}/bin',
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32p4(self):
|
||||
required_tools_installed = 5
|
||||
required_tools_installed = 6
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32p4'])
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
@@ -607,10 +654,17 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_not_installed(output, ESP32ULP, ESP32ULP_VERSION)
|
||||
self.assert_tool_not_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
output = self.run_idf_tools_with_action(['check'])
|
||||
for tool_version in [OPENOCD_VERSION, RISCV_ELF_VERSION, ESP_ROM_ELFS_VERSION, RISCV_ESP_GDB_VERSION]:
|
||||
for tool_version in [
|
||||
OPENOCD_VERSION,
|
||||
RISCV_ELF_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
RISCV_ESP_GDB_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn(f'version installed in tools directory: {tool_version}', output)
|
||||
|
||||
output = self.run_idf_tools_with_action(['export'])
|
||||
@@ -623,6 +677,17 @@ class TestUsageUnix(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION, RISCV_ESP_GDB, 'bin'),
|
||||
output,
|
||||
)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
self.assertNotIn(
|
||||
os.path.join(self.temp_tools_dir, 'tools', ESP32ULP, ESP32ULP_VERSION, ESP32ULP, 'bin'), output
|
||||
)
|
||||
@@ -637,7 +702,7 @@ class TestUsageUnix(TestUsage):
|
||||
|
||||
# a different test for qemu because of "on_request"
|
||||
def test_tools_for_qemu_with_required(self):
|
||||
required_tools_installed = 10
|
||||
required_tools_installed = 11
|
||||
output = self.run_idf_tools_with_action(['install', 'required', 'qemu-xtensa', 'qemu-riscv32'])
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
@@ -646,6 +711,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION)
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assert_tool_installed(output, QEMU_RISCV, QEMU_RISCV_VERSION)
|
||||
self.assert_tool_installed(output, QEMU_XTENSA, QEMU_XTENSA_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
@@ -675,7 +741,8 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn(f'- {XTENSA_ELF_VERSION} (recommended)', output)
|
||||
self.assertIn(f'* {CLANGD}:', output)
|
||||
self.assertIn(f'- {CLANGD_VERSION} (recommended)', output)
|
||||
required_tools_installed = 12
|
||||
|
||||
required_tools_installed = 13
|
||||
output = self.run_idf_tools_with_action(['install'])
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
@@ -690,6 +757,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, CCACHE, CCACHE_VERSION)
|
||||
self.assert_tool_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -708,6 +776,7 @@ class TestUsageWin(TestUsage):
|
||||
CCACHE_VERSION,
|
||||
DFU_UTIL_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -749,6 +818,17 @@ class TestUsageWin(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', DFU_UTIL, DFU_UTIL_VERSION, 'dfu-util-0.11-win64'), output
|
||||
)
|
||||
self.assertIn(os.path.join(self.temp_tools_dir, 'tools', CLANGD, CLANGD_VERSION, CLANGD, 'bin'), output)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
|
||||
output = self.run_idf_tools_with_action(['list', '--outdated'])
|
||||
self.assertEqual('', output)
|
||||
@@ -791,6 +871,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, CCACHE, CCACHE_VERSION)
|
||||
self.assert_tool_not_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -806,6 +887,7 @@ class TestUsageWin(TestUsage):
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
self.assertNotIn('version installed in tools directory: ' + DFU_UTIL_VERSION, output)
|
||||
@@ -856,6 +938,17 @@ class TestUsageWin(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', DFU_UTIL, DFU_UTIL_VERSION, 'dfu-util-0.11-win64'), output
|
||||
)
|
||||
self.assertNotIn(os.path.join(self.temp_tools_dir, 'tools', CLANGD, CLANGD_VERSION, CLANGD, 'bin'), output)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32c3_win(self):
|
||||
required_tools_installed = 9
|
||||
@@ -873,6 +966,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, CCACHE, CCACHE_VERSION)
|
||||
self.assert_tool_not_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -887,6 +981,7 @@ class TestUsageWin(TestUsage):
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
self.assertNotIn('version installed in tools directory: ' + DFU_UTIL_VERSION, output)
|
||||
@@ -931,6 +1026,17 @@ class TestUsageWin(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', DFU_UTIL, DFU_UTIL_VERSION, 'dfu-util-0.11-win64'), output
|
||||
)
|
||||
self.assertNotIn(os.path.join(self.temp_tools_dir, 'tools', CLANGD, CLANGD_VERSION, CLANGD, 'bin'), output)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32s2_win(self):
|
||||
required_tools_installed = 12
|
||||
@@ -948,6 +1054,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, CCACHE, CCACHE_VERSION)
|
||||
self.assert_tool_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -963,6 +1070,7 @@ class TestUsageWin(TestUsage):
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -1012,6 +1120,17 @@ class TestUsageWin(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', DFU_UTIL, DFU_UTIL_VERSION, 'dfu-util-0.11-win64'), output
|
||||
)
|
||||
self.assertIn(os.path.join(self.temp_tools_dir, 'tools', CLANGD, CLANGD_VERSION, CLANGD, 'bin'), output)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32s3_win(self):
|
||||
required_tools_installed = 12
|
||||
@@ -1030,6 +1149,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, CCACHE, CCACHE_VERSION)
|
||||
self.assert_tool_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -1046,6 +1166,7 @@ class TestUsageWin(TestUsage):
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -1095,6 +1216,17 @@ class TestUsageWin(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', DFU_UTIL, DFU_UTIL_VERSION, 'dfu-util-0.11-win64'), output
|
||||
)
|
||||
self.assertIn(os.path.join(self.temp_tools_dir, 'tools', CLANGD, CLANGD_VERSION, CLANGD, 'bin'), output)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
|
||||
def test_tools_for_esp32p4_win(self):
|
||||
required_tools_installed = 9
|
||||
@@ -1112,6 +1244,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_not_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION)
|
||||
self.assert_tool_not_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
output = self.run_idf_tools_with_action(['check'])
|
||||
@@ -1125,6 +1258,7 @@ class TestUsageWin(TestUsage):
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
]:
|
||||
self.assertIn(f'version installed in tools directory: {tool_version}', output)
|
||||
|
||||
@@ -1144,6 +1278,17 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn(
|
||||
os.path.join(self.temp_tools_dir, 'tools', CCACHE, CCACHE_VERSION, 'ccache-4.12.1-windows-x86_64'), output
|
||||
)
|
||||
self.assertIn(
|
||||
os.path.join(
|
||||
self.temp_tools_dir,
|
||||
'tools',
|
||||
ESP_IDF_CONFIGDEP,
|
||||
ESP_IDF_CONFIGDEP_VERSION,
|
||||
f'{ESP_IDF_CONFIGDEP}-{ESP_IDF_CONFIGDEP_VERSION}',
|
||||
'bin',
|
||||
),
|
||||
output,
|
||||
)
|
||||
self.assertNotIn(
|
||||
os.path.join(self.temp_tools_dir, 'tools', XTENSA_ELF, XTENSA_ELF_VERSION, XTENSA_ELF, 'bin'), output
|
||||
)
|
||||
@@ -1178,6 +1323,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, CCACHE, CCACHE_VERSION)
|
||||
self.assert_tool_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assert_tool_installed(output, ESP_IDF_CONFIGDEP, ESP_IDF_CONFIGDEP_VERSION)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user