fix iteration range and add tests (#993)

* fix iteration range and add tests

* addressing review comments on tests
Dieser Commit ist enthalten in:
SrirakshaNag
2024-07-30 22:40:44 -05:00
committet von GitHub
Ursprung 16d535ef48
Commit 4d7b8ece80
7 geänderte Dateien mit 242 neuen und 12 gelöschten Zeilen
+7 -12
Datei anzeigen
@@ -161,14 +161,14 @@ get_kernel_filter_range(const std::string& kernel_filter)
{
if(kernel_filter.empty()) return {};
auto delim = rocprofiler::sdk::parse::tokenize(kernel_filter, ",");
auto delim = rocprofiler::sdk::parse::tokenize(kernel_filter, "[], ");
auto range_set = std::unordered_set<uint32_t>{};
for(const auto& itr : delim)
{
if(itr.find('-') != std::string::npos && itr.find('[') != std::string::npos &&
itr.find(']') != std::string::npos)
if(itr.find('-') != std::string::npos)
{
auto drange = rocprofiler::sdk::parse::tokenize(itr, "[-] ");
auto drange = rocprofiler::sdk::parse::tokenize(itr, "- ");
ROCP_FATAL_IF(drange.size() != 2)
<< "bad range format for '" << itr << "'. Expected [A-B] where A and B are numbers";
@@ -179,14 +179,9 @@ get_kernel_filter_range(const std::string& kernel_filter)
}
else
{
auto dval = rocprofiler::sdk::parse::tokenize(itr, " ");
ROCP_ERROR_IF(dval.empty()) << "kernel range value '" << itr << "' produced no numbers";
for(const auto& ditr : dval)
{
ROCP_FATAL_IF(ditr.find_first_not_of("0123456789") != std::string::npos)
<< "expected integer for " << itr << ". Non-integer value detected";
range_set.emplace(std::stoul(ditr));
}
ROCP_FATAL_IF(itr.find_first_not_of("0123456789") != std::string::npos)
<< "expected integer for " << itr << ". Non-integer value detected";
range_set.emplace(std::stoul(itr));
}
}
return range_set;