Configure a custom pattern to determine when debugging server is started with a new debug_server_ready_pattern option

This commit is contained in:
Ivan Kravets committed 2021-03-19 12:30:16 +02:00
1 parent a78db17784
commit b0c3e22a52
6 files changed
+23 -5

No files matched your search

+3 -1
View File
@@ -130,7 +130,9 @@ class DebugConfigBase: # pylint: disable=too-many-instance-attributes
@property
def server_ready_pattern(self):
return (self.server or {}).get("ready_pattern")
return self.env_options.get(
"debug_server_ready_pattern", (self.server or {}).get("ready_pattern")
)
def _load_build_data(self):
data = load_project_ide_data(self.project_config.path, self.env_name)
+8 -1
View File
@@ -14,6 +14,7 @@
import asyncio
import os
import re
import time
from platformio import fs
@@ -120,7 +121,13 @@ class DebugServerProcess(DebugBaseProcess):
return self._ready
ready_pattern = self.debug_config.server_ready_pattern
if ready_pattern:
self._ready = ready_pattern.encode() in data
if ready_pattern.startswith("^"):
self._ready = re.match(
ready_pattern,
data.decode("utf-8", "ignore"),
)
else:
self._ready = ready_pattern.encode() in data
return self._ready
def stdout_data_received(self, data):