Commit Graph

130 Commits

Author SHA1 Message Date
Daniel Poetzl fa2ed7b3a8 Install gdb on macos builds 2019-03-19 15:52:32 +00:00
Daniel Poetzl b72245b45d Install gdb package in CI to make gdb_apit unit tests work 2019-03-19 15:52:31 +00:00
Romain Brenguier f4afbd18f9 Enable BDD_GUARDS in one of the travis steps
We add the BDD_GUARDS flags in the travis step which is compiling with
CUDD to test that the bdd_guard implementation.
2019-03-07 11:02:35 +00:00
Romain Brenguier 999ae54935
Merge pull request #4160 from romainbrenguier/refactor/sharing-tree
Clearly separate sharing and non-sharing implementation of irept
2019-02-14 12:05:57 +00:00
Romain Brenguier 06776f2b1c Add travis build with NAMED_SUB_FORWARD_LIST
We add this step to check that CBMC compiles fine with this flag, and
run relevant unit tests for irept.
2019-02-14 08:55:02 +00:00
Michael Tautschnig 3b2500bef9 Remove delete-failing-SMT-solver tests script
With the new tag introduced in the preceding commit this is no longer needed.
This actually simplifies our CI scripts.
2019-02-08 12:50:58 +00:00
Michael Tautschnig d24d7d78a8 Run CBMC regression tests with --paths lifo in CI
We were not regularly exercising this code outside unit tests, leading to
regressions on several tests. On my system, running this additional test takes
42 seconds, which is still better than users running into issues. (ctest -V -L
CORE -j8 takes an extra 10 seconds.)

Fixes: #3956
2019-02-05 09:49:58 +00:00
Daniel Kroening e949b3051a move two builds from Travis to codebuild
The added codebuild configuration achieves the same, but faster.
2019-02-03 15:52:17 +00:00
Romain Brenguier 34fdbb18c4 Use Cudd in one of the travis build
This build will compile with CMAKE_USE_CUDD to check that compilation
with CUDD works correctly.

From testing it on travis, it seems this makes the build about 1 minute
longer.
2019-02-01 06:48:57 +00:00
Daniel Kroening 8edc5049cd enable .clang-format-ignore
We do have files that are imported as a whole, and clang-formatting them is
a distraction.  The requirement to add // clang-format-off to external files
makes imports via scripts more difficult.

This tweaks the build script to exclude files given in .clang-format-ignore
from git-clang-format.  The same naming convention is used by other
projects.
2019-01-28 09:29:37 +00:00
Chris Smowton d1419530a9 Install jq under Travis and CodeBuild
This means CI will run the new jbmc-json-ui test group.
2019-01-17 16:46:38 +00:00
John Nonweiler f341a1aec1 Add script to build doxygen
Move the section in .travis.yml responsible for getting the latest
version of doxygen to a separate script, in order to make it easier
for Ubuntu users to install it locally.
2018-11-10 12:17:13 +00:00
Michael Tautschnig 5187d577ad
Merge pull request #3245 from tautschnig/clang-7
Move Travis jobs using clang 6.0 to clang 7
2018-11-09 12:34:02 +00:00
John Nonweiler aee9bba5fb Use new Doxygen script in Travis CI
Remove the old `travis_doxygen.sh` script and associated part of
`run_diff.sh`, and change `.travis.yml` to use the new `run_doxygen.sh`
instead.  The new script should report new problems (and not report
already existing problems) more reliably than the old script which
relied on the line numbers reported by Doxygen.
2018-11-08 15:25:56 +00:00
Daniel Kroening 3b896515bf set path to smt2_solver binary 2018-11-06 18:42:19 +00:00
Daniel Kroening 4383511604 enable SMT2 tests on Travis 2018-11-05 12:44:37 +00:00
Michael Tautschnig f51a3d4496 Move Travis jobs using clang 6.0 to clang 7
More recent versions of Clang provide additional warnings that we may benefit
from when run in CI.
2018-10-29 14:46:18 +00:00
Michael Tautschnig e09f5fa6fc
Merge pull request #2876 from tautschnig/no-travis-sudo
Travis: Use clang-6.0 and mark all builds as sudo: false
2018-10-22 09:59:46 +01:00
Michael Tautschnig 961bebdda4 Travis: Make linter and clang-format failures fatal
Instead of requesting contributors to tick "my contribution is formatted ..."
just make CI fail if it isn't properly formatted. When there are good reasons to
ignore the formatting recommendations use // clang-format {off,on} and // NOLINT
with clang-format and the linter, respectively.
2018-10-15 11:00:35 +00:00
Michael Tautschnig 5eebeafa04 Add sources for libstdc++6 >= 4.9
clang-format-6.0 requires a libstc++6 version newer than what Ubuntu 14.04 ships
by default; such a version is available from the ubuntu-toolchain-r-test PPA.

Also fix the version information output to actually call the binary that is used
when calling git-clang-format-6.0.
2018-10-15 10:00:00 +00:00
Michael Tautschnig ac3cb0f163 Move to clang-format-6.0 and cleanup config
As we are moving to clang-6.0 in other parts of the Travis configuration we
might as well use clang-format-6.0 in line with this. Also clean up the script
that used to ack around paths by just specifying the binary to use on the
command-line.
2018-10-12 10:24:03 +00:00
Michael Tautschnig 5f556da233 Travis: Use clang-6.0 and mark all builds as sudo: false
This effectively reverts 93bc946 and instead switches the clang-3.7 builds to
clang-6.0
2018-10-12 10:19:32 +00:00
Michael Tautschnig 219158adb6 Revert "Workaround for Google Cloud SDK packaging problem"
This reverts commit 60540c7fa5.

The problem has been addressed in version 218.0.0-0 of the Google Cloud SDK.
2018-09-28 07:46:20 +00:00
Michael Tautschnig 60540c7fa5 Workaround for Google Cloud SDK packaging problem
Version 217.0.0-0 of the google-cloud-sdk package uses XZ compression,
which is not supported by the version of dpkg available on Ubuntu
Trusty. This change fixes the package to the prior version, which should
remain in place until https://issuetracker.google.com/issues/116076881
has been fixed.
2018-09-19 07:55:10 +00:00
Michael Tautschnig 1093b14e64 Revert "Try to fix travis failure on doxygen stage"
This reverts commit 1cb6c9b2d0.
2018-09-05 10:08:59 +00:00
Michael Tautschnig c7e95f40e1 Revert "Travis: Mark all Linux builds as sudo-required as maven workaround"
This reverts commit ef608d2a16.
2018-09-05 10:08:59 +00:00
Michael Tautschnig ef608d2a16 Travis: Mark all Linux builds as sudo-required as maven workaround
Running maven yields access-denied errors:

[ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its
dependencies could not be resolved: Failed to read artifact descriptor for
org.apache.maven.plugins:maven-resources-plugin:jar:2.6: Could not transfer
artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.6 from/to central
(https://repo.maven.apache.org/maven2): Access denied to:
https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-resources-plugin/2.6/maven-resources-plugin-2.6.pom
, ReasonPhrase:Forbidden. -> [Help 1]

This appears to be a recurring issue, described at
https://github.com/travis-ci/travis-ci/issues/6593 - now applying the workaround
described in the same issue.
2018-08-30 08:53:53 +00:00
Owen 1cb6c9b2d0 Try to fix travis failure on doxygen stage
The Travis log included the following lines:

W: GPG error: http://packages.cloud.google.com/apt cloud-sdk-trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB
W: The repository 'http://packages.cloud.google.com/apt cloud-sdk-trusty InRelease' is not signed.
W: There is no public key available for the following key IDs:
6A030B21BA07F4FB
W: http://ppa.launchpad.net/couchdb/stable/ubuntu/dists/trusty/Release.gpg: Signature by key 15866BAFD9BCC4F3C1E0DFC7D69548E1C17EAB57 uses weak digest algorithm (SHA1)
travis_fold🔚apt-get.diagnostics

The command "sudo -E apt-get -yq --no-install-suggests --no-install-recommends $TRAVIS_APT_OPTS install cmake google-cloud-sdk graphviz" failed and exited with 100 during .
2018-08-29 17:42:36 +01:00
Owen Jones 93bc946e13 Use sudo build and manually install clang-3.7
Travis have removed llvm-toolchain-precise-3.7 from their whitelist
of sources for the "apt:" option, so we have to use a sudo build and
add it as a source ourselves.
2018-08-29 16:23:52 +01:00
Daniel Kroening a1d59d28fc remove clobber 2018-08-15 12:26:28 +01:00
Daniel Kroening f33459fe7c
Merge pull request #2529 from tautschnig/debian1
Do not (unnecessarily) require preprocessing for fixed 32/64 bit regression tests
2018-07-28 14:02:25 +01:00
Peter Schrammel e34fc57035
Merge pull request #2600 from peterschrammel/doxygen-graphviz
Install graphviz for doxygen job on travis
2018-07-25 21:43:55 +01:00
Peter Schrammel 1a36a21c49 Install graphviz for doxygen job on travis 2018-07-24 16:44:49 +01:00
Peter Schrammel b34e951e52 Use submodule to download java-models-library 2018-07-09 21:13:37 +01:00
Michael Tautschnig 0a990efb9b Do not (unnecessarily) require preprocessing for fixed 32/64 bit regression tests
This is not portable as some architectures might not provide header
files for non-native bit widths. Preprocessing/the use of header files
is not essential for any of these regression tests.
2018-07-09 17:12:47 +01:00
Chris Smowton 560f82bcc7 Travis: test more g++ and clang versions
Also use the build compiler, not the system default, for tests. This was already done
with gcc (by placing a symlink named 'gcc' pointing to gcc-5 in a directory ahead of /usr/bin
in the path), but g++ tests were using the image default compiler -- g++-4.8 for Ubuntu Trusty.
2018-06-20 11:39:06 +01:00
Chris Smowton 6982f865c6 Improve coverity Travis build
- Don't start a VM at all when not needed
- Don't require the less-reliable non-containerised infrastructure (sudo: required)
2018-06-08 16:24:31 +01:00
Michael Tautschnig 0451f1e7f7 C++ front-end now has its own library
Moved new/delete implementation from ansi-c to cpp.
2018-06-08 11:44:10 +00:00
Peter Schrammel 63c5a32a51 Install doxygen 1.8.14 on travis 2018-06-06 17:11:10 +01:00
Joel Allred 2a72bf2873
Merge pull request #2268 from allredj/trigger-testgen
Add webhook to invoke a compatibility check
2018-06-06 09:11:36 +01:00
César Rodríguez e8ff243555
Merge pull request #2225 from cesaro/extended-java-models
JBMC: Added java-models-library dependency
2018-06-05 14:03:09 +01:00
Kurt Degiorgio c6d2dba8ce JBMC: Added java-models-library dependency
This commit adds a dependency to the java-models-library
(https://github.com/diffblue/java-models-library). This repository
contains models for number of classes derived from the java standard
library. These models are needed to support concurrency.

This means that the process of building JBMC has changed slightly as
one first needs to download the java-models-library. I.E:

  make -C jbmc/src java-models-library-download
  make -C jbmc/src

Due possible licensing issues, the ability to automatically embed the
java core models into JBMC has been removed. Instead, one must
explicitly use the '--classpath' option to load the models.
Consequently, the '--no-core-models' option and related code was
removed as it is no longer relevant.

Commit also adds a new make target, 'make dist'. This target in
addition to building jbmc will create a 'dist' directory with two
sub-folders, bin and lib. Executables will be copied to the former,
while 'core-models.jar' will copied to the latter.

Note: src/org/cprover/CProver.java has also been removed as this has
been superseded by the CProver.java in the java-models-library.
2018-06-05 10:24:14 +01:00
Joel Allred d58eeb4041 Add webhook to invoke a Diffblue-specific function
Triggers compatibility checks for the current PR.

The plan is to then give feedback on the PR as to whether it is
compatible with Diffblue products, but this part is not yet merged.

Function will be moved to the Diffblue cloud (instead of joelallred)
once the framework is finalised.
2018-06-04 15:47:13 +01:00
Daniel Kroening bfae4e3262 enable Travis to do -m32
This requires changing the compiler that runs the tests from clang to gcc-5.
2018-05-31 17:51:46 +01:00
Michael Tautschnig c250880044
Merge pull request #2211 from tautschnig/travis-osx-cleanup
Travis/OSX follow-up cleanup: remove unnecessary environment variables
2018-05-22 06:29:11 +01:00
Peter Schrammel 108129c7dd
Merge pull request #2118 from diffblue/remove-jbmc
remove usage of Java bytecode frontend
2018-05-21 14:53:56 +01:00
Michael Tautschnig 11411e4405 Travis/OSX follow-up cleanup: remove unnecessary environment variables
On OS X (and possibly elsewhere, but this isn't verified)
run_second_cpp/CCACHE_CPP2 is the default, and setting it to "yes" is thus
redundant. Overriding the CXX flags seems unnecessary as it had not be done in
the g++ variant of the build that was just removed.
2018-05-21 11:40:34 +01:00
Peter Schrammel 29a88185e8 Build jbmc on CI 2018-05-20 23:00:12 +01:00
Daniel Kroening 8a68ab8b1a remove g++ build on OS X; this is identical to the clang++ build 2018-05-20 18:53:40 +01:00
sonodtt faaacecc4d
Add dashboard webhooks to travis
The dashboard is going to be updated to use webhooks. This commit enables travis webhooks for firebase.
2018-05-08 17:25:14 +01:00