mirror of
https://github.com/LTTLabsOSS/markbench-tests.git
synced 2026-01-08 05:33:52 -05:00
75 lines
2.2 KiB
Python
75 lines
2.2 KiB
Python
"""Utility functions for MSI Kombustor test script"""
|
|
from argparse import ArgumentParser, Namespace
|
|
import re
|
|
|
|
# cSpell:disable
|
|
avail_tests = [
|
|
"vkfurrytorus",
|
|
"glfurrytorus",
|
|
"vkfurrymsi",
|
|
"glfurrymsi",
|
|
"glfurmark1700mb",
|
|
"glfurmark3200mb",
|
|
"glfurmark5200mb",
|
|
"glfurmark6500mb",
|
|
"glmsi01burn",
|
|
"glmsi01",
|
|
"glmsi02cpumedium",
|
|
"glmsi02cpumedium++",
|
|
"glmsi02gpumedium",
|
|
"glmsi02gpumedium++",
|
|
"glmsi02cpuhard",
|
|
"glmsi02gpuhard",
|
|
"glphongdonut",
|
|
"vkphongdonut",
|
|
"glpbrdonut",
|
|
"vktessyspherex32",
|
|
"vktessyspherex16",
|
|
"gltessyspherex32",
|
|
"gltessyspherex16",
|
|
]
|
|
# cSpell:enable
|
|
|
|
def parse_args() -> Namespace:
|
|
"""Gets script arguments"""
|
|
parser = ArgumentParser()
|
|
parser.add_argument("-t", "--test", dest="test", choices=avail_tests,
|
|
help="kombustor test", metavar="test", required=True)
|
|
parser.add_argument("-r", "--resolution", dest="resolution",
|
|
help="resolution", metavar="resolution", required=True)
|
|
parser.add_argument("-b", "--benchmark", dest="benchmark",
|
|
help="benchmark mode", metavar="benchmark", required=False)
|
|
return parser.parse_args()
|
|
|
|
|
|
def parse_resolution(arg: str) -> tuple[str, str]:
|
|
"""Gets individual height and width values from resolution string"""
|
|
match = re.search(r"^\d+,\d+$", arg)
|
|
if match is None:
|
|
raise ValueError("Resolution value must be in format height,width")
|
|
resolution = arg.split(",")
|
|
height = resolution[0]
|
|
width = resolution[1]
|
|
|
|
return height, width
|
|
|
|
|
|
def parse_score(log_path: str):
|
|
"""Parses score value from log file"""
|
|
pattern = re.compile(r"score => (\d+)")
|
|
with open(log_path, encoding="utf-8") as log:
|
|
lines = log.readlines()
|
|
for line in reversed(lines):
|
|
match = pattern.search(line)
|
|
if match:
|
|
return match.group(1)
|
|
return "N/A"
|
|
|
|
|
|
def create_arg_string(width: str, height: str, test: str, benchmark: str) -> str:
|
|
"""Create string for Kombustor CLI arguments"""
|
|
arg_string = f"-width={width} -height={height} -{test} -logfile_in_app_folder "
|
|
if benchmark == "true":
|
|
arg_string += "-benchmark"
|
|
return arg_string
|