about summary refs log tree commit diff homepage
path: root/test
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2014-09-12 15:28:48 -0700
committerDaniel Dunbar <daniel@zuster.org>2014-09-12 17:39:18 -0700
commit59970eaaef72fc5812cc013b2993633efe2749e0 (patch)
tree9876e8f46fad609bb39a7b1e917c9b1410a9c337 /test
parent8c3e28cfe911a46d2a73d0434a048d60c35635bf (diff)
downloadklee-59970eaaef72fc5812cc013b2993633efe2749e0.tar.gz
Add support for testing Concrete tests via lit.
Fixes #96.
Diffstat (limited to 'test')
-rw-r--r--test/Concrete/BitwiseOps.ll2
-rw-r--r--test/Concrete/BoolReadWrite.ll2
-rwxr-xr-xtest/Concrete/Casts.ll2
-rw-r--r--test/Concrete/CmpEq.ll2
-rw-r--r--test/Concrete/ConstantExpr.ll2
-rw-r--r--test/Concrete/FloatingPointOps.ll1
-rwxr-xr-xtest/Concrete/GlobalInitializers.ll2
-rw-r--r--test/Concrete/GlobalUndef.ll3
-rw-r--r--test/Concrete/GlobalVariable.ll2
-rw-r--r--test/Concrete/ICmp.ll2
-rw-r--r--test/Concrete/InvokeAndReturn.ll2
-rw-r--r--test/Concrete/InvokeAndUnwindOnce.ll2
-rw-r--r--test/Concrete/InvokeAndUnwindTwice.ll2
-rw-r--r--test/Concrete/OneCall.ll2
-rw-r--r--test/Concrete/OverlappingPhiNodes.ll2
-rw-r--r--test/Concrete/Select.ll2
-rw-r--r--test/Concrete/Shifts.ll2
-rw-r--r--test/Concrete/SimpleStoreAndLoad.ll2
-rw-r--r--test/Concrete/UnconditionalBranch.ll2
-rw-r--r--test/Concrete/UnconditionalBranchWithSimplePhi.ll2
-rw-r--r--test/Concrete/UnorderedPhiNodes.ll2
-rw-r--r--test/Concrete/_testingUtils.c4
-rw-r--r--test/Concrete/ackermann.c2
-rw-r--r--test/Concrete/arith_test.ll2
-rw-r--r--test/Concrete/lit.local.cfg3
-rw-r--r--test/lit.cfg3
26 files changed, 50 insertions, 6 deletions
diff --git a/test/Concrete/BitwiseOps.ll b/test/Concrete/BitwiseOps.ll
index cf5e7e6b..034dcace 100644
--- a/test/Concrete/BitwiseOps.ll
+++ b/test/Concrete/BitwiseOps.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/BoolReadWrite.ll b/test/Concrete/BoolReadWrite.ll
index f37359f8..a39d5ab5 100644
--- a/test/Concrete/BoolReadWrite.ll
+++ b/test/Concrete/BoolReadWrite.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i1(i1)
 
 define i32 @main() {
diff --git a/test/Concrete/Casts.ll b/test/Concrete/Casts.ll
index 1329a127..3059a867 100755
--- a/test/Concrete/Casts.ll
+++ b/test/Concrete/Casts.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/CmpEq.ll b/test/Concrete/CmpEq.ll
index a8c2fe7a..cf81e3ca 100644
--- a/test/Concrete/CmpEq.ll
+++ b/test/Concrete/CmpEq.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/ConstantExpr.ll b/test/Concrete/ConstantExpr.ll
index 2bc33a1e..ed0fa9e6 100644
--- a/test/Concrete/ConstantExpr.ll
+++ b/test/Concrete/ConstantExpr.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 @gInt = global i32 10
 @gIntWithConstant = global i32 sub(i32 ptrtoint(i32* @gInt to i32), 
                                  i32 ptrtoint(i32* @gInt to i32))
diff --git a/test/Concrete/FloatingPointOps.ll b/test/Concrete/FloatingPointOps.ll
index c7807503..5c63ac83 100644
--- a/test/Concrete/FloatingPointOps.ll
+++ b/test/Concrete/FloatingPointOps.ll
@@ -1,3 +1,4 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
 
 ; casting error messages
 @.strTrunc     = internal constant [15 x i8] c"FPTrunc broken\00"
diff --git a/test/Concrete/GlobalInitializers.ll b/test/Concrete/GlobalInitializers.ll
index b4d95de6..6314b075 100755
--- a/test/Concrete/GlobalInitializers.ll
+++ b/test/Concrete/GlobalInitializers.ll
@@ -1,4 +1,4 @@
-; (cd .. && make) && ../llvm/Release/bin/llvm-as test.ll -o=- | ../Debug/bin/klee 
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
 
 declare void @print_i32(i32)
 
diff --git a/test/Concrete/GlobalUndef.ll b/test/Concrete/GlobalUndef.ll
index c797ec81..71e380ae 100644
--- a/test/Concrete/GlobalUndef.ll
+++ b/test/Concrete/GlobalUndef.ll
@@ -1,4 +1,5 @@
-; ModuleID = 'x.c'
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 target datalayout =
 "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
diff --git a/test/Concrete/GlobalVariable.ll b/test/Concrete/GlobalVariable.ll
index d15df064..8a29d0fb 100644
--- a/test/Concrete/GlobalVariable.ll
+++ b/test/Concrete/GlobalVariable.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 @anInt = global i32 1
diff --git a/test/Concrete/ICmp.ll b/test/Concrete/ICmp.ll
index e2a1ef24..649ea4a8 100644
--- a/test/Concrete/ICmp.ll
+++ b/test/Concrete/ICmp.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i1 @checkSlt() {
diff --git a/test/Concrete/InvokeAndReturn.ll b/test/Concrete/InvokeAndReturn.ll
index f73c242a..13fd3e05 100644
--- a/test/Concrete/InvokeAndReturn.ll
+++ b/test/Concrete/InvokeAndReturn.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i8 @sum(i8 %a, i8 %b) {
diff --git a/test/Concrete/InvokeAndUnwindOnce.ll b/test/Concrete/InvokeAndUnwindOnce.ll
index 2834ec82..dfd929db 100644
--- a/test/Concrete/InvokeAndUnwindOnce.ll
+++ b/test/Concrete/InvokeAndUnwindOnce.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i8 @sum(i8 %a, i8 %b) {
diff --git a/test/Concrete/InvokeAndUnwindTwice.ll b/test/Concrete/InvokeAndUnwindTwice.ll
index 81760b86..148760d8 100644
--- a/test/Concrete/InvokeAndUnwindTwice.ll
+++ b/test/Concrete/InvokeAndUnwindTwice.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i8 @myadd(i8 %a, i8 %b) {
diff --git a/test/Concrete/OneCall.ll b/test/Concrete/OneCall.ll
index d8b94b37..32802929 100644
--- a/test/Concrete/OneCall.ll
+++ b/test/Concrete/OneCall.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @sum(i32 %a, i32 %b) {
diff --git a/test/Concrete/OverlappingPhiNodes.ll b/test/Concrete/OverlappingPhiNodes.ll
index d3dc76ab..beb4f68a 100644
--- a/test/Concrete/OverlappingPhiNodes.ll
+++ b/test/Concrete/OverlappingPhiNodes.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/Select.ll b/test/Concrete/Select.ll
index 29b81e3e..eb7961b3 100644
--- a/test/Concrete/Select.ll
+++ b/test/Concrete/Select.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/Shifts.ll b/test/Concrete/Shifts.ll
index 2430f879..828ecd18 100644
--- a/test/Concrete/Shifts.ll
+++ b/test/Concrete/Shifts.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/SimpleStoreAndLoad.ll b/test/Concrete/SimpleStoreAndLoad.ll
index 0201ba15..d19521b4 100644
--- a/test/Concrete/SimpleStoreAndLoad.ll
+++ b/test/Concrete/SimpleStoreAndLoad.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/UnconditionalBranch.ll b/test/Concrete/UnconditionalBranch.ll
index 81e2f931..104f1fa3 100644
--- a/test/Concrete/UnconditionalBranch.ll
+++ b/test/Concrete/UnconditionalBranch.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/UnconditionalBranchWithSimplePhi.ll b/test/Concrete/UnconditionalBranchWithSimplePhi.ll
index 551ddf5d..d290ac0e 100644
--- a/test/Concrete/UnconditionalBranchWithSimplePhi.ll
+++ b/test/Concrete/UnconditionalBranchWithSimplePhi.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/UnorderedPhiNodes.ll b/test/Concrete/UnorderedPhiNodes.ll
index 3ecd5083..d28db091 100644
--- a/test/Concrete/UnorderedPhiNodes.ll
+++ b/test/Concrete/UnorderedPhiNodes.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 declare void @print_i32(i32)
 
 define i32 @main() {
diff --git a/test/Concrete/_testingUtils.c b/test/Concrete/_testingUtils.c
index 3afbc2fa..52e4f13e 100644
--- a/test/Concrete/_testingUtils.c
+++ b/test/Concrete/_testingUtils.c
@@ -1,3 +1,7 @@
+// This isn't a real test, just common code for the other ones.
+//
+// RUN: true
+
 int printf(const char *fmt, ...);
 
 void print_int(unsigned long long val);
diff --git a/test/Concrete/ackermann.c b/test/Concrete/ackermann.c
index 0f21a3ab..b084a99f 100644
--- a/test/Concrete/ackermann.c
+++ b/test/Concrete/ackermann.c
@@ -1,4 +1,4 @@
-// llvm-gcc -O2 --emit-llvm -c ackermann.c && ../../Debug/bin/klee ackermann.o 2 2
+// RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
 
 #include <stdio.h>
 
diff --git a/test/Concrete/arith_test.ll b/test/Concrete/arith_test.ll
index 5624462b..ddb1e5cb 100644
--- a/test/Concrete/arith_test.ll
+++ b/test/Concrete/arith_test.ll
@@ -1,3 +1,5 @@
+; RUN: %S/ConcreteTest.py --klee=%klee --lli=%lli %s
+
 define void @"test_simple_arith"(i16 %i0, i16 %j0)
 begin
   %t1 = add i16 %i0, %j0
diff --git a/test/Concrete/lit.local.cfg b/test/Concrete/lit.local.cfg
deleted file mode 100644
index b882827d..00000000
--- a/test/Concrete/lit.local.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# FIXME: Why are these here
-# Disable all tests in this directory
-config.suffixes = [ ]
diff --git a/test/lit.cfg b/test/lit.cfg
index 3d00da53..a2c9813a 100644
--- a/test/lit.cfg
+++ b/test/lit.cfg
@@ -73,6 +73,9 @@ for name in subs:
         lit.fatal('{0} is not set'.format(name))
     config.substitutions.append( ('%' + name, value))
 
+# Add a substitution for lli.
+config.substitutions.append( ('%lli', os.path.join(llvm_tools_dir, 'lli')) )
+
 # Get KLEE and Kleaver specific parameters passed on llvm-lit cmd line
 # e.g. llvm-lit --param klee_opts=--help
 try: