mavsdk_tests: highlight px4 errors & reset color on gazebo output

This commit is contained in:
Beat Küng 2023-09-04 13:47:10 +02:00
parent 216eb002eb
commit aa36686ea4
No known key found for this signature in database
GPG Key ID: 866DB5F0E24821BB
1 changed files with 18 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import shutil
import threading
import errno
from typing import Any, Dict, List, TextIO, Optional
from logger_helper import colorize, color
PX4_SITL_GAZEBO_PATH = "Tools/simulation/gazebo-classic/sitl_gazebo-classic"
@ -212,6 +213,16 @@ class Px4Runner(Runner):
except FileExistsError:
pass
def get_output_line(self) -> Optional[str]:
line = super().get_output_line()
if line is not None:
# colorize warnings and errors
if 'ERROR' in line:
line = colorize(line, color.RED)
elif 'WARN' in line:
line = colorize(line, color.YELLOW)
return line
class GzserverRunner(Runner):
def __init__(self,
@ -252,6 +263,13 @@ class GzserverRunner(Runner):
.format(timeout_s))
return False
def get_output_line(self) -> Optional[str]:
line = super().get_output_line()
# Some gazebo versions don't seem to reset the color, so always add a RESET
if line is not None:
line = line + color.RESET.value
return line
class GzmodelspawnRunner(Runner):
def __init__(self,