mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
nixos/test-driver: rm global logger
We remove the global rootlog in favor of instantiating the logger as required in the __init__.py and pass it down as a parameter (of our AbstractLogger type).
This commit is contained in:
parent
303618c7e1
commit
d07866cddc
6 changed files with 64 additions and 44 deletions
|
@ -6,7 +6,12 @@ from pathlib import Path
|
|||
import ptpython.repl
|
||||
|
||||
from test_driver.driver import Driver
|
||||
from test_driver.logger import JunitXMLLogger, XMLLogger, rootlog
|
||||
from test_driver.logger import (
|
||||
CompositeLogger,
|
||||
JunitXMLLogger,
|
||||
TerminalLogger,
|
||||
XMLLogger,
|
||||
)
|
||||
|
||||
|
||||
class EnvDefault(argparse.Action):
|
||||
|
@ -108,21 +113,23 @@ def main() -> None:
|
|||
args = arg_parser.parse_args()
|
||||
|
||||
output_directory = args.output_directory.resolve()
|
||||
logger = CompositeLogger([TerminalLogger()])
|
||||
|
||||
if "LOGFILE" in os.environ.keys():
|
||||
rootlog.add_logger(XMLLogger(os.environ["LOGFILE"]))
|
||||
logger.add_logger(XMLLogger(os.environ["LOGFILE"]))
|
||||
|
||||
if args.junit_xml:
|
||||
rootlog.add_logger(JunitXMLLogger(output_directory / args.junit_xml))
|
||||
logger.add_logger(JunitXMLLogger(output_directory / args.junit_xml))
|
||||
|
||||
if not args.keep_vm_state:
|
||||
rootlog.info("Machine state will be reset. To keep it, pass --keep-vm-state")
|
||||
logger.info("Machine state will be reset. To keep it, pass --keep-vm-state")
|
||||
|
||||
with Driver(
|
||||
args.start_scripts,
|
||||
args.vlans,
|
||||
args.testscript.read_text(),
|
||||
output_directory,
|
||||
logger,
|
||||
args.keep_vm_state,
|
||||
args.global_timeout,
|
||||
) as driver:
|
||||
|
@ -138,7 +145,7 @@ def main() -> None:
|
|||
tic = time.time()
|
||||
driver.run_tests()
|
||||
toc = time.time()
|
||||
rootlog.info(f"test script finished in {(toc-tic):.2f}s")
|
||||
logger.info(f"test script finished in {(toc-tic):.2f}s")
|
||||
|
||||
|
||||
def generate_driver_symbols() -> None:
|
||||
|
@ -147,7 +154,7 @@ def generate_driver_symbols() -> None:
|
|||
in user's test scripts. That list is then used by pyflakes to lint those
|
||||
scripts.
|
||||
"""
|
||||
d = Driver([], [], "", Path())
|
||||
d = Driver([], [], "", Path(), CompositeLogger([]))
|
||||
test_symbols = d.test_symbols()
|
||||
with open("driver-symbols", "w") as fp:
|
||||
fp.write(",".join(test_symbols.keys()))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue