mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
feat(tools): add esp-clangd tool (version esp-21.1.3_20260304)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2019-2025 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-FileCopyrightText: 2019-2026 Espressif Systems (Shanghai) CO LTD
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
import json
|
||||
import os
|
||||
@@ -57,6 +57,8 @@ RISCV_ESP_GDB = 'riscv32-esp-elf-gdb'
|
||||
ESP_ROM_ELFS = 'esp-rom-elfs'
|
||||
QEMU_RISCV = 'qemu-riscv32'
|
||||
QEMU_XTENSA = 'qemu-xtensa'
|
||||
CLANGD = 'esp-clangd'
|
||||
CLANGD_ARCHIVE = 'clangd'
|
||||
# Win tools
|
||||
CMAKE = 'cmake'
|
||||
NINJA = 'ninja'
|
||||
@@ -89,6 +91,7 @@ RISCV_ESP_GDB_VERSION = version_dict[RISCV_ESP_GDB]
|
||||
ESP_ROM_ELFS_VERSION = version_dict[ESP_ROM_ELFS]
|
||||
QEMU_RISCV_VERSION = version_dict[QEMU_RISCV]
|
||||
QEMU_XTENSA_VERSION = version_dict[QEMU_XTENSA]
|
||||
CLANGD_VERSION = version_dict[CLANGD]
|
||||
# Win tools
|
||||
CMAKE_VERSION = version_dict[CMAKE]
|
||||
NINJA_VERSION = version_dict[NINJA]
|
||||
@@ -377,8 +380,10 @@ class TestUsageUnix(TestUsage):
|
||||
self.assertIn(f'- {RISCV_ELF_VERSION} (recommended)', output)
|
||||
self.assertIn(f'* {XTENSA_ELF}:', output)
|
||||
self.assertIn(f'- {XTENSA_ELF_VERSION} (recommended)', output)
|
||||
self.assertIn(f'* {CLANGD}:', output)
|
||||
self.assertIn(f'- {CLANGD_VERSION} (recommended)', output)
|
||||
|
||||
required_tools_installed = 7
|
||||
required_tools_installed = 8
|
||||
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)
|
||||
@@ -387,6 +392,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, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -399,6 +405,7 @@ class TestUsageUnix(TestUsage):
|
||||
XTENSA_ESP_GDB_VERSION,
|
||||
RISCV_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -416,6 +423,7 @@ class TestUsageUnix(TestUsage):
|
||||
output,
|
||||
)
|
||||
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)
|
||||
|
||||
output = self.run_idf_tools_with_action(['list', '--outdated'])
|
||||
self.assertEqual('', output)
|
||||
@@ -443,7 +451,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 = 5
|
||||
required_tools_installed = 6
|
||||
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)
|
||||
@@ -452,6 +460,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_not_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -462,6 +471,7 @@ class TestUsageUnix(TestUsage):
|
||||
XTENSA_ELF_VERSION,
|
||||
XTENSA_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -479,9 +489,10 @@ class TestUsageUnix(TestUsage):
|
||||
output,
|
||||
)
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32c3(self):
|
||||
required_tools_installed = 4
|
||||
required_tools_installed = 5
|
||||
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)
|
||||
@@ -490,6 +501,7 @@ 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, ESP_ROM_ELFS, ESP_ROM_ELFS_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -507,9 +519,10 @@ class TestUsageUnix(TestUsage):
|
||||
output,
|
||||
)
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32s2(self):
|
||||
required_tools_installed = 6
|
||||
required_tools_installed = 7
|
||||
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)
|
||||
@@ -518,6 +531,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -539,9 +553,10 @@ class TestUsageUnix(TestUsage):
|
||||
output,
|
||||
)
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32s3(self):
|
||||
required_tools_installed = 6
|
||||
required_tools_installed = 7
|
||||
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)
|
||||
@@ -550,6 +565,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -560,6 +576,7 @@ class TestUsageUnix(TestUsage):
|
||||
XTENSA_ESP_GDB_VERSION,
|
||||
RISCV_ESP_GDB_VERSION,
|
||||
ESP_ROM_ELFS_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -577,9 +594,10 @@ class TestUsageUnix(TestUsage):
|
||||
output,
|
||||
)
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32p4(self):
|
||||
required_tools_installed = 4
|
||||
required_tools_installed = 5
|
||||
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)
|
||||
@@ -588,6 +606,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_not_installed(output, XTENSA_ELF, XTENSA_ELF_VERSION, XTENSA_ELF_ARCHIVE_PATTERN)
|
||||
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.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
output = self.run_idf_tools_with_action(['check'])
|
||||
@@ -614,10 +633,11 @@ class TestUsageUnix(TestUsage):
|
||||
os.path.join(self.temp_tools_dir, 'tools', XTENSA_ESP_GDB, XTENSA_ESP_GDB_VERSION, XTENSA_ESP_GDB, 'bin'),
|
||||
output,
|
||||
)
|
||||
self.assertIn(os.path.join(self.temp_tools_dir, 'tools', CLANGD, CLANGD_VERSION, CLANGD, 'bin'), output)
|
||||
|
||||
# a different test for qemu because of "on_request"
|
||||
def test_tools_for_qemu_with_required(self):
|
||||
required_tools_installed = 9
|
||||
required_tools_installed = 10
|
||||
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)
|
||||
@@ -628,6 +648,7 @@ class TestUsageUnix(TestUsage):
|
||||
self.assert_tool_installed(output, ESP_ROM_ELFS, ESP_ROM_ELFS_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)
|
||||
self.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -652,7 +673,8 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn(f'- {RISCV_ELF_VERSION} (recommended)', output)
|
||||
self.assertIn(f'* {XTENSA_ELF}:', output)
|
||||
self.assertIn(f'- {XTENSA_ELF_VERSION} (recommended)', output)
|
||||
|
||||
self.assertIn(f'* {CLANGD}:', output)
|
||||
self.assertIn(f'- {CLANGD_VERSION} (recommended)', output)
|
||||
required_tools_installed = 12
|
||||
output = self.run_idf_tools_with_action(['install'])
|
||||
self.assert_tool_installed(output, OPENOCD, OPENOCD_VERSION)
|
||||
@@ -667,6 +689,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, IDF_EXE, IDF_EXE_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -684,6 +707,7 @@ class TestUsageWin(TestUsage):
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
DFU_UTIL_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -724,6 +748,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn(
|
||||
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)
|
||||
|
||||
output = self.run_idf_tools_with_action(['list', '--outdated'])
|
||||
self.assertEqual('', output)
|
||||
@@ -751,7 +776,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn((f'{XTENSA_ELF}: version {XTENSA_ELF_VERSION} is outdated by {new_version}'), output)
|
||||
|
||||
def test_tools_for_esp32_win(self):
|
||||
required_tools_installed = 9
|
||||
required_tools_installed = 10
|
||||
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)
|
||||
@@ -765,6 +790,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, IDF_EXE, IDF_EXE_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -779,6 +805,7 @@ class TestUsageWin(TestUsage):
|
||||
NINJA_VERSION,
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
self.assertNotIn('version installed in tools directory: ' + DFU_UTIL_VERSION, output)
|
||||
@@ -828,9 +855,10 @@ class TestUsageWin(TestUsage):
|
||||
self.assertNotIn(
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32c3_win(self):
|
||||
required_tools_installed = 8
|
||||
required_tools_installed = 9
|
||||
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)
|
||||
@@ -844,6 +872,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, IDF_EXE, IDF_EXE_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -857,6 +886,7 @@ class TestUsageWin(TestUsage):
|
||||
NINJA_VERSION,
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
self.assertNotIn('version installed in tools directory: ' + DFU_UTIL_VERSION, output)
|
||||
@@ -900,9 +930,10 @@ class TestUsageWin(TestUsage):
|
||||
self.assertNotIn(
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32s2_win(self):
|
||||
required_tools_installed = 11
|
||||
required_tools_installed = 12
|
||||
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)
|
||||
@@ -916,6 +947,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, IDF_EXE, IDF_EXE_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -930,6 +962,7 @@ class TestUsageWin(TestUsage):
|
||||
NINJA_VERSION,
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -978,9 +1011,10 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn(
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32s3_win(self):
|
||||
required_tools_installed = 11
|
||||
required_tools_installed = 12
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32s3'])
|
||||
print(output)
|
||||
self.assert_tool_installed(output, XTENSA_ELF, XTENSA_ELF_VERSION, XTENSA_ELF_ARCHIVE_PATTERN)
|
||||
@@ -995,6 +1029,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, IDF_EXE, IDF_EXE_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
@@ -1010,6 +1045,7 @@ class TestUsageWin(TestUsage):
|
||||
NINJA_VERSION,
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn('version installed in tools directory: ' + tool_version, output)
|
||||
|
||||
@@ -1058,9 +1094,10 @@ class TestUsageWin(TestUsage):
|
||||
self.assertIn(
|
||||
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)
|
||||
|
||||
def test_tools_for_esp32p4_win(self):
|
||||
required_tools_installed = 8
|
||||
required_tools_installed = 9
|
||||
output = self.run_idf_tools_with_action(['install', '--targets=esp32p4'])
|
||||
self.assert_tool_installed(output, RISCV_ELF, RISCV_ELF_VERSION, RISCV_ELF_ARCHIVE_PATTERN)
|
||||
self.assert_tool_installed(output, RISCV_ESP_GDB, RISCV_ESP_GDB_VERSION)
|
||||
@@ -1074,6 +1111,7 @@ class TestUsageWin(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_not_installed(output, DFU_UTIL, DFU_UTIL_VERSION)
|
||||
self.assert_tool_installed(output, CLANGD, CLANGD_VERSION, CLANGD_ARCHIVE)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
output = self.run_idf_tools_with_action(['check'])
|
||||
@@ -1086,6 +1124,7 @@ class TestUsageWin(TestUsage):
|
||||
NINJA_VERSION,
|
||||
IDF_EXE_VERSION,
|
||||
CCACHE_VERSION,
|
||||
CLANGD_VERSION,
|
||||
]:
|
||||
self.assertIn(f'version installed in tools directory: {tool_version}', output)
|
||||
|
||||
@@ -1118,10 +1157,11 @@ class TestUsageWin(TestUsage):
|
||||
self.assertNotIn(
|
||||
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)
|
||||
|
||||
# a different test for qemu because of "on_request"
|
||||
def test_tools_for_qemu_with_required_win(self):
|
||||
required_tools_installed = 14
|
||||
required_tools_installed = 15
|
||||
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)
|
||||
@@ -1137,6 +1177,7 @@ class TestUsageWin(TestUsage):
|
||||
self.assert_tool_installed(output, IDF_EXE, IDF_EXE_VERSION)
|
||||
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.assertIn('Destination: {}'.format(os.path.join(self.temp_tools_dir, 'dist')), output)
|
||||
self.assertEqual(required_tools_installed, output.count('Done'))
|
||||
|
||||
|
||||
@@ -1080,6 +1080,76 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Clangd for all Espressif chips",
|
||||
"export_paths": [
|
||||
[
|
||||
"esp-clangd",
|
||||
"bin"
|
||||
]
|
||||
],
|
||||
"export_vars": {},
|
||||
"info_url": "https://github.com/espressif/llvm-project",
|
||||
"install": "always",
|
||||
"license": "Apache-2.0",
|
||||
"name": "esp-clangd",
|
||||
"supported_targets": [
|
||||
"esp32",
|
||||
"esp32s2",
|
||||
"esp32s3",
|
||||
"esp32c3",
|
||||
"esp32c2",
|
||||
"esp32c6",
|
||||
"esp32c5",
|
||||
"esp32h2",
|
||||
"esp32p4",
|
||||
"esp32c61",
|
||||
"esp32h21",
|
||||
"esp32h4",
|
||||
"esp32s31"
|
||||
],
|
||||
"version_cmd": [
|
||||
"clangd",
|
||||
"--version"
|
||||
],
|
||||
"version_regex": "\\([^\\s]+\\s+([0-9a-zA-Z\\.\\-_]+)\\)",
|
||||
"versions": [
|
||||
{
|
||||
"linux-amd64": {
|
||||
"sha256": "f0573d773f24e78ab798b25d877ffd3d8caeab3dfafeb48a4f99315cd473dd08",
|
||||
"size": 17078156,
|
||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-21.1.3_20260304/clangd-esp-21.1.3_20260304-x86_64-linux-gnu.tar.xz"
|
||||
},
|
||||
"linux-arm64": {
|
||||
"sha256": "b443919f06882d8035f4c2b28fb72826e9b08b89d46abbb7b55f5a1432804d02",
|
||||
"size": 14706352,
|
||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-21.1.3_20260304/clangd-esp-21.1.3_20260304-aarch64-linux-gnu.tar.xz"
|
||||
},
|
||||
"linux-armhf": {
|
||||
"sha256": "9700a9652341e38982e677a688a2d075956613b98a8535fa7e4c22db0685291e",
|
||||
"size": 15363732,
|
||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-21.1.3_20260304/clangd-esp-21.1.3_20260304-arm-linux-gnueabihf.tar.xz"
|
||||
},
|
||||
"macos": {
|
||||
"sha256": "89a1bf9cc570cab7e2632535badb9035126f440c1c64795bb19a74bdf76551d3",
|
||||
"size": 12660720,
|
||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-21.1.3_20260304/clangd-esp-21.1.3_20260304-x86_64-apple-darwin.tar.xz"
|
||||
},
|
||||
"macos-arm64": {
|
||||
"sha256": "53e3ea1abffc7127646b694b4683f6a4dd1a5d89ccfc354d4b136b78ac722ba5",
|
||||
"size": 10996336,
|
||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-21.1.3_20260304/clangd-esp-21.1.3_20260304-aarch64-apple-darwin.tar.xz"
|
||||
},
|
||||
"name": "esp-21.1.3_20260304",
|
||||
"status": "recommended",
|
||||
"win64": {
|
||||
"sha256": "492f75478eaf2fbb7c5f970518a244fe3ef68a03cea24755634c7af892f41b85",
|
||||
"size": 14081448,
|
||||
"url": "https://github.com/espressif/llvm-project/releases/download/esp-21.1.3_20260304/clangd-esp-21.1.3_20260304-x86_64-w64-mingw32.tar.xz"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"version": 3
|
||||
|
||||
Reference in New Issue
Block a user