[SERVER-43980] yaml-cpp 0.6.3 test failure options_parser_test Created: 13/Oct/19 Updated: 28/May/20 Resolved: 18/May/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build, Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | James P. Harvey | Assignee: | Ryan Egesdahl (Inactive) |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Operating System: | ALL | ||||||||
| Sprint: | Dev Platform 2020-05-18, Dev Platform 2020-06-01 | ||||||||
| Participants: | |||||||||
| Description |
|
With 4.2.0 and yaml-cpp 0.6.2, it was possible to build mongoDB using yaml-cpp as a system package. yaml-cpp 0.6.3 was released (at least on Arch) 13 days ago. Upgrading the system package requires recompiling mongodb, which causes cpp_unit_test:options_parser_test to fail. The entire test failure is attached. Looks like the issue is math::pi being 3.1415926500000002 vs 3.14159265 I see https://github.com/jbeder/yaml-cpp/pull/649 which fixes a yaml-cpp round trip decimal error, which I assume is the change in the new version causing this test failure. I also saw https://github.com/jbeder/yaml-cpp/issues/761 where a user was having a similar problem of an expected value of "123.456" printed as "123.456001". The developer said to now specify precision when using an emitter, i.e.:
I haven't looked to see if 0.6.2 and previous has YAML::Precision(), so whether mongo's code could be fixed and still run on previous errors, or if this is a true breaking change. I wanted to report this issue, reported to me by Arch user mrohnstock, but in the meantime will be removing yaml-cpp to be used as a system library by mongo on Arch, and let it pull it in itself. |
| Comments |
| Comment by Ryan Egesdahl (Inactive) [ 18/May/20 ] |
|
It looks like this issue wasn't actually fixed despite a commit in HEAD advertising otherwise. I tried building with it, and I got exactly the same incorrect behavior. I think this is going to require more work from us, up to potentially working with the developer to get the problem fixed and get a version 0.6.4 ready for us to merge in. For clarity's sake, I am closing this issue in favor of |
| Comment by Andrew Morrow (Inactive) [ 04/Nov/19 ] |
|
jamespharvey20 - I've reproduced this behavior, thanks for reporting it. We will be doing an upgrade of yaml-cpp in the near future and we will address this when we do so. |
| Comment by Danny Hatcher (Inactive) [ 16/Oct/19 ] |
|
Thanks for opening this. I've passed to the appropriate team. |