Commit graph

287 commits

Author SHA1 Message Date
Théo DELRIEU 797329315a
add a CI job for explicit conversions on every os 2020-07-22 10:49:01 +02:00
Niels Lohmann a244531627
♻️ overwork Travis YAML 2020-07-12 15:33:16 +02:00
Niels Lohmann 2edb5cb999
👷 fix -DJSON_BuildTests=On parameter placement 2020-05-28 13:46:47 +02:00
Niels Lohmann 325e8ab8ab
🔧 explicitly switch on tests in CI 2020-05-27 13:22:14 +02:00
Niels Lohmann 66dfa22de2
⚗️ try to fix SSL issue 2020-05-11 14:24:38 +02:00
Niels Lohmann 0ad595709d
⚗️ try to fix SSL issue 2020-05-11 13:40:43 +02:00
Niels Lohmann cbb2d4e4d8
⚗️ try to fix SSL issue 2020-05-11 13:29:40 +02:00
Niels Lohmann 8389c1961b
⚗️ try to fix SSL issue 2020-05-11 13:19:22 +02:00
Niels Lohmann 19b21e61e5
⚗️ try to fix SSL issue 2020-05-11 13:05:53 +02:00
Niels Lohmann 697305819f
⚗️ try to fix SSL issue 2020-05-11 12:37:24 +02:00
Niels Lohmann 18cbcc4135
⚗️ try to fix SSL issue 2020-05-11 12:25:41 +02:00
Niels Lohmann c6b298799a
👷 remove failing Travis workers 2020-04-07 09:09:44 +02:00
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