31 Commits

Author SHA1 Message Date
Edward Thomson
a20b8c2199 ci: fail on test failures
PowerShell can _read_ top-level variables in functions, but cannot _update_
top-level variables in functions unless they're explicitly prefixed with
`$global`.

(cherry picked from commit 0e26717a57)
2018-10-26 14:00:43 +02:00
Edward Thomson
a6917dc787 ci: don't stop on failure
Don't stop on test failures; run all the tests, even when a test fails.

(cherry picked from commit 429c7f1141)
2018-10-12 12:08:56 +02:00
Edward Thomson
8f4dc529c0 ci: append -r flag to clar on windows
Similar to the way we parse the ctest output on POSIX systems, do the
same on Windows.  This allows us to append the `-r` flag to clar after
we've identified the command to run.

(cherry picked from commit 7c9769d947)
2018-10-12 12:08:56 +02:00
Edward Thomson
2f9b339f62 ci: add SKIP_*_TESTS for windows builds
Introduce SKIP_*_TEST variables for Windows builds to match POSIX
builds.

(cherry picked from commit a8301b0c19)
2018-10-12 12:08:56 +02:00
Edward Thomson
e7a82ec5a3 ci: write test result XML
Add the clar flags to produce JUnit-style XML output before invocation.

(cherry picked from commit fff33a1b65)
2018-10-12 12:08:56 +02:00
Edward Thomson
886a08427d Revert "clar: introduce CLAR_XML option"
This reverts commit a2d73f5643.
Using clar to propagate the XML settings was a mistake.

(cherry picked from commit 943181c2ef)
2018-10-12 12:08:56 +02:00
Edward Thomson
29922609ac ci: only run the exact named test
Our CI test system invokes ctest with the name of the given tests it
wishes to invoke.  ctest (with the `-R` flag) treats this name as a
regular expression.  Provide anchors in the regular expression to avoid
matching additional tests in this search.

(cherry picked from commit 7e353b7a14)
2018-10-12 12:08:56 +02:00
Patrick Steinhardt
b79d7cd42f ci: rename vsts to azure-pipelines
(cherry picked from commit d7d0139eb3)
2018-10-12 12:08:53 +02:00
Patrick Steinhardt
4cf3907ab4 ci: use templates for VSTS builds
Our build YAML is becoming unweildly and full of copy-pasta.  Simplify
with templates.

(cherry picked from commit 6b2d8f09bc)
2018-10-12 12:08:32 +02:00
Edward Thomson
b52267b3cc ci: escape xml output path on Windows
CMake treats backslashes as escape characters; use forward slashes for
the XML output path.

(cherry picked from commit f3f2c45ee6)
2018-10-12 12:08:18 +02:00
Edward Thomson
ca21af22f0 ci: write xml during test runs
(cherry picked from commit a84863fc8d)
2018-10-12 12:08:02 +02:00
Etienne Samson
75b0142d3c ci: Correct the status code check so Coverity doesn't force-fail Travis
Otherwise you get something like

Emitted 525 C/C++ compilation units (100%) successfully

525 C/C++ compilation units (100%) are ready for analysis
The cov-build utility completed successfully.
Build successfully submitted.
Received error code 200 from Coverity

travis_time:end:14cf6373:start=1534254309066933889,finish=1534254728190974302,duration=419124040413
The command "if [ -n "$COVERITY" ]; then ../ci/coverity.sh; fi" exited with 1.
travis_time:start:01ed61d4
$ if [ -z "$COVERITY" ]; then ../ci/build.sh && ../ci/test.sh; fi

travis_time:end:01ed61d4:start=1534254728197560961,finish=1534254728202711214,duration=5150253
The command "if [ -z "$COVERITY" ]; then ../ci/build.sh && ../ci/test.sh; fi" exited with 0.

Done. Your build exited with 1.

(cherry picked from commit 351ca66126)
2018-10-12 12:07:51 +02:00
Patrick Steinhardt
5e1d64ff86 ci: enable compilation with "-Werror"
During the conversion of our CI scripts in bf418f09c (ci: refactor unix
ci build/test scripts, 2018-07-14), we accidentally dropped the
"-DENABLE_WERROR=ON" switch in our cmake invocation. Re-add it to help
us catch compiler warnings early.

(cherry picked from commit 9008465719)
2018-10-12 12:07:51 +02:00
Edward Thomson
1f7bb77784 ci: run coverity from travis's cron
Instead of trying to run coverity builds during the regular PR process,
run them during a regularly scheduled cron process.  These only need to
run nightly, so it makes sense to bring them out of the PR process.

(cherry picked from commit 6b92368c85)
2018-10-12 12:07:50 +02:00
Edward Thomson
6f8cc9b5a3 ci: move travis to the new scripts
(cherry picked from commit 24b8dd8275)
2018-10-12 12:07:50 +02:00
Edward Thomson
612d50b500 ci: use a single setup script for mingw
(cherry picked from commit f7bb4ff80b)
2018-10-12 12:07:50 +02:00
Patrick Steinhardt
6fd065f684 ci: perform clang builds on Linux
(cherry picked from commit dc6e80e2ce)
2018-10-12 12:07:30 +02:00
Edward Thomson
3676834ab8 ci: dissociate test from leaks process
The leaks process is not good about handling children.  Ensure that its
child is `nohup`ed so that the grandparent shell won't wait for it to
exit.

(cherry picked from commit 6eb97b6ba9)
2018-10-12 12:07:12 +02:00
Edward Thomson
8a54e39c07 ci: some additional debugging
(cherry picked from commit 230eeda8e4)
2018-10-12 12:07:12 +02:00
Edward Thomson
bc2fec608f ci: enable leak checking on osx
(cherry picked from commit b00672b9e4)
2018-10-12 12:07:12 +02:00
Edward Thomson
d68c293ad1 ci: msvc leak-checking
(cherry picked from commit afecd15cf6)
2018-10-12 12:07:12 +02:00
Edward Thomson
542a403fe4 ci: xcode leaks leak-checking
(cherry picked from commit 7f12c12394)
2018-10-12 12:07:11 +02:00
Patrick Steinhardt
7c6864576d ci: valgrind leak-checking
(cherry picked from commit 6d6700d238)
2018-10-12 12:07:09 +02:00
Edward Thomson
01d00cd9ea ci: introduce vsts builds
(cherry picked from commit 67f5304f55)
2018-10-12 12:06:38 +02:00
Edward Thomson
4e1218b465 ci: scripts to setup mingw build environment
(cherry picked from commit 9e588060d9)
2018-10-12 11:42:30 +02:00
Edward Thomson
95c728ded1 ci: set up a macos host
Script to set up dependencies on a macOS build system.

(cherry picked from commit 8734240417)
2018-10-12 11:42:29 +02:00
Edward Thomson
064b933da6 ci: setup a linux host
Sets up a linux host to prepare for a build.

(cherry picked from commit 5bb2087b7c)
2018-10-12 11:42:29 +02:00
Edward Thomson
6dceeb743c ci: improved flexibility for citest.sh
Refactor citest.sh to enable local testing by developers.

(cherry picked from commit 451b001725)
2018-10-12 11:42:29 +02:00
Edward Thomson
ab55feee21 ci: refactor unix ci build/test scripts
(cherry picked from commit bf418f09ce)
2018-10-12 11:42:29 +02:00
Edward Thomson
4609548dc0 ci: move tests into citest.ps1
Add citest.ps1 PowerShell script to run the tests.

(cherry picked from commit e2cc5b6d97)
2018-10-12 11:42:29 +02:00
Edward Thomson
b6faab9d1e ci: Windows PowerShell build script
(cherry picked from commit 3b6281fac1)
2018-10-12 11:42:29 +02:00