Files
rocm-systems/tests/rocprofv3/hsa-queue-dependency/conftest.py
T

70 righe
1.6 KiB
Python

2024-04-09 20:49:16 +05:30
#!/usr/bin/env python3
import csv
import pytest
2024-05-22 00:53:42 -05:00
import json
from rocprofiler_sdk.pytest_utils.dotdict import dotdict
from rocprofiler_sdk.pytest_utils import collapse_dict_list
2024-05-22 15:51:12 -05:00
from rocprofiler_sdk.pytest_utils.perfetto_reader import PerfettoReader
2024-04-09 20:49:16 +05:30
def pytest_addoption(parser):
parser.addoption(
"--hsa-trace-input",
action="store",
help="Path to HSA API tracing CSV file.",
)
parser.addoption(
"--kernel-trace-input",
action="store",
help="Path to Kernel API tracing CSV file.",
)
2024-05-22 00:53:42 -05:00
parser.addoption(
"--json-input",
action="store",
help="Path to JSON file.",
)
2024-05-22 15:51:12 -05:00
parser.addoption(
"--pftrace-input",
action="store",
help="Path to Perfetto trace file.",
)
2024-04-09 20:49:16 +05:30
@pytest.fixture
def hsa_trace_input_data(request):
filename = request.config.getoption("--hsa-trace-input")
data = []
with open(filename, "r") as inp:
reader = csv.DictReader(inp)
for row in reader:
data.append(row)
return data
@pytest.fixture
def kernel_trace_input_data(request):
filename = request.config.getoption("--kernel-trace-input")
data = []
with open(filename, "r") as inp:
reader = csv.DictReader(inp)
for row in reader:
data.append(row)
return data
2024-05-22 00:53:42 -05:00
@pytest.fixture
def json_data(request):
filename = request.config.getoption("--json-input")
with open(filename, "r") as inp:
return dotdict(collapse_dict_list(json.load(inp)))
2024-05-22 15:51:12 -05:00
@pytest.fixture
def pftrace_data(request):
filename = request.config.getoption("--pftrace-input")
return PerfettoReader(filename).read()[0]