From 5280071b336d53aff94ca3a6c70ebbe6bf03f4c3 Mon Sep 17 00:00:00 2001 From: Moritz Pflanzer Date: Wed, 30 Aug 2017 16:27:14 +0100 Subject: COMPMID-415: Accept uppercase commandline values Change-Id: I25ae8b3ca427719aff334799ecab50a1e21fdd56 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/85816 Tested-by: Kaizen Reviewed-by: Anthony Barbier --- framework/DatasetModes.cpp | 4 +++- framework/Exceptions.cpp | 4 +++- framework/Utils.h | 15 +++++++++++++++ framework/instruments/Instruments.cpp | 4 +++- framework/printers/Printers.cpp | 4 +++- 5 files changed, 27 insertions(+), 4 deletions(-) (limited to 'framework') diff --git a/framework/DatasetModes.cpp b/framework/DatasetModes.cpp index 0a9e92a38b..3f747df747 100644 --- a/framework/DatasetModes.cpp +++ b/framework/DatasetModes.cpp @@ -23,6 +23,8 @@ */ #include "DatasetModes.h" +#include "Utils.h" + #include namespace arm_compute @@ -42,7 +44,7 @@ DatasetMode dataset_mode_from_name(const std::string &name) try { - return modes.at(name); + return modes.at(tolower(name)); } catch(const std::out_of_range &) { diff --git a/framework/Exceptions.cpp b/framework/Exceptions.cpp index 46b1eac974..3d6c65c181 100644 --- a/framework/Exceptions.cpp +++ b/framework/Exceptions.cpp @@ -23,6 +23,8 @@ */ #include "Exceptions.h" +#include "Utils.h" + #include #include @@ -47,7 +49,7 @@ LogLevel log_level_from_name(const std::string &name) try { - return levels.at(name); + return levels.at(tolower(name)); } catch(const std::out_of_range &) { diff --git a/framework/Utils.h b/framework/Utils.h index e9298618e8..a9fe0dcaa3 100644 --- a/framework/Utils.h +++ b/framework/Utils.h @@ -137,6 +137,21 @@ std::string join(T && first, T && last, const std::string &separator) { return join(std::forward(first), std::forward(last), separator, support::cpp11::to_string); } + +/** Convert string to lower case. + * + * @param[in] string To be converted string. + * + * @return Lower case string. + */ +inline std::string tolower(std::string string) +{ + std::transform(string.begin(), string.end(), string.begin(), [](unsigned char c) + { + return std::tolower(c); + }); + return string; +} } // namespace framework } // namespace test } // namespace arm_compute diff --git a/framework/instruments/Instruments.cpp b/framework/instruments/Instruments.cpp index 7a26944d26..12ad86c70a 100644 --- a/framework/instruments/Instruments.cpp +++ b/framework/instruments/Instruments.cpp @@ -23,6 +23,8 @@ */ #include "Instruments.h" +#include "framework/Utils.h" + #include #include @@ -45,7 +47,7 @@ InstrumentType instrument_type_from_name(const std::string &name) try { - return types.at(name); + return types.at(tolower(name)); } catch(const std::out_of_range &) { diff --git a/framework/printers/Printers.cpp b/framework/printers/Printers.cpp index 6b53a0c33d..9ca5e317b3 100644 --- a/framework/printers/Printers.cpp +++ b/framework/printers/Printers.cpp @@ -23,6 +23,8 @@ */ #include "Printers.h" +#include "framework/Utils.h" + #include #include @@ -43,7 +45,7 @@ LogFormat log_format_from_name(const std::string &name) try { - return formats.at(name); + return formats.at(tolower(name)); } catch(const std::out_of_range &) { -- cgit v1.2.1