Skip to content

Commit 55ee19f

Browse files
Andrzej Religadahlerlend
authored andcommitted
WL#15440 MySQL REST Service (MRS) - Umbrella WL
Fix for MRSConfigErrorTest.metadata_refresh_interval_nan failing on some platforms. Unified how "nan" passed as a double option is handled across the platforms. Change-Id: I13ad9791e56919862431365d08536cb398c5f404
1 parent 7f9e195 commit 55ee19f

File tree

2 files changed

+22
-10
lines changed

2 files changed

+22
-10
lines changed

router/src/harness/src/config_option.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
#include "mysql/harness/config_option.h"
2727

28+
#include <cmath>
2829
#include <sstream>
2930
#include <stdexcept>
3031

@@ -39,7 +40,7 @@ double option_as_double(const std::string &value,
3940
ss.imbue(std::locale("C"));
4041
double result = 0.0;
4142
if (!(ss >> result) || !ss.eof() || (result < min_value - 0.0001) ||
42-
(result > max_value + 0.0001)) {
43+
(result > max_value + 0.0001) || std::isnan(result)) {
4344
std::stringstream os;
4445
os << option_name << " needs value between " << min_value << " and "
4546
<< max_value << " inclusive";

router/tests/component/test_config.cc

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -802,15 +802,26 @@ INSTANTIATE_TEST_SUITE_P(
802802
{"metadata_refresh_interval", "0"}},
803803
"main ERROR .* Error: `metadata_refresh_interval` "
804804
"option, must be greater than zero."),
805-
MRSConfigErrorParam("metadata_refresh_interval_nan",
806-
{{"mysql_user", "mysql_user_mrs"},
807-
{"mysql_read_write_route", "rw"},
808-
{"mysql_read_only_route", "ro"},
809-
{"router_id", "1"},
810-
{"metadata_refresh_interval", "nan"}},
811-
"main ERROR .* Error: `metadata_refresh_interval` "
812-
"option, must be greater than zero."),
813-
805+
MRSConfigErrorParam(
806+
"metadata_refresh_interval_nan",
807+
{{"mysql_user", "mysql_user_mrs"},
808+
{"mysql_read_write_route", "rw"},
809+
{"mysql_read_only_route", "ro"},
810+
{"router_id", "1"},
811+
{"metadata_refresh_interval", "nan"}},
812+
"Configuration error: option metadata_refresh_interval in "
813+
"\\[mysql_rest_service\\] needs value between 0 and "
814+
"1\\.79769e\\+308 inclusive, was 'nan'"),
815+
MRSConfigErrorParam(
816+
"metadata_refresh_interval_foo",
817+
{{"mysql_user", "mysql_user_mrs"},
818+
{"mysql_read_write_route", "rw"},
819+
{"mysql_read_only_route", "ro"},
820+
{"router_id", "1"},
821+
{"metadata_refresh_interval", "foo"}},
822+
"Configuration error: option metadata_refresh_interval in "
823+
"\\[mysql_rest_service\\] needs value between 0 and "
824+
"1\\.79769e\\+308 inclusive, was 'foo'"),
814825
MRSConfigErrorParam("unknown_option",
815826
{{"mysql_user", "mysql_user_mrs"},
816827
{"mysql_read_write_route", "rw"},

0 commit comments

Comments
 (0)