Add testing of C++ with sanitizers (CI-Docker) (#5631)
authorVladimir Glavnyy <31897320+vglavnyy@users.noreply.github.com>
Mon, 18 Nov 2019 20:16:41 +0000 (03:16 +0700)
committerWouter van Oortmerssen <aardappel@gmail.com>
Mon, 18 Nov 2019 20:16:41 +0000 (12:16 -0800)
commit091fa1fd1b9ae8eabb99075b3ddfd9023f95468d
tree4978d4a8a33b93f46f5c8487f1e301b78932bc2a
parentff3781dc2d541c68122ec33c96ddf7032fcca27e
Add testing of C++ with sanitizers (CI-Docker) (#5631)

* Add C++ build testing with clang and gcc

This adds Dockerfiles which test building flatc and the C++ library against clang
and gcc. See discussion at #5119.  It is derived from the Travis CI tooling.

The GRPC tests are failing due to #5099 so those are commented out.

These are run from the .travis.yml file rather than the tests/docker/languages
folder because the builds may each take longer than 30 minutes and were hitting
Travis timeouts.

Parallel builds and build caching attempt to keep the build times low.

* Add GCC 8.3 and Clang 7.0 with sanitizers into CI (based on #5130)

- Add a docker based on Debian Buster.
- Add C++ building scripts for the docker.
- Leak-sanitizer requires SYS_PTRACE.
.travis/build-and-run-docker-test-containers.sh
CMakeLists.txt
tests/docker/Dockerfile.testing.cpp.debian_buster [new file with mode: 0644]
tests/docker/build_flatc.run.sh [new file with mode: 0755]
tests/docker/cpp_test.run.sh [new file with mode: 0755]