about summary refs log tree commit diff homepage
path: root/.travis/solvers.sh
blob: 04f3276fd1e3845c30f2c8d1dc511c0e178afeed (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash -x
# Make sure we exit if there is a failure
set -e
: ${SOLVERS?"Solvers must be specified"}

SOLVER_LIST=$(echo "${SOLVERS}" | sed 's/:/ /')

for solver in ${SOLVER_LIST}; do
  echo "Getting solver ${solver}"
  case ${solver} in
  STP)
    echo "STP"
    mkdir stp
    cd stp
    ${KLEE_SRC}/.travis/stp.sh
    cd ../
    ;;
  Z3)
    # FIXME: Move this into its own script
    source ${KLEE_SRC}/.travis/sanitizer_flags.sh
    if [ "X${IS_SANITIZED_BUILD}" != "X0" ]; then
      echo "Error: Requested Sanitized build but Z3 being used is not sanitized"
      exit 1
    fi
    echo "Z3"
    # Should we install libz3-dbg too?
    sudo apt-get -y install libz3 libz3-dev
    ;;
  metaSMT)
    echo "metaSMT"
    ${KLEE_SRC}/.travis/metaSMT.sh
    ;;
  *)
    echo "Unknown solver ${solver}"
    exit 1
  esac
done