Define SOCI_DEFAULT_CMAKE_OPTIONS once and use it in almost all builds
instead of repeating the same options many times everywhere.
For the remaining build (Valgrind) still reuse a couple of options which
it has in common with the other ones.
Unfortunately we don't get any information about these leaks, the entire
report looks like this:
==6706==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7f6473f80602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
#1 0x7f646f89ba82 (/usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so+0x1ba82)
Indirect leak of 25 byte(s) in 1 object(s) allocated from:
#0 0x7f6473f80602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
#1 0x7f646f89ba9a (/usr/lib/x86_64-linux-gnu/odbc/psqlodbca.so+0x1ba9a)
SUMMARY: AddressSanitizer: 49 byte(s) leaked in 2 allocation(s).
So we have no choice but to suppress all leaks from psqlodbca.so to let
the tests to pass on Travis CI.
Unfortunately we don't get any real information about these leaks, the
entire report is
==10667==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 176 byte(s) in 1 object(s) allocated from:
#0 0x7ff24b649602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
#1 0x7ff23f0ef551 (<unknown module>)
Indirect leak of 744 byte(s) in 3 object(s) allocated from:
#0 0x7ff24b649602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
#1 0x7ff23f0ef551 (<unknown module>)
Indirect leak of 64 byte(s) in 1 object(s) allocated from:
#0 0x7ff24b649602 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.2+0x98602)
#1 0x7ff23f456d89 (<unknown module>)
So we can only disable leaks coming from libasan.so to suppress them
which, of course, risks hiding any other leaks too. The only way to
check for them is to check that the count of suppressions in libasan.so
doesn't increase beyond 5.
If TRAVIS_BRANCH matches release/X.Y, then the once the Travs CI job
completes building the empty, it also does
- run release.sh to generate source archive for soci-X.Y.Z
- unpacks the archive
- runs a minimal test build of the source archive,
equivalent to the main build run earlier by the job.
The purpose is to have a minimal procedure verifying the source code
archives generated for release.
Remove automatic branching off of master as release/X.Y,
instead expect and require existing release branch.
Update RELEASING.md about use of the release.sh script.
Use CMake installed from Trusty packages.
Corrext Firebird post-installation steps to set password correctly.
Grant MySQL privileges to travis user explicitly (see travis-ci/travis-ci#8331).
Allow valgrind job to fail:
- ODBC backend tests are failing with valgrind.
- Turns out on Trusty, ODBC is enabled by default because all client libraries are available.
Remove check_include_files from FindODBC.cmake module -
it is hard to get check_include_files right, even possible
it should not be used in Find*.cmake.
[skip appveyor]
This doesn't work currently because Oracle installation requires access
to secret environment variables which are unavailable for the PR builds
for the security purposes, so skip trying to do it to at least avoid
failing all PR builds.
Closes#584.
Clones and uses scripts to install Oracle Database XE (64-bit)
on Travis CI from https://github.com/cbandy/travis-oracle.
Switch Oracle backend build from 32-bit to 64-bit.
Closes#554