Alexander Rukletsov created MESOS-7367:
------------------------------------------
Summary: MasterAPITest.GetRoles is flaky on machines with non-C
locale.
Key: MESOS-7367
URL: https://issues.apache.org/jira/browse/MESOS-7367
Project: Mesos
Issue Type: Bug
Components: test
Affects Versions: 1.2.0, 1.1.1, 1.0.2
Environment: Ubuntu 16.04 with non-C locale
Reporter: Alexander Rukletsov
{{MasterAPITest.GetRoles}} test sets role weight to a real number using {{.}}
as a decimal mark. This however is not correct on machines with non-standard
locale, because weight parsing code relies on locale:
[https://github.com/apache/mesos/blob/7f04cf886fc2ed59414bf0056a2f351959a2d1f8/src/master/master.cpp#L727-L750].
This leads to test failures: [https://pastebin.com/sQR2Tr2Q].
There are several solutions here.
h4. Change parsing code to be locale-agnostic.
This seems to be the most robust solution. However, the {{--weights}} flag is
deprecated and will probably be removed soon, together with the parsing code.
h4. Fix call sites in our tests to ensure decimal mark is locale dependent.
This seems like a reasonable solution, but I'd argue we can do even better.
h4. Use locale-agnostic format for doubles in tests.
Instead of saying {{"2.5"}} we can say {{"25e-1"}} which is locale agnostic.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)