d4a51e4102
* Adding att v3 support * misc fix * bug fix * Python linting workflow and rules * fix regex * Adding temporary args * fix temporary args * fix format * remove att_perfcounters from test input * Review comments (#163) Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com> * Revert "Review comments (#163)" This reverts commit 9ef0f8e5a4489d5581255e1b70ced2aef5c1c1d0. * Address review comments 2 * review changes * review comments * review * cmake alias * review * review * review * review * Enabling percounter in v3 script * review * formatting * formatting --------- Co-authored-by: Jonathan R. Madsen <jonathanrmadsen@gmail.com> Co-authored-by: Baraldi, Giovanni <Giovanni.Baraldi@amd.com> Co-authored-by: Giovanni Baraldi <gbaraldi@amd.com>
60 lines
1.5 KiB
Python
60 lines
1.5 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import csv
|
|
import pytest
|
|
import json
|
|
|
|
from rocprofiler_sdk.pytest_utils.dotdict import dotdict
|
|
from rocprofiler_sdk.pytest_utils import collapse_dict_list
|
|
from rocprofiler_sdk.pytest_utils.perfetto_reader import PerfettoReader
|
|
|
|
import re
|
|
import os
|
|
|
|
|
|
def pytest_addoption(parser):
|
|
|
|
parser.addoption(
|
|
"--input",
|
|
action="store",
|
|
help="Path to JSON file.",
|
|
)
|
|
parser.addoption(
|
|
"--code-object-input",
|
|
action="store",
|
|
help="Path to code object file.",
|
|
)
|
|
parser.addoption(
|
|
"--output-path",
|
|
action="store",
|
|
help="Output Path.",
|
|
)
|
|
|
|
|
|
@pytest.fixture
|
|
def json_data(request):
|
|
filename = request.config.getoption("--input")
|
|
with open(filename, "r") as inp:
|
|
return dotdict(collapse_dict_list(json.load(inp)))
|
|
|
|
|
|
@pytest.fixture
|
|
def output_path(request):
|
|
return request.config.getoption("--output-path")
|
|
|
|
|
|
@pytest.fixture
|
|
def code_object_file_path(request):
|
|
file_path = request.config.getoption("--code-object-input")
|
|
# hsa_file_load = re.compile(".*copy.hsaco$")
|
|
code_object_files = {}
|
|
code_object_memory = []
|
|
hsa_memory_load_pattern = "gfx[a-z0-9]+_copy_memory.hsaco"
|
|
for root, dirs, files in os.walk(file_path, topdown=True):
|
|
for file in files:
|
|
filename = os.path.join(root, file)
|
|
if re.search(hsa_memory_load_pattern, filename):
|
|
code_object_memory.append(filename)
|
|
code_object_files["hsa_memory_load"] = code_object_memory
|
|
return code_object_files
|