Browse Source
Moved helper methods from tests/boot/with_mcumgr to pytest-harness package. It can be reused by other tests. Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>pull/76670/head
4 changed files with 44 additions and 34 deletions
@ -0,0 +1,37 @@ |
|||||||
|
# Copyright (c) 2024 Nordic Semiconductor ASA |
||||||
|
# |
||||||
|
# SPDX-License-Identifier: Apache-2.0 |
||||||
|
from __future__ import annotations |
||||||
|
|
||||||
|
import logging |
||||||
|
import re |
||||||
|
|
||||||
|
from pathlib import Path |
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__) |
||||||
|
|
||||||
|
|
||||||
|
def find_in_config(config_file: Path | str, config_key: str) -> str: |
||||||
|
"""Find key in config file""" |
||||||
|
re_key = re.compile(rf'{config_key}=(.+)') |
||||||
|
with open(config_file) as f: |
||||||
|
lines = f.readlines() |
||||||
|
for line in lines: |
||||||
|
if m := re_key.match(line): |
||||||
|
logger.debug('Found matching key: %s' % line.strip()) |
||||||
|
return m.group(1).strip('"\'') |
||||||
|
logger.debug('Not found key: %s' % config_key) |
||||||
|
return '' |
||||||
|
|
||||||
|
|
||||||
|
def match_lines(output_lines: list[str], searched_lines: list[str]) -> None: |
||||||
|
"""Check all lines exist in the output""" |
||||||
|
for sl in searched_lines: |
||||||
|
assert any(sl in line for line in output_lines) |
||||||
|
|
||||||
|
|
||||||
|
def match_no_lines(output_lines: list[str], searched_lines: list[str]) -> None: |
||||||
|
"""Check lines not found in the output""" |
||||||
|
for sl in searched_lines: |
||||||
|
assert all(sl not in line for line in output_lines) |
Loading…
Reference in new issue