Revert "nixos/test-driver: use log levels"

This reverts commit 149201a7e3.
I don't get what needs to done to fix redirects in the NixOS manual,
so let's unblock by reverting for now.
This commit is contained in:
Vladimír Čunát
2026-04-14 10:30:14 +02:00
parent fddb3fa95a
commit 1d16486166
3 changed files with 6 additions and 64 deletions
@@ -12,7 +12,6 @@ from test_driver.driver import Driver
from test_driver.logger import (
CompositeLogger,
JunitXMLLogger,
LogLevel,
TerminalLogger,
XMLLogger,
)
@@ -152,15 +151,6 @@ def main() -> None:
help="indicates that the interactive SSH backdoor is active and dumps information about it on start",
type=int,
)
log_level_map = {level.name.lower(): level for level in LogLevel}
arg_parser.add_argument(
"--log-level",
metavar="LOG_LEVEL",
action=EnvDefault,
envvar="logLevel",
choices=log_level_map,
help="Set the log level",
)
args = arg_parser.parse_args()
@@ -179,9 +169,6 @@ def main() -> None:
if args.junit_xml:
logger.add_logger(JunitXMLLogger(output_directory / args.junit_xml))
if args.log_level:
logger.set_log_level(log_level_map[args.log_level])
if not args.keep_machine_state:
logger.info(
"Machine state will be reset. To keep it, pass --keep-machine-state"
@@ -7,7 +7,6 @@ import unicodedata
from abc import ABC, abstractmethod
from collections.abc import Iterator
from contextlib import ExitStack, contextmanager
from enum import IntEnum
from pathlib import Path
from queue import Empty, Queue
from typing import Any
@@ -18,12 +17,6 @@ from colorama import Fore, Style
from junit_xml import TestCase, TestSuite
class LogLevel(IntEnum):
INFO = 1
WARNING = 2
ERROR = 3
class AbstractLogger(ABC):
@abstractmethod
def log(self, message: str, attributes: dict[str, str] = {}) -> None:
@@ -63,10 +56,6 @@ class AbstractLogger(ABC):
def print_serial_logs(self, enable: bool) -> None:
pass
@abstractmethod
def set_log_level(self, level: LogLevel) -> None:
pass
class JunitXMLLogger(AbstractLogger):
class TestCaseState:
@@ -82,7 +71,6 @@ class JunitXMLLogger(AbstractLogger):
self.currentSubtest = "main"
self.outfile: Path = outfile
self._print_serial_logs = True
self._log_level = LogLevel.INFO
atexit.register(self.close)
def log(self, message: str, attributes: dict[str, str] = {}) -> None:
@@ -104,12 +92,10 @@ class JunitXMLLogger(AbstractLogger):
yield
def info(self, *args, **kwargs) -> None: # type: ignore
if self._log_level <= LogLevel.INFO:
self.tests[self.currentSubtest].stdout += args[0] + os.linesep
self.tests[self.currentSubtest].stdout += args[0] + os.linesep
def warning(self, *args, **kwargs) -> None: # type: ignore
if self._log_level <= LogLevel.WARNING:
self.tests[self.currentSubtest].stdout += args[0] + os.linesep
self.tests[self.currentSubtest].stdout += args[0] + os.linesep
def error(self, *args, **kwargs) -> None: # type: ignore
self.tests[self.currentSubtest].stderr += args[0] + os.linesep
@@ -127,9 +113,6 @@ class JunitXMLLogger(AbstractLogger):
def print_serial_logs(self, enable: bool) -> None:
self._print_serial_logs = enable
def set_log_level(self, level: LogLevel) -> None:
self._log_level = level
def close(self) -> None:
with open(self.outfile, "w") as f:
test_cases = []
@@ -197,15 +180,10 @@ class CompositeLogger(AbstractLogger):
for logger in self.logger_list:
logger.log_serial(message, machine)
def set_log_level(self, level: LogLevel) -> None:
for logger in self.logger_list:
logger.set_log_level(level)
class TerminalLogger(AbstractLogger):
def __init__(self) -> None:
self._print_serial_logs = True
self._log_level = LogLevel.INFO
def maybe_prefix(self, message: str, attributes: dict[str, str]) -> str:
if "machine" in attributes:
@@ -238,12 +216,10 @@ class TerminalLogger(AbstractLogger):
self.log(f"(finished: {message}, in {toc - tic:.2f} seconds)", attributes)
def info(self, *args, **kwargs) -> None: # type: ignore
if self._log_level <= LogLevel.INFO:
self.log(*args, **kwargs)
self.log(*args, **kwargs)
def warning(self, *args, **kwargs) -> None: # type: ignore
if self._log_level <= LogLevel.WARNING:
self.log(*args, **kwargs)
self.log(*args, **kwargs)
def error(self, *args, **kwargs) -> None: # type: ignore
self.log(*args, **kwargs)
@@ -251,9 +227,6 @@ class TerminalLogger(AbstractLogger):
def print_serial_logs(self, enable: bool) -> None:
self._print_serial_logs = enable
def set_log_level(self, level: LogLevel) -> None:
self._log_level = level
def log_serial(self, message: str, machine: str) -> None:
if not self._print_serial_logs:
return
@@ -273,7 +246,6 @@ class XMLLogger(AbstractLogger):
self.queue: Queue[dict[str, str]] = Queue()
self._print_serial_logs = True
self._log_level = LogLevel.INFO
self.xml.startDocument()
self.xml.startElement("logfile", attrs=AttributesImpl({}))
@@ -297,12 +269,10 @@ class XMLLogger(AbstractLogger):
self.xml.endElement("line")
def info(self, *args, **kwargs) -> None: # type: ignore
if self._log_level <= LogLevel.INFO:
self.log(*args, **kwargs)
self.log(*args, **kwargs)
def warning(self, *args, **kwargs) -> None: # type: ignore
if self._log_level <= LogLevel.WARNING:
self.log(*args, **kwargs)
self.log(*args, **kwargs)
def error(self, *args, **kwargs) -> None: # type: ignore
self.log(*args, **kwargs)
@@ -317,9 +287,6 @@ class XMLLogger(AbstractLogger):
def print_serial_logs(self, enable: bool) -> None:
self._print_serial_logs = enable
def set_log_level(self, level: LogLevel) -> None:
self._log_level = level
def log_serial(self, message: str, machine: str) -> None:
if not self._print_serial_logs:
return
-12
View File
@@ -119,7 +119,6 @@ let
--set testScript "$out/test-script" \
--set globalTimeout "${toString config.globalTimeout}" \
--set vlans '${toString vlans}' \
--set logLevel "${config.logLevel}" \
${lib.escapeShellArgs (
lib.concatMap (arg: [
"--add-flags"
@@ -220,17 +219,6 @@ in
This may speed up your iteration cycle, unless you're working on the [{option}`testScript`](#test-opt-testScript).
'';
};
logLevel = mkOption {
description = "Log level for the test driver.";
type = types.enum [
"info"
"warning"
"error"
];
default = "info";
example = "warning";
};
};
config = {