Issue #195 - update Travis to Trusty due to gcc/clang strtod() bug

This commit is contained in:
Trevor Welsby 2016-01-26 08:32:15 +10:00
parent 2b13711009
commit a4a88b1b7d
3 changed files with 380 additions and 786 deletions

View file

@ -1,6 +1,7 @@
language: cpp
sudo: false
dist: trusty
sudo: required
# from http://stackoverflow.com/a/32127147/266378
matrix:
@ -33,7 +34,7 @@ matrix:
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6']
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.6']
packages: ['clang-3.6', 'valgrind']
env: COMPILER=clang++-3.6
@ -41,7 +42,7 @@ matrix:
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.7']
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-trusty-3.7']
packages: ['clang-3.7', 'valgrind']
env: COMPILER=clang++-3.7

File diff suppressed because it is too large Load diff

View file

@ -11572,12 +11572,8 @@ TEST_CASE("regression tests")
j = json::parse("0.999999999999999944488848768742172978818416595458984374");
CHECK(j.get<double>() == 0.99999999999999989);
// Test fails under GCC/clang due to strtod() error (may originate in libstdc++
// but seems to have been fixed in the most current versions - just not on Travis)
#if !defined(__clang__) && !defined(__GNUC__) && !defined(__GNUG__)
j = json::parse("1.00000000000000011102230246251565404236316680908203126");
CHECK(j.get<double>() == 1.00000000000000022);
#endif
j = json::parse("7205759403792793199999e-5");
CHECK(j.get<double>() == 72057594037927928.0);