42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
|
# Copyright (c) 2023 Intel Corporation
|
||
|
#
|
||
|
# SPDX-License-Identifier: Apache-2.0
|
||
|
|
||
|
import pytest
|
||
|
|
||
|
from pathlib import Path
|
||
|
|
||
|
def pytest_addoption(parser):
|
||
|
parser.addoption('--tool')
|
||
|
parser.addoption('--tool-options')
|
||
|
parser.addoption('--sys-clock-hw-cycles-per-sec', default=None)
|
||
|
|
||
|
@pytest.fixture()
|
||
|
def tool(request):
|
||
|
return request.config.getoption('--tool')
|
||
|
|
||
|
@pytest.fixture()
|
||
|
def tool_options(request):
|
||
|
return request.config.getoption('--tool-options')
|
||
|
|
||
|
@pytest.fixture()
|
||
|
def config(request):
|
||
|
build_dir = Path(request.config.getoption('--build-dir'))
|
||
|
file_name = build_dir / 'zephyr' / '.config'
|
||
|
|
||
|
cfgs = {}
|
||
|
with open(file_name) as fp:
|
||
|
for line in fp:
|
||
|
if line.startswith('CONFIG_'):
|
||
|
k, v = line.split('=', maxsplit=1)
|
||
|
cfgs[k[7:]] = v
|
||
|
|
||
|
return cfgs
|
||
|
|
||
|
@pytest.fixture()
|
||
|
def sys_clock_hw_cycles_per_sec(request, config):
|
||
|
if request.config.getoption('--sys-clock-hw-cycles-per-sec'):
|
||
|
return int(request.config.getoption('--sys-clock-hw-cycles-per-sec'))
|
||
|
|
||
|
return int(config['SYS_CLOCK_HW_CYCLES_PER_SEC'])
|