about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--.travis.yml1
-rwxr-xr-x.travis/klee.sh11
2 files changed, 11 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index f559c8c8..435d5139 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -61,7 +61,6 @@ env:
     - LLVM_VERSION=2.9 SOLVERS=STP STP_VERSION=2.1.2 KLEE_UCLIBC=klee_0_9_29 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
 
     # Test metaSMT support
-    # TODO: Tests should rerun system tests with different backends.
     - LLVM_VERSION=3.4 SOLVERS=metaSMT METASMT_DEFAULT=btor KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
     - LLVM_VERSION=2.9 SOLVERS=metaSMT METASMT_DEFAULT=btor KLEE_UCLIBC=klee_uclibc_v1.0.0 DISABLE_ASSERTIONS=0 ENABLE_OPTIMIZED=1 COVERAGE=0
 
diff --git a/.travis/klee.sh b/.travis/klee.sh
index e1adc6bc..7ecfe78a 100755
--- a/.travis/klee.sh
+++ b/.travis/klee.sh
@@ -204,6 +204,17 @@ else
   lit -v test/
 fi
 
+# 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"
+  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/
+    fi
+  done
+fi
+
 #generate and upload coverage if COVERAGE is set
 if [ ${COVERAGE} -eq 1 ]; then