west: Regex based version finding in OpenOCD runner
Previous OpenOCD version finding would fail when additional tokens were prepended to the 'openocd --version' output, as happens with some third- party OpenOCD repackages (xPack for one). Fixes: #71955 Signed-off-by: Nick Kraus <nick@nckraus.com>
This commit is contained in:
parent
662b9803fa
commit
29084dc06b
2 changed files with 10 additions and 8 deletions
|
@ -194,13 +194,14 @@ class IntelCycloneVBinaryRunner(ZephyrBinaryRunner):
|
||||||
out = self.check_output([self.openocd_cmd[0], '--version'],
|
out = self.check_output([self.openocd_cmd[0], '--version'],
|
||||||
stderr=subprocess.STDOUT).decode()
|
stderr=subprocess.STDOUT).decode()
|
||||||
|
|
||||||
return out.split('\n')[0]
|
version_match = re.search(r"Open On-Chip Debugger (\d+.\d+.\d+)", out)
|
||||||
|
version = version_match.group(1).split('.')
|
||||||
|
|
||||||
|
return [self.to_num(i) for i in version]
|
||||||
|
|
||||||
def supports_thread_info(self):
|
def supports_thread_info(self):
|
||||||
# Zephyr rtos was introduced after 0.11.0
|
# Zephyr rtos was introduced after 0.11.0
|
||||||
version_str = self.read_version().split(' ')[3]
|
(major, minor, rev) = self.read_version()
|
||||||
version = version_str.split('.')
|
|
||||||
(major, minor, rev) = [self.to_num(i) for i in version]
|
|
||||||
return (major, minor, rev) > (0, 11, 0)
|
return (major, minor, rev) > (0, 11, 0)
|
||||||
|
|
||||||
def do_run(self, command, **kwargs):
|
def do_run(self, command, **kwargs):
|
||||||
|
|
|
@ -212,13 +212,14 @@ class OpenOcdBinaryRunner(ZephyrBinaryRunner):
|
||||||
out = self.check_output([self.openocd_cmd[0], '--version'],
|
out = self.check_output([self.openocd_cmd[0], '--version'],
|
||||||
stderr=subprocess.STDOUT).decode()
|
stderr=subprocess.STDOUT).decode()
|
||||||
|
|
||||||
return out.split('\n')[0]
|
version_match = re.search(r"Open On-Chip Debugger (\d+.\d+.\d+)", out)
|
||||||
|
version = version_match.group(1).split('.')
|
||||||
|
|
||||||
|
return [self.to_num(i) for i in version]
|
||||||
|
|
||||||
def supports_thread_info(self):
|
def supports_thread_info(self):
|
||||||
# Zephyr rtos was introduced after 0.11.0
|
# Zephyr rtos was introduced after 0.11.0
|
||||||
version_str = self.read_version().split(' ')[3]
|
(major, minor, rev) = self.read_version()
|
||||||
version = version_str.split('.')
|
|
||||||
(major, minor, rev) = [self.to_num(i) for i in version]
|
|
||||||
return (major, minor, rev) > (0, 11, 0)
|
return (major, minor, rev) > (0, 11, 0)
|
||||||
|
|
||||||
def do_run(self, command, **kwargs):
|
def do_run(self, command, **kwargs):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue