Commit graph

275 commits

Author SHA1 Message Date
Niels Lohmann 28b1448508
👷 add Xcode 11.2.1
https://twitter.com/travisci/status/1197625080119021568
2019-11-21 22:22:06 +01:00
Niels Lohmann e779714dd8
👷 add Xcode 10.2 2019-11-03 20:45:21 +01:00
Thomas Braun 6d701b29df .travis.yml: Increase the timeout to 45 minutes
The clang sanitizer tests, and there especially the unicode tests, can
hit the default timeout of 25 minutes (1500 seconds) quite easily, so
let's raise the timeout to 45 minutes (2700 seconds).
2019-09-03 13:32:25 +02:00
Thomas Braun 9ea3e19121 .travis/cmake: Rework clang sanitizer invocation
- Switch to clang-7
- Adapt PATH so that llvm-symbolizer can be found for useful stacktraces
- Adapt compile flags
  "-O0" ensures much faster compile times
  "-fno-sanitize-recover=all
  -fsanitize-recover=unsigned-integer-overflow" this fails the build on
  all issues except unsigned integer overflows. Not failing in this case
  is required in combination with the sanitizer suppression file as only
  recoverable errors can be suppressed.

The UBSAN suppression file ignores errors from stl_bvector.h (which
holds std::vector<bool>).

Clang reports that error as

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h:158:20 in

      Start 34: test-deserialization_all
28/88 Test #71: test-testsuites_default .............***Failed    0.32 sec
/usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h:158:20: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'unsigned int'
    #0 0x628f72 in std::_Bit_iterator_base::_M_bump_down() /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h:158:20
    #1 0x628d16 in std::_Bit_iterator::operator--() /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h:251:7
    #2 0x634aac in std::vector<bool, std::allocator<bool> >::pop_back() /usr/lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h:1010:7
    #3 0x61eff0 in bool nlohmann::detail::parser<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> >::sax_parse_internal<nlohmann::detail::json_sax_dom_parser<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> > >(nlohmann::detail::json_sax_dom_parser<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> >*) /home/firma/devel/json/include/nlohmann/detail/input/parser.hpp:439:28
    #4 0x604864 in nlohmann::detail::parser<nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> >::parse(bool, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>&) /home/firma/devel/json/include/nlohmann/detail/input/parser.hpp:116:13
    #5 0x5f8079 in nlohmann::operator>>(std::istream&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>&) /home/firma/devel/json/include/nlohmann/json.hpp:6356:42
    #6 0x5e1d92 in _DOCTEST_ANON_FUNC_21() /home/firma/devel/json/test/src/unit-testsuites.cpp:343:9
    #7 0x7207fe in doctest::Context::run() /home/firma/devel/json/test/thirdparty/doctest/doctest.h:5938:21
    #8 0x72681a in main /home/firma/devel/json/test/thirdparty/doctest/doctest.h:6016:71
    #9 0x7f75d22362e0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
    #10 0x4c28b9 in _start (/home/firma/devel/json/build/test/test-testsuites+0x4c28b9)

The pop_back() in parser.hpp

      assert(not states.empty());
  ->  states.pop_back();

triggers the UBSAN report. But the assertion above ensure that we only
call pop_back() on an non-empty vector, therefore this is a STL library
bug and thus must be ignored for us.
2019-09-03 13:22:03 +02:00
Thomas Braun a4eaaa56d1 .travis.yml: Add gcc 9 and compile with experimental C++20 support 2019-08-26 12:38:36 +02:00
Niels Lohmann 02b3494711
🔥 removing unstable macOS builds on Traivs 2019-03-16 08:28:44 +01:00
Niels Lohmann 670f42b561
🔥 removing Xcode 6.4 builder 2019-03-11 22:59:22 +01:00
Niels Lohmann c11bead2ae
👷 removing more retired Travis images 2019-03-11 21:22:30 +01:00
Niels Lohmann 16d9cdce45
📝 updated documentation of CI 2019-03-11 15:19:50 +01:00
Niels Lohmann e3729ba0a5
💚 fix compiler selection 2019-03-11 07:44:40 +01:00
Niels Lohmann e5c7fd488d
👷 trying new Travis workers 2019-03-10 22:56:14 +01:00
Henry Fredrick Schreiner 7a37ba0c02 Adding 4.8 test to travis 2018-09-27 22:31:39 +02:00
Niels Lohmann 4e2f35d4c2
👷 adding Xcode 10 worker
See https://blog.travis-ci.com/2018-09-13-xcode-10-is-now-available?utm_source=twitter&utm_medium=web&utm_campaign=xcode10_gm
2018-09-18 19:22:30 +02:00
Niels Lohmann ba4a19d4af
👷 added more CI workers 2018-08-01 20:59:58 +02:00
Niels Lohmann 043eff5ba8
👷 added more CI workers 2018-07-31 21:18:33 +02:00
Niels Lohmann c02a3155d4
👷 added Xcode 9.3 builder
See https://blog.travis-ci.com/2018-04-09-say-bonjour-to-xcode-93-and-macos-high-sierra.
2018-04-10 08:39:28 +02:00
Kevin Tonon a35d414c39 Update CMake to latest on Travis 2018-04-03 08:28:07 -04:00
Théo DELRIEU 41db7cd818
Make the coveralls job use the multiple header version 2018-02-12 10:23:33 +01:00
Niels Lohmann 74675dd69c
back to the original version 2018-02-09 22:40:52 +01:00
Niels Lohmann ab05df3a48
🔨 another try 2018-02-09 22:27:08 +01:00
Niels Lohmann b455154cc9
🔨 another try 2018-02-09 22:18:51 +01:00
Niels Lohmann 1e8f4d6ab3
🔨 more trying 2018-02-09 22:11:05 +01:00
Niels Lohmann 316634e129
🔨 added quotes around parameters 2018-02-09 21:54:32 +01:00
Niels Lohmann 0111f3187e
🔨 working on #953 2018-02-09 21:30:15 +01:00
Niels Lohmann 3a887dc9fe
👷 fixed coveralls 2018-02-02 07:56:30 +01:00
Niels Lohmann 5c2a0a511e
👷 fixed coveralls 2018-02-02 07:31:57 +01:00
Niels Lohmann b779666916
👷 re-added homebrew tests 2018-02-02 00:20:04 +01:00
Niels Lohmann a8fcfd9880
👷 fixed travis file 2018-02-01 22:34:14 +01:00
Niels Lohmann 0258484626
🔖 set version to 3.1.0
- updated documentation wrt. new repository layout
- temporarily switched off Homebrew --HEAD building (can only be switched on after release)
- set copyright date to 2018
2018-02-01 22:20:26 +01:00
Niels Lohmann 355c1e946b
👷 added task to check amalgamation #906
- Builds and runs test cases from individual sources rather than from amalgamation.
- Checks whether amalgamation would create the same single-header file as checked in.
2018-01-23 18:00:12 +01:00
Niels Lohmann 06cddd371b
🔨 removed failing amalgamation test 2018-01-14 17:22:42 +01:00
Niels Lohmann 411c16cbb2
📝 overworked documentation wrt. amalgamation #906 2018-01-14 13:08:28 +01:00
Niels Lohmann 7c2d4f1852
👷 added Xcode 9.1 and 9.2 2017-12-06 22:32:03 +01:00
Niels Lohmann 73d1b55aba
🔧 executing tests in parallel 2017-10-05 19:43:39 +02:00
Niels Lohmann c204ac82e0
🔨 adjusted Coverity script to work without Makefile 2017-10-05 07:13:59 +02:00
Niels Lohmann 1b3df3a63f
🔨 trying to use Coveralls with CMake #698 2017-10-04 22:18:21 +02:00
Niels Lohmann b41b13047c
👷 removed unneccessary test 2017-08-27 11:30:36 +02:00
Niels Lohmann 0e94ba8857
👷 using the same compilers 2017-08-26 08:56:34 +02:00
Niels Lohmann 4f5c345817
👷 run sanitizer another time to check if it works 2017-08-26 08:20:37 +02:00
Niels Lohmann 8608f42187
👷 trying to use libstdc++
https://github.com/travis-ci/apt-source-whitelist/issues/372#issuecomment-320547215
2017-08-25 22:49:18 +02:00
Niels Lohmann 268f5a3d0a
👷 added option to switch off exceptions 2017-08-25 21:29:27 +02:00
Niels Lohmann 839681ff9f
👷 using Ninja 2017-08-25 21:01:07 +02:00
Niels Lohmann 05b97c473a
👷 added flags for Valgrind and Clang sanitizer 2017-08-25 20:12:21 +02:00
Niels Lohmann e45eaf6e30
Revert "👷 using libc++ with Clang"
This reverts commit 41b2c69bdb.
2017-08-23 08:39:19 +02:00
Niels Lohmann 41b2c69bdb
👷 using libc++ with Clang 2017-08-22 22:04:38 +02:00
Niels Lohmann cd53790993
👷 using Clang 5.0 2017-08-21 20:03:24 +02:00
Niels Lohmann ba5d37ba4b
👷 added Clang 5.0 (see https://docs.travis-ci.com/user/languages/cpp/#clang) 2017-08-21 17:27:35 +02:00
Niels Lohmann f5a53de845
👷 running sanitizer job in parallel 2017-08-16 09:21:20 +02:00
Niels Lohmann 21726d8d8f
👷 run sanitizer after tests 2017-08-16 08:11:02 +02:00
Niels Lohmann df572aca79
👷 set sanitizer to clang4 2017-08-16 07:42:57 +02:00