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)

Reply via email to