This commit changes sanitize configuration to fail on the first error and ignore floating-point division and overflow "errors" that trigger when we test the corresponding functionality. This makes it possible to run this on all commits - if new UB or memory safety issues are introduced, asan/ubsan will catch them.
28 lines
697 B
YAML
28 lines
697 B
YAML
language: cpp
|
|
os:
|
|
- linux
|
|
- osx
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
|
|
matrix:
|
|
exclude:
|
|
- os: osx
|
|
compiler: gcc
|
|
|
|
env:
|
|
- DEFINES=standard
|
|
- DEFINES=PUGIXML_WCHAR_MODE
|
|
- DEFINES=PUGIXML_COMPACT
|
|
- DEFINES=PUGIXML_NO_EXCEPTIONS
|
|
script:
|
|
- make test cxxstd=c++11 defines=$DEFINES config=coverage -j2
|
|
- if [[ "$CXX" == "clang++" ]]; then make test cxxstd=c++11 defines=$DEFINES config=sanitize -j2; fi
|
|
- make test cxxstd=c++11 defines=$DEFINES config=release -j2
|
|
- make test cxxstd=c++98 defines=$DEFINES config=debug -j2
|
|
|
|
after_success:
|
|
- sed -e "s/#####\(.*\)\(\/\/ unreachable.*\)/ 1\1\2/" -i pugixml.cpp.gcov
|
|
- bash <(curl -s https://codecov.io/bash) -f pugixml.cpp.gcov
|