Skip to content

Merge master into Security scanner support #818

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

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
e672e0d
Turn "label: goto label;" or "while(cond);" into assume
tautschnig Dec 23, 2016
27ba5d5
support class file loading limit in classpath
Mar 15, 2017
a963d0f
add regression test for class path load limit
Mar 15, 2017
7371265
Call get_language_options from get_goto_model
smowton Nov 30, 2016
89562ca
Adding tests for function pointer removal
Jan 13, 2017
995f504
Made remove_function_pointers inherit from messaget
Jan 30, 2017
563a351
First implemention of the new approach
Feb 2, 2017
3b3acd6
Support for removing the typecast
Feb 2, 2017
e4829eb
Adding support for top level pointers and typecasts
Feb 2, 2017
11f15ee
Fixing arrays containing null pointers
Feb 2, 2017
a479c98
Correctly deal with const structures
Feb 2, 2017
921f0b7
Fixing component access and const access
Feb 2, 2017
b814d65
Fixing todo to use separate array
Feb 6, 2017
22ca113
Corrected const-ness for components
Feb 7, 2017
d87dffd
Handle failure to squash the value when getting out of an array
Feb 7, 2017
f51b252
Correcting const check for pointers
Feb 7, 2017
1fbfbbc
Adding examples to tests of what the const prevents
Feb 7, 2017
5ab672a
Corrected const check for no FP pointers
Feb 7, 2017
0499b44
Added tests to cover a couple of missed lines
Feb 7, 2017
208ef2b
Fixed issue with structs with other components
Feb 8, 2017
3da26cd
Adding test for another way the previous bug could be exhibited
Feb 8, 2017
eefba98
Adding a test variation of 44 without the consts that fails correctly
Feb 8, 2017
132801a
Squash constant symbols first
Feb 8, 2017
931b239
Fixed major bug with non const structs
Feb 8, 2017
2e94125
Removing redundant code
Feb 8, 2017
63afb80
Added logging for all the ways the FP removal might not complete
Feb 8, 2017
9da5ba2
Adding consistency checks for the output
Feb 9, 2017
d81f6cb
Adding comments to remove_const_function_pointers
Feb 9, 2017
3e669c0
Renamed all the tests
Feb 9, 2017
a6e71e0
Tidied up tests
Feb 10, 2017
ea5c151
Fixing compile errors for musketeer
Feb 10, 2017
f68ff26
Refactored resolve_index_of_function_call
Feb 10, 2017
6298fea
Split out functions from try_resolve_function_call
Feb 10, 2017
5d33d4d
Made the behaviour of try_resolve_function_call clearer
Feb 10, 2017
a75957b
Split up try_resolve_expression into functions
Feb 10, 2017
37660b1
Made other try_resolve*_function_call use the normal method
Feb 10, 2017
8362233
Extracted element dealing with calling resolve on each result
Feb 10, 2017
e57677e
Adding the pointer check flag
Feb 13, 2017
0de6b17
Adding checks for NULL function pointers
Feb 13, 2017
10a08ef
Renaming functions to more consistent name
Feb 13, 2017
cf6a49a
Swap to using an unorded set
Feb 13, 2017
db11c31
Added flag for goto-instrument to just remove const function pointers
Feb 13, 2017
052da5a
Check the GOTO program for loss of const
Feb 14, 2017
6ba0469
Added a couple of missed test cases.
Feb 16, 2017
18b5907
Fixing tests to work with new test.pl
Feb 16, 2017
2538f4f
Fixing missing new lines
Feb 20, 2017
29e7e0d
Split out the const check into own analysis
Mar 20, 2017
649e0bf
Descend all children of the same base type
Mar 21, 2017
4607e73
PR Feedback implementation
Mar 22, 2017
d7c15ae
Use pointers in is_type_at_least_as_const_as
Mar 22, 2017
35356bd
keep typedefs when dumping c with --use-system-headers
Dec 14, 2016
08cf4ee
Added initial collection of tests for typedef'd types
Dec 14, 2016
99067de
If a type has a typedef then use that when printing the type
Dec 14, 2016
eb7e551
Adding tests for structs and parameters using typedefs
Dec 15, 2016
0152f67
Improved chain.sh to remove old .gb files first
Dec 16, 2016
e8dbc40
Adding tests for union typedefs
Dec 16, 2016
5dd0c8a
Adding const variables tests
Dec 16, 2016
bb09401
Adding tests for anonymous unions
Dec 16, 2016
79f1638
Adding regression tests for multiple declarations on one line
Dec 16, 2016
fc8d7c6
Added regressions for typedefs on the source file
Dec 16, 2016
22e9267
Use ID_C_typedef rather than ID_typedef
Dec 16, 2016
7c1aeb4
Fixing relevant lint errors
Jan 16, 2017
c64eacc
Fixed the failing ANSI-C test caused by typedef types not being equal
Jan 17, 2017
eec7a5d
Turn the ID_C_typedef into a comment
Jan 26, 2017
b56a339
Generalise witness as location numbers may vary
tautschnig Dec 12, 2016
9c68c07
Rename _start to __CPROVER_start
tautschnig Mar 24, 2017
b1fd150
SV-COMP's __VERIFIER_error is assert(0); abort();
tautschnig Dec 31, 2016
24a9ca0
Graphml output: do not output assumptions containing internal identif…
tautschnig Jan 7, 2017
df0890b
GraphML witnesses: code cleanup, output nondet return values
tautschnig Feb 25, 2017
c8687e7
Print the original return type in coverage report
tautschnig Mar 13, 2017
08162b6
Make recording of branches possible
tautschnig Mar 13, 2017
b7b0059
Properly report branch coverage
tautschnig Mar 13, 2017
2a86ae3
Tests for variable sensitivity in goto-analyzer
Feb 24, 2017
dfc3b6e
Support --property with --reachability-slice
tautschnig Mar 3, 2017
ee3c39a
Always check Java pointers for null before deref
smowton Mar 30, 2017
eb20cdf
Amend tests perturbed by adding null pointer checks
smowton Mar 31, 2017
f9cd371
Document change to pointer-check option
smowton Mar 31, 2017
acbe2d0
New goto-instrument option --list-calls-args
tautschnig Apr 21, 2016
bacd444
goto-instrument --print-path-lengths: statistics about control-flow g…
May 13, 2016
68bded3
List functions (with start and end lines) that won't be used
tautschnig Sep 1, 2016
50170f0
goto-analyzer --reachable-functions
tautschnig Sep 5, 2016
5875335
goto-instrument: Replace calls to undefined functions by assume(false)
tautschnig Jul 11, 2016
1bc1239
Print status information upon reaching assume(false)
tautschnig Jul 11, 2016
5d1f301
Enable ccache on Travis, plus travis.yml restructuring
forejtv Mar 24, 2017
279b3ca
Allow cpplint to fail on Travis.
forejtv Mar 31, 2017
e7529e8
Add XML and JSON output to the base of both ai domains and the ai ana…
Sep 8, 2016
4e354e3
Merge branch 'master' of github.com:diffblue/cbmc
Apr 3, 2017
23d6aad
Constant propagator and intervals regression tests
Sep 9, 2016
b0846b2
Add utility function to tell if a program is threaded or not.
Dec 15, 2016
cc26814
Fixes and improvements to the constant and interval domain.
Dec 19, 2016
d5e8fca
camel case for json
danpoe Jan 27, 2017
c16d75b
merge fixes
danpoe Feb 22, 2017
49163a4
Merge pull request #745 from forejtv/feature/travis-ccache
Apr 3, 2017
1e0334d
fix travis merge problem
forejtv Apr 3, 2017
b4b3c75
Mark goto-analyzer tests as not working until the new version is merg…
forejtv Apr 3, 2017
ea1f475
Split Travis debug build to separate jobs, and run it only on Linux.
forejtv Apr 3, 2017
69674f6
Merge pull request #753 from forejtv/bugfix/master-fixes
Apr 4, 2017
8ea36da
Merge pull request #747 from tautschnig/undefined-function-assume-false
Apr 4, 2017
07e072b
Use versioned container of Alpine linux.
Mar 30, 2017
95284f5
Merge pull request #358 from thk123/bug/typedef-structs-clean
Apr 4, 2017
bf08eee
Merge pull request #375 from tautschnig/trivial-loops
Apr 4, 2017
fae3cd8
Merge pull request #519 from thk123/feature/clean-fp-removal
Apr 4, 2017
2fa05f4
Merge pull request #566 from owen-jones-diffblue/feature/tests-for-se…
Apr 4, 2017
bc483df
Merge pull request #588 from smowton/sss_get_language_options
Apr 4, 2017
314b390
Merge pull request #639 from mgudemann/feature/limit_class_path_loading
Apr 4, 2017
c717737
Merge pull request #680 from tautschnig/coverage-fixes
Apr 4, 2017
57f9fa6
Merge pull request #721 from tautschnig/rename-_start
Apr 4, 2017
21d1bfa
Merge branch 'master' into reachability-slice
Apr 4, 2017
7ddee5f
Merge pull request #732 from tautschnig/reachability-slice
Apr 4, 2017
4a24bd9
Merge pull request #734 from tautschnig/sv-comp-support
Apr 4, 2017
f03c32d
Merge pull request #736 from zemanlx/feature/travis-use-versioned-con…
Apr 4, 2017
f55e413
Merge pull request #737 from smowton/java_null_checks
Apr 4, 2017
e69632e
Merge pull request #740 from tautschnig/status-assume-false
Apr 4, 2017
7b6b527
Fix failing build on master.
forejtv Apr 4, 2017
65cad8f
Fix failing test's regexp.
forejtv Apr 4, 2017
32a68db
Merge pull request #757 from forejtv/bugfix/master-fixes
Apr 4, 2017
b917b5e
Replace irep_ids_convert program with preprocessor
reuk Mar 12, 2017
52300e9
Mark dstring constructor `explicit`
reuk Mar 12, 2017
e4ac031
Use static constructor idiom
reuk Mar 13, 2017
494d772
Declare strings extern
reuk Mar 14, 2017
2c61ff2
Merge pull request #624 from reuk/irep-ids-improvements
Apr 5, 2017
e0f32f0
Add empty string to list of irep ids
reuk Apr 6, 2017
36fa417
Merge pull request #766 from reuk/irep-ids-bugfix
Apr 6, 2017
05192db
Remove blank lines from regression test specs
tautschnig Apr 6, 2017
01ed76a
Merge pull request #768 from tautschnig/remove-blanks
Apr 6, 2017
82cbd73
Allow long long int instead of just long int in regexp of some tests.
forejtv Apr 6, 2017
25de959
Merge pull request #776 from forejtv/bugfix/issue-769
tautschnig Apr 7, 2017
5df0da6
fix for wrong refactoring to ranged-for
Apr 7, 2017
45ce4d0
Merge branch 'master' of github.com:diffblue/cbmc
Apr 7, 2017
0d7975c
musketeer: fix edge types
tautschnig Apr 7, 2017
31ea4c3
Adding build icon for AppVeyor
Apr 6, 2017
219b8bd
Make it clear test isn't really working
Apr 6, 2017
8dcd386
Make test work again and turn it on
Apr 6, 2017
ff0088f
Provide statistics of function-pointer removal
tautschnig Apr 4, 2017
4b42ad6
Speed up OSX builds on Travis.
forejtv Apr 7, 2017
2dc514a
Add appveyor.yml
forejtv Apr 7, 2017
893e219
Merge pull request #784 from forejtv/create-appveyor-yml
Apr 8, 2017
f6a35f3
Merge pull request #783 from forejtv/osx-travis-speedup
Apr 8, 2017
e88df0b
Merge pull request #775 from thk123/feature/appveyor-badge
Apr 8, 2017
985f1a7
Merge pull request #741 from tautschnig/fct-ptr-stats
Apr 8, 2017
e7db8a3
Document symbol table functions
Apr 10, 2017
783de4b
Added 'C_cxx_alloc_type' irep id
mariusmc92 Apr 10, 2017
31b59f8
Merge pull request #793 from mariusmc92/cleanup/rename-type-irep-ids
Apr 10, 2017
2b76c1c
Merge pull request #791 from owen-jones-diffblue/doc/symbol-table
Apr 10, 2017
ae0ab67
Merge pull request #780 from tautschnig/fix-778
Apr 10, 2017
1f1631a
Travis fix: ccache limit was in the wrong section
forejtv Apr 12, 2017
bf0103e
Merge pull request #816 from forejtv/bugfix/ccache-on-mac-clang
tautschnig Apr 13, 2017
a17063d
Merge pull request #771 from owen-jones-diffblue/bugfix/overflow-test
tautschnig Apr 13, 2017
70b2ba6
Used ID_C_cxx_alloc_type in value_set_fi.cpp
mariusmc92 Apr 13, 2017
5813937
Merge pull request #825 from mariusmc92/cleanup/replace-hash-type-wit…
Apr 13, 2017
9c06fba
Merge master into security-scanner-support
NathanJPhillips Apr 13, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ src/ansi-c/gcc_builtin_headers_ia32-2.inc
src/ansi-c/gcc_builtin_headers_ia32.inc
src/ansi-c/gcc_builtin_headers_mips.inc
src/ansi-c/gcc_builtin_headers_power.inc
src/util/irep_ids.h
src/util/irep_ids.inc

# regression/test files
*.out
Expand Down
115 changes: 95 additions & 20 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,30 +7,46 @@ matrix:
- os: linux
sudo: required
compiler: gcc
cache: ccache
services:
- docker
before_install:
- docker pull diffblue/cbmc-builder:alpine
- docker pull diffblue/cbmc-builder:alpine-0.0.1
env:
- PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc diffblue/cbmc-builder:alpine"
- COMPILER=g++
- PRE_COMMAND="docker run -v ${TRAVIS_BUILD_DIR}:/cbmc -v ${HOME}/.ccache:/root/.ccache diffblue/cbmc-builder:alpine-0.0.1"
- COMPILER="ccache g++"

# OS X using g++
- os: osx
sudo: false
compiler: gcc
cache: ccache
before_install:
#we create symlink to non-ccache gcc, to be used in tests
- mkdir bin ; ln -s /usr/bin/gcc bin/gcc
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
- export PATH=/usr/local/opt/ccache/libexec:$PATH
- ccache -M 1G
env: COMPILER=g++

# OS X using clang++
- os: osx
sudo: false
compiler: clang
env: COMPILER=clang++
cache: ccache
before_install:
- HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
- export PATH=/usr/local/opt/ccache/libexec:$PATH
- ccache -M 1G
env:
- COMPILER="ccache clang++ -Qunused-arguments -fcolor-diagnostics"
- CCACHE_CPP2=yes

# Ubuntu Linux with glibc using g++-5
- os: linux
sudo: false
compiler: gcc
cache: ccache
addons:
apt:
sources:
Expand All @@ -42,12 +58,57 @@ matrix:
before_install:
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
# env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
env: COMPILER=g++-5
env: COMPILER="g++-5"

# Ubuntu Linux with glibc using g++-5, debug mode
- os: linux
sudo: false
compiler: gcc
cache: ccache
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libwww-perl
- g++-5
- libubsan0
before_install:
- mkdir bin ; ln -s /usr/bin/gcc-5 bin/gcc
# env: COMPILER=g++-5 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover -fno-omit-frame-pointer"
env:
- COMPILER="g++-5"
- EXTRA_CXXFLAGS="-DDEBUG"
script: echo "Not running any tests for a debug build."

# Ubuntu Linux with glibc using clang++-3.7
- os: linux
sudo: false
compiler: clang
cache: ccache
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.7
packages:
- libwww-perl
- clang-3.7
- libstdc++-5-dev
- libubsan0
before_install:
- mkdir bin ; ln -s /usr/bin/clang-3.7 bin/gcc
- export CCACHE_CPP2=yes
# env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
env:
- COMPILER="ccache clang++-3.7 -Qunused-arguments -fcolor-diagnostics"
- CCACHE_CPP2=yes

# Ubuntu Linux with glibc using clang++-3.7, debug mode
- os: linux
sudo: false
compiler: clang
cache: ccache
addons:
apt:
sources:
Expand All @@ -60,25 +121,39 @@ matrix:
- libubsan0
before_install:
- mkdir bin ; ln -s /usr/bin/clang-3.7 bin/gcc
- export CCACHE_CPP2=yes
# env: COMPILER=clang++-3.7 SAN_FLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined,integer -fno-omit-frame-pointer"
env: COMPILER=clang++-3.7
env:
- COMPILER="ccache clang++-3.7 -Qunused-arguments -fcolor-diagnostics"
- CCACHE_CPP2=yes
- EXTRA_CXXFLAGS="-DDEBUG"
script: echo "Not running any tests for a debug build."

- env: NAME="CPP-LINT"
script: scripts/travis_lint.sh || true
install:
script: scripts/travis_lint.sh
before_cache:

allow_failures:
- env: NAME="CPP-LINT"
install:
script: scripts/travis_lint.sh
before_cache:

install:
- COMMAND="make -C src minisat2-download" &&
eval ${PRE_COMMAND} ${COMMAND}
- COMMAND="make -C src boost-download" &&
eval ${PRE_COMMAND} ${COMMAND}
- COMMAND="make -C src CXX=\"$COMPILER\" CXXFLAGS=\"-Wall -O2 -g -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare -DUSE_BOOST $EXTRA_CXXFLAGS\" -j2" &&
eval ${PRE_COMMAND} ${COMMAND}
- COMMAND="make -C src CXX=\"$COMPILER\" CXXFLAGS=\"$FLAGS $EXTRA_CXXFLAGS\" -j2 cegis.dir clobber.dir memory-models.dir musketeer.dir" &&
eval ${PRE_COMMAND} ${COMMAND}

script:
- if [ -L bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
COMMAND="make -C src minisat2-download" &&
eval ${PRE_COMMAND} ${COMMAND} &&
COMMAND="make -C src boost-download" &&
eval ${PRE_COMMAND} ${COMMAND} &&
COMMAND="make -C src CXX=$COMPILER CXXFLAGS=\"-Wall -O2 -g -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare -DUSE_BOOST\" -j2" &&
eval ${PRE_COMMAND} ${COMMAND} &&
- if [ -e bin/gcc ] ; then export PATH=$PWD/bin:$PATH ; fi ;
COMMAND="env UBSAN_OPTIONS=print_stacktrace=1 make -C regression test" &&
eval ${PRE_COMMAND} ${COMMAND} &&
COMMAND="make -C src CXX=$COMPILER CXXFLAGS=$FLAGS -j2 cegis.dir clobber.dir memory-models.dir musketeer.dir" &&
eval ${PRE_COMMAND} ${COMMAND} &&
COMMAND="make -C src clean" &&
eval ${PRE_COMMAND} ${COMMAND} &&
COMMAND="make -C src CXX=$COMPILER CXXFLAGS=\"-Wall -O0 -ggdb3 -Werror -Wno-deprecated-register -pedantic -Wno-sign-compare -DDEBUG\" -j2" &&
eval ${PRE_COMMAND} ${COMMAND}

before_cache:
- ccache -s
11 changes: 11 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
5.8
===

* GOTO-INSTRUMENT: --reachability-slice can be used with --property to slice
down to a single property only.
* GOTO-INSTRUMENT: New option --list-calls-args
* GOTO-INSTRUMENT: New option --print-path-lenghts
* GOTO-ANALYZER: New option --unreachable-functions, --reachable-functions
* GOTO-INSTRUMENT: New option --undefined-function-is-assume-false


5.7
===

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build Status][build_img]][travis]
[![Build Status][travis_img]][travis] [![Build Status][appveyor_img]][appveyor]

[CProver Wiki](http://www.cprover.org/wiki)

Expand All @@ -19,5 +19,7 @@ License
=======
4-clause BSD license, see `LICENSE` file.

[build_img]: https://travis-ci.org/diffblue/cbmc.svg?branch=master
[travis]: https://travis-ci.org/diffblue/cbmc
[travis_img]: https://travis-ci.org/diffblue/cbmc.svg?branch=master
[appveyor]: https://ci.appveyor.com/project/diffblue/cbmc/
[appveyor_img]: https://ci.appveyor.com/api/projects/status/github/diffblue/cbmc?svg=true&branch=master
110 changes: 110 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
version: 1.0.{build}
image: Visual Studio 2013
clone_depth: 50
environment:
BUILD_ENV: MSVC
PATH: C:\projects\cbmc\deps\bin;%PATH%
INCLUDE: C:\projects\cbmc\deps\include
install:
- ps: |
#check if dependencies were copied from cache, if not, download them.
if (!(Test-Path deps)) {
md deps
}
cd deps
if (!(Test-Path bin\bison.exe)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/bison-2.4.1-bin.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=JAPFzNPMJDI4IViAVlJAEc6l8aHB3k17NpZRdoWDMLbALaJNX88vfwocuezU1tfhyrSJxfo2fTK4rgP5OULkikJs7MBZI9ovp2V%2BMT6yg87KDdH9EIOlMgltGfbP%2BoZkwBY7kXb3W5puSlt4OTE%2Bw7CRlHF9MNqFXVBqVBfa%2BGw0gXDe5Jd9qV%2BvUXZzRuBl9ERSQkSD%2B%2B%2BxFo24FZoOeYkgBHJz03%2BHuIMnlmcLgneTB2aiZZU3%2B6UTPceUxLus9%2Bksb5UbqEVaVE06TIXl76VKwqAgXM2LWaNyeJDog%2BT%2BhjW4v4ypxh6mIBo5KRNXVLPc1MxSPFQB3ITlIXv9Zg%3D%3D"
& 7z x bison-2.4.1-bin.zip
}
if (!(Test-Path bin\flex.exe)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/flex-2.5.4a-1-bin.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=WriP8S047Mmq271ZHWL0MCPGx1gEFsuc%2BKMmChoXhXFRkn0GlIgCxZEiOu52ke9fT1kAvycWXePNBFAyCHjpF%2BJkXCwisQ6FLIf3NL%2F92849YgQKdJkDUOcZ%2Bh82XVTwNBrljKIkExkak7QEyhOf3buTC1oeuatCUV5Ez42RZjgtRiJaqcFW6xLbhfuVONr39KxH5hGx%2FDUi2RRXPbgoKDwavc9s56NP1rNbWMTE6NdNHzJeaf43E%2BSMemlVO%2BhhIY6W0f%2FtaQ7fYF%2F6YaqxdQ0sB8W5DnG4Hb%2F0CyQlrTZpGDXGr301rV0M4WBkYLmfauq4IyJsBaR095tXGW%2BzmA%3D%3D"
& 7z x flex-2.5.4a-1-bin.zip
}
if (!(Test-Path include\FlexLexer.h)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/flex-2.5.4a-1-lib.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=H%2FLeKGv2QqKAGDTP%2F6TYPhDzuL6K%2F5dFOt61HfYBm1vUWVUNmAYVGvUAcvnUqBnhEHwZgtc8vZt1H7k3W8azxCUc7l6ZhlCDbqQ6Mg2VhfpBaQMbL1V%2BjSq5ePpWcuLMBntKk2br38PF1NtiAwCCpRTRPptaYPeGs%2BOjAH%2BN8aIIxjvj45QAgt9mcg6dfBsyfj5fdJmpHRQFuJ7%2FnsG50fmN5JDvdvmBWloB6rjxVWaN4XO6VTWZFZ34JWFyOqgWNEw9aDN3HdsSuJ0Uz19AbdwZBIWe5Elrl71rRJjn1lijCknDB7D4sAmP33k71e%2BB0qvsNl1Shuh9FkY8Z6y05Q%3D%3D"
& 7z x flex-2.5.4a-1-lib.zip
}
if (!(Test-Path bin\iconv.exe)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/libiconv-1.9.2-1-bin.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=sS3Y2lC1oWOhBDsL8C9ASuO4LOM%2BpB%2F8PwG5w5CdB9JnPfLqhb3FnA1zkkZJoSNuIYS3DM6CN2qxoWjpJbLEtVQe0PpxziQZjLpJw2MpxXdJiJHRDu8x9THgzwuZ3ze5BWHzPoCBQPdRkKzVPezf1HwptUsm3Y9c2jlWljQjhc8NVsI4iPmjEOwT8E%2BYpR5fsLs2GsRjuoyqKa%2Bi4JJ6MbpXVX1IgR4fzp1Li9SnE39ujHDb%2FyI3c96eCdVm1Oa6jNxzSJNfq%2FgOZM8BIxlR55a%2BtM3oBQhU0voEtDOABwuO7ZBay8dLt%2FG5vz1%2Bi%2FIlRLFxQfICaprPLzw6pXRm8Q%3D%3D"
& 7z x libiconv-1.9.2-1-bin.zip
}
if (!(Test-Path bin\libintl3.dll)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/libintl-0.14.4-bin.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=lJViGr6bl%2F4i%2B6nIfeYChreq%2FKfgid9QqGSq7Ie%2FMG%2Fmr9nPyPUA%2BLtT7jn1ogunTzQLZP%2FNxVFcYqyd8gyuT%2Bn2MF80Ds4Whw4cRYnXPb2LZg4%2FiEqZV6wgBMIQfq5v2l3lAsglISVErOik%2BQAHec5gZe2%2BKaVjRnJnhPRziZkQyzF9Xdf2xsPi28hBaX4RQx8XqSLcY1kQpY13PDBZDi9lmdKHf0pBKu%2F0WXspmRAU02HtleMk6Zeg5vEDFcwoe8C3fb4vwtpwGwN9TX5ddaq56yUVn70zh%2BH2KgKIsRl26avnrCpeWF9M5lLck0ngaqFX84w%2BgxmZu40IVU%2Ff0A%3D%3D"
& 7z x libintl-0.14.4-bin.zip
}
if (!(Test-Path bin\make.exe)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/make-3.81-bin.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=PRC97AWzJ2ZAyjEK4p7eCbA3RAEr8sTf8TUK5zoMBcrXPUHWYjnCwXRMnIxUUufBYjsAx8t1XnOQdlTuAPJYpcha%2FFJRlcxMmfQjNbpNEQFJuqEpA5c%2FGhFYxSD3a26vjpgReUW5MuQXeLeNh7PziLB0GP0sdRHN%2B1eDiHeCJWYNMYhrEY9BAkf5rXeRQWr1ZG0Hzq%2FxZEHceypx8xyaT%2BFzREYQOyKjGdre1QXtI%2FXo4ImA1xWt%2F8TnlGcAnCEaTltxuSRVB%2F7s1ShMr9KoagCb%2BjBWq6BgbcNGxyzyOZfi2Sjjo39mhudF9DNbKbkczes9Kp3ySgXmrXSWjIG4Iw%3D%3D"
& 7z x make-3.81-bin.zip
}
if (!(Test-Path bin\regex2.dll)) {
& appveyor DownloadFile "https://storage.googleapis.com/diffblue-mirror/appveyor-deps/regex-2.7-bin.zip?GoogleAccessId=diffbluemaster@diffblue-cr.iam.gserviceaccount.com&Expires=1519839050&Signature=bXRvFV%2Be4Dpm8vzp%2F1bJWwgkERE6WakcPTBN57n9vNh0dr42jDTXv8JF%2BWCmTIb%2Fy4XzxYl0faggt3g6TqTLYn5UDVUBYx%2FMLmNVVNEv%2BaBlDd87UAZGLi6fkEV5oAP4W4FYsqEnKRDfGPOBoL7D7CuW9Kcxy3Moubxdl%2Bmes%2BMI%2FzWJ6BgLD3Oj04GyD42zLCYVtAzkeDAX0UADoh06ExhpTjI4BNnQ%2FhzSlPtPG7mon4q81%2F2tDNskKVJS466eR%2F8XV6H4QT3LoCkh6dxQ9%2B9ZnkWJplundRbiIlpj43vmdvjIChczl4jbAgL6zFj5Gz6u58uvCV%2FbOuyx3Sw1fg%3D%3D"
& 7z x regex-2.7-bin.zip
}
if (!(Test-Path minisat2-2.2.1)) {
& appveyor DownloadFile http://ftp.debian.org/debian/pool/main/m/minisat2/minisat2_2.2.1.orig.tar.gz
& 7z x minisat2_2.2.1.orig.tar.gz
&7z x minisat2_2.2.1.orig.tar
}
cd ..

cache: deps

build_script:
- cmd: |
cp -r deps/minisat2-2.2.1 minisat-2.2.1
patch -d minisat-2.2.1 -p1 < scripts/minisat-2.2.1-patch
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
sed -i "s/BUILD_ENV.*/BUILD_ENV = MSVC/" src/config.inc
make -C src -j2

test_script:
- cmd: |
cd regression
sed -i "s/goto-cc\/goto-cc/goto-cc\/goto-cl/" ansi-c/Makefile
sed -i "s/goto-cc\/goto-cc/goto-cc\/goto-cl/" cpp/Makefile
sed -i "s/goto-cc\/goto-cc/goto-cc\/goto-cl/" goto-instrument/chain.sh
sed -i "15s/.*/$goto_cc $name.c/" goto-instrument/chain.sh
sed -i "16i mv $name.exe $name.gb" goto-instrument/chain.sh
sed -i "23s/.*/ $goto_cc ${name}-mod.c/" goto-instrument/chain.sh
sed -i "24i mv ${name}-mod.exe $name-mod.gb" goto-instrument/chain.sh
cat goto-instrument/chain.sh

sed -i "s/goto-cc\/goto-cc/goto-cc\/goto-cl/" goto-instrument-typedef/chain.sh || true
sed -i "12s/.*/$GC $NAME.c --function fun/" goto-instrument-typedef/chain.sh || true
sed -i "13i mv $NAME.exe $NAME.gb" goto-instrument-typedef/chain.sh || true
cat goto-instrument-typedef/chain.sh || true

rem HACK disable failing tests
rmdir /s /q ansi-c\Forward_Declaration2
rmdir /s /q ansi-c\Incomplete_Type1
rmdir /s /q ansi-c\Union_Padding1
rmdir /s /q ansi-c\Universal_characters1
rmdir /s /q ansi-c\function_return1
rmdir /s /q ansi-c\gcc_attributes7
rmdir /s /q ansi-c\struct6
rmdir /s /q ansi-c\struct7
rmdir /s /q cbmc\Malloc23
rmdir /s /q cbmc\byte_update2
rmdir /s /q cbmc\byte_update3
rmdir /s /q cbmc\byte_update4
rmdir /s /q cbmc\byte_update5
rmdir /s /q cbmc\byte_update6
rmdir /s /q cbmc\byte_update7
rmdir /s /q cbmc\pipe1
rmdir /s /q cbmc\unsigned___int128
rmdir /s /q cpp\Decltype1
rmdir /s /q cpp\Decltype2
rmdir /s /q cpp\Function_Overloading1
rmdir /s /q cpp\enum2
rmdir /s /q cpp\enum7
rmdir /s /q cpp\enum8
rmdir /s /q cpp\nullptr1
rmdir /s /q cpp\sizeof1
rmdir /s /q cpp\static_assert1
rmdir /s /q cbmc-java\VarLengthArrayTrace1
rmdir /s /q cbmc-java\classpath1
rmdir /s /q cbmc-java\jar-file3
rmdir /s /q cbmc-java\tableswitch2
rmdir /s /q goto-instrument\slice08

make test
1 change: 1 addition & 0 deletions regression/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ DIRS = ansi-c \
cbmc-java \
goto-analyzer \
goto-instrument \
goto-instrument-typedef \
test-script \
# Empty last line

Expand Down
4 changes: 2 additions & 2 deletions regression/acceleration/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ show:
done;

clean:
rm -f tests.log
rm -f */main.out
$(RM) tests.log
$(RM) */main.out
1 change: 0 additions & 1 deletion regression/acceleration/array_unsafe1/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/array_unsafe2/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/array_unsafe3/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/array_unsafe4/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/const_unsafe1/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/diamond_unsafe1/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/diamond_unsafe2/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
1 change: 0 additions & 1 deletion regression/acceleration/functions_unsafe1/test.desc
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
CORE
main.c
--no-unwinding-assertions

^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
Loading