-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve CI build environment with code coverage, static analysis, valgrind #72
Conversation
- os: linux | ||
env: | ||
- COMMENT="C++03" | ||
- TOOLSET=gcc,gcc-7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
g++ 7 is -std=gnu++14 by default if you don't pass anything; if you really want c++03, need cxxstd=03.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just saw that you're setting it to 03 in ci/build.sh
if not set; you can ignore that then :-) although I'd still use CXXSTD: 03 here. Testing without -std= set is a legitimate scenario that you might wish to enable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is handled in the ci/build.sh script.
CXXSTD=03 is used if not set otherwise for this particular repo.
.travis.yml
Outdated
- COMMENT=UBSAN | ||
- B2_VARIANT=variant=debug | ||
- TOOLSET=gcc-7 | ||
- CXXFLAGS="cxxflags=-fno-omit-frame-pointer cxxflags=-fsanitize=undefined" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have to use -fno-sanitize-recover=undefined
here; without it, the sanitizer prints messages to stderr, but the test passes and nobody's any the wiser. :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! I will change this too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pdimov thanks for catching this; I applied it to the other repositories where I run UBSAN and it uncovered something in serialization, and as you can see in the failed build uncovered a few things in DateTime too.
b5ee2d5
to
a321930
Compare
…travis to use jobs
a321930
to
7512833
Compare
Codecov Report
@@ Coverage Diff @@
## develop #72 +/- ##
==========================================
Coverage ? 93.71%
==========================================
Files ? 80
Lines ? 5015
Branches ? 0
==========================================
Hits ? 4700
Misses ? 315
Partials ? 0 Continue to review full report at Codecov.
|
Adds the following to the CI build environment: