From dc0048661a6fbfffa2bf832b3ff38cf3eee32dbf Mon Sep 17 00:00:00 2001 From: Zbigniew Zdanowicz Date: Wed, 8 Jan 2025 11:36:52 +0000 Subject: [PATCH] test: improve level zero black box tests - extend test mask getter to full unsigned 32 bit integer - add getter for unsigned integer parameter - add parsing hexadecimal parameter strings Signed-off-by: Zbigniew Zdanowicz --- .../black_box_tests/common/zello_common.cpp | 25 ++++++++++++++++++- .../black_box_tests/common/zello_common.h | 3 ++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/level_zero/core/test/black_box_tests/common/zello_common.cpp b/level_zero/core/test/black_box_tests/common/zello_common.cpp index 66896cdfc6..5a73285c7f 100644 --- a/level_zero/core/test/black_box_tests/common/zello_common.cpp +++ b/level_zero/core/test/black_box_tests/common/zello_common.cpp @@ -8,6 +8,7 @@ #include "zello_common.h" #include +#include #include #include #include @@ -79,6 +80,28 @@ int getParamValue(int argc, char *argv[], const char *shortName, const char *lon return defaultValue; } +uint32_t getParamValue(int argc, char *argv[], const char *shortName, const char *longName, uint32_t defaultValue) { + char **arg = &argv[1]; + char **argE = &argv[argc]; + char *end = nullptr; + int base = 10; + + for (; arg != argE; ++arg) { + if ((0 == strcmp(*arg, shortName)) || (0 == strcmp(*arg, longName))) { + arg++; + if (arg == argE) { + break; + } + if (strlen(*arg) > 2 && *arg[0] == '0' && *arg[1] == 'x') { + base = 16; + } + return static_cast(strtoul(*arg, &end, base)); + } + } + + return defaultValue; +} + const char *getParamValue(int argc, char *argv[], const char *shortName, const char *longName, const char *defaultString) { char **arg = &argv[1]; char **argE = &argv[argc]; @@ -673,7 +696,7 @@ ze_result_t CommandHandler::destroy() { } TestBitMask getTestMask(int argc, char *argv[], uint32_t defaultValue) { - uint32_t value = static_cast(getParamValue(argc, argv, "-m", "-mask", static_cast(defaultValue))); + uint32_t value = getParamValue(argc, argv, "-m", "-mask", defaultValue); std::cout << "Test mask "; if (value != defaultValue) { std::cout << "override "; diff --git a/level_zero/core/test/black_box_tests/common/zello_common.h b/level_zero/core/test/black_box_tests/common/zello_common.h index efe311d31f..d5cb130b85 100644 --- a/level_zero/core/test/black_box_tests/common/zello_common.h +++ b/level_zero/core/test/black_box_tests/common/zello_common.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2020-2024 Intel Corporation + * Copyright (C) 2020-2025 Intel Corporation * * SPDX-License-Identifier: MIT * @@ -59,6 +59,7 @@ inline void validate(ResulT result, const char *message) { bool isParamEnabled(int argc, char *argv[], const char *shortName, const char *longName); int getParamValue(int argc, char *argv[], const char *shortName, const char *longName, int defaultValue); +uint32_t getParamValue(int argc, char *argv[], const char *shortName, const char *longName, uint32_t defaultValue); const char *getParamValue(int argc, char *argv[], const char *shortName, const char *longName, const char *defaultString);