nixos/test: colour machine names
This commit is contained in:
parent
6bdf265bb6
commit
d7875caf76
|
@ -3,6 +3,7 @@ import argparse
|
||||||
import atexit
|
import atexit
|
||||||
import base64
|
import base64
|
||||||
import io
|
import io
|
||||||
|
import itertools
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import pathlib
|
import pathlib
|
||||||
|
@ -92,10 +93,17 @@ logging.basicConfig(format="%(message)s")
|
||||||
logger = logging.getLogger("test-driver")
|
logger = logging.getLogger("test-driver")
|
||||||
logger.setLevel(logging.INFO)
|
logger.setLevel(logging.INFO)
|
||||||
|
|
||||||
|
machine_colours_iter = (
|
||||||
|
"\x1b[{}m".format(x) for x in itertools.cycle(reversed(range(31, 37)))
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class MachineLogAdapter(logging.LoggerAdapter):
|
class MachineLogAdapter(logging.LoggerAdapter):
|
||||||
def process(self, msg: str, kwargs: Any) -> Tuple[str, Any]:
|
def process(self, msg: str, kwargs: Any) -> Tuple[str, Any]:
|
||||||
return f"{self.extra['machine']}: {msg}", kwargs
|
return (
|
||||||
|
f"{self.extra['colour_code']}{self.extra['machine']}\x1b[39m: {msg}",
|
||||||
|
kwargs,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def make_command(args: list) -> str:
|
def make_command(args: list) -> str:
|
||||||
|
@ -172,7 +180,10 @@ class Machine:
|
||||||
self.socket = None
|
self.socket = None
|
||||||
self.monitor: Optional[socket.socket] = None
|
self.monitor: Optional[socket.socket] = None
|
||||||
self.allow_reboot = args.get("allowReboot", False)
|
self.allow_reboot = args.get("allowReboot", False)
|
||||||
self.logger = MachineLogAdapter(logger, extra=dict(machine=self.name))
|
self.logger = MachineLogAdapter(
|
||||||
|
logger,
|
||||||
|
extra=dict(machine=self.name, colour_code=next(machine_colours_iter)),
|
||||||
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def create_startcommand(args: Dict[str, str]) -> str:
|
def create_startcommand(args: Dict[str, str]) -> str:
|
||||||
|
|
Loading…
Reference in New Issue