about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorHoang M. Le <hle@informatik.uni-bremen.de>2017-10-05 11:37:56 +0200
committerAndrea Mattavelli <andreamattavelli@users.noreply.github.com>2017-10-17 22:22:14 +0100
commitc9e0af1f12d606120b5f6d60a54f1b79cfc01f7c (patch)
tree56701534ca90b0c4a6b17e478380a19c92bcf4a5
parentce39e6e92c27dd59290be18a12ed4cd4c40c01a7 (diff)
downloadklee-c9e0af1f12d606120b5f6d60a54f1b79cfc01f7c.tar.gz
[travis] update scripts to additionally test CVC4 and Yices2
-rw-r--r--.travis.yml2
-rwxr-xr-x.travis/klee.sh2
-rwxr-xr-x.travis/metaSMT.sh12
3 files changed, 11 insertions, 5 deletions
diff --git a/.travis.yml b/.travis.yml
index 7ea242b0..920b1b22 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,7 +24,7 @@ env:
     #   SOLVERS : {Z3, STP, STP:Z3, metaSMT}
     #   STP_VERSION   : {2.1.2, master}
     #   METASMT_VERSION : {v4.rc1}
-    #   METASMT_DEFAULT : {BTOR, STP, Z3}
+    #   METASMT_DEFAULT : {BTOR, CVC4, STP, YICES2, Z3}
     #   METASMT_BOOST_VERSION : {x.y.z} // e.g. 1.60.0, libboost-dev will be used if unspecified
     #   UCLIBC: {0, klee_uclibc_v1.0.0, klee_0_9_29} // Note ``0`` means disabled
     #   DISABLE_ASSERTIONS: {0, 1}
diff --git a/.travis/klee.sh b/.travis/klee.sh
index 33299780..2de6b57c 100755
--- a/.travis/klee.sh
+++ b/.travis/klee.sh
@@ -147,7 +147,7 @@ make systemtests
 # If metaSMT is the only solver, then rerun lit tests with non-default metaSMT backends
 if [ "X${SOLVERS}" == "XmetaSMT" ]; then
   metasmt_default=`echo "${METASMT_DEFAULT,,}"` # klee_opts and kleaver_opts use lowercase
-  available_metasmt_backends="btor stp z3"
+  available_metasmt_backends="btor stp z3 yices2 cvc4"
   for backend in $available_metasmt_backends; do
     if [ "X${metasmt_default}" != "X$backend" ]; then
       lit -v --param klee_opts=-metasmt-backend=$backend --param kleaver_opts=-metasmt-backend=$backend test/
diff --git a/.travis/metaSMT.sh b/.travis/metaSMT.sh
index f0748919..dbdd2643 100755
--- a/.travis/metaSMT.sh
+++ b/.travis/metaSMT.sh
@@ -4,8 +4,8 @@ set -e
 
 : ${METASMT_VERSION?"METASMT_VERSION not specified"}
 
-# Get Z3, libgmp
-sudo apt-get -y install libz3 libz3-dev libgmp-dev
+# Get Z3, libgmp, gperf (required by yices2)
+sudo apt-get -y install libz3 libz3-dev libgmp-dev gperf
 
 # Get Boost
 if [ "X${METASMT_BOOST_VERSION}" != "X" ]; then
@@ -19,6 +19,11 @@ else
   sudo apt-get -y install libboost1.55-dev
 fi
 
+# Get CVC4
+wget http://www.informatik.uni-bremen.de/agra/systemc-verification/media/snapshots/cvc4-594301e.tar.gz
+tar -xf cvc4-594301e.tar.gz
+sudo mv cvc4 /usr
+
 # Clone
 git clone -b ${METASMT_VERSION} --single-branch --depth 1 https://github.com/hoangmle/metaSMT.git
 cd metaSMT
@@ -33,11 +38,12 @@ fi
 # Bootstrap
 export BOOST_ROOT=/usr
 sudo cp dependencies/Z3-2.19/Z3Config.cmake /usr # this is a hack
-./bootstrap.sh -d deps -m RELEASE build -DmetaSMT_ENABLE_TESTS=off -DmetaSMT_REQUIRE_CXX11=off --build stp-git-basic --build boolector-2.2.0 --build minisat-git --build lingeling-ayv-86bf266-140429 -DZ3_DIR=/usr
+./bootstrap.sh -d deps -m RELEASE build -DmetaSMT_ENABLE_TESTS=off -DmetaSMT_REQUIRE_CXX11=off --build stp-git-basic --build boolector-2.2.0 --build minisat-git --build lingeling-ayv-86bf266-140429 --build yices-2.5.1 -DZ3_DIR=/usr -DCVC4_DIR=/usr/cvc4
 sudo cp deps/boolector-2.2.0/lib/* /usr/lib/              #
 sudo cp deps/lingeling-ayv-86bf266-140429/lib/* /usr/lib/ #
 sudo cp deps/minisat-git/lib/* /usr/lib/                  # hack
 sudo cp -r deps/stp-git-basic/lib/lib* /usr/lib/          #
+sudo cp deps/yices-2.5.1/lib/* /usr/lib/                  #
 
 # Build
 make -C build install