diff options
author | Daniel Dunbar <daniel@zuster.org> | 2014-09-12 15:28:48 -0700 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2014-09-12 17:39:18 -0700 |
commit | 59970eaaef72fc5812cc013b2993633efe2749e0 (patch) | |
tree | 9876e8f46fad609bb39a7b1e917c9b1410a9c337 | |
parent | 8c3e28cfe911a46d2a73d0434a048d60c35635bf (diff) | |
download | klee-59970eaaef72fc5812cc013b2993633efe2749e0.tar.gz |
Add support for testing Concrete tests via lit.
Fixes #96.
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: |