diff options
Diffstat (limited to 'test')
117 files changed, 386 insertions, 243 deletions
diff --git a/test/CXX/ArrayNew.cpp b/test/CXX/ArrayNew.cpp index b564316d..6a54083a 100644 --- a/test/CXX/ArrayNew.cpp +++ b/test/CXX/ArrayNew.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --no-output --exit-on-error --no-externals %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --no-externals %t1.bc #include <cassert> diff --git a/test/CXX/New.cpp b/test/CXX/New.cpp index f7ecf3be..5b90c7a4 100644 --- a/test/CXX/New.cpp +++ b/test/CXX/New.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --no-output --exit-on-error --no-externals %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --no-externals %t1.bc #include <cassert> diff --git a/test/CXX/SimpleVirtual.cpp b/test/CXX/SimpleVirtual.cpp index 108722c6..b2db980d 100644 --- a/test/CXX/SimpleVirtual.cpp +++ b/test/CXX/SimpleVirtual.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --no-output --exit-on-error --no-externals %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error --no-externals %t1.bc #include <cassert> diff --git a/test/CXX/StaticConstructor.cpp b/test/CXX/StaticConstructor.cpp index 4974d59b..56fcb97b 100644 --- a/test/CXX/StaticConstructor.cpp +++ b/test/CXX/StaticConstructor.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --libc=klee --no-output --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t1.bc #include <cassert> diff --git a/test/CXX/StaticDestructor.cpp b/test/CXX/StaticDestructor.cpp index 60390c2d..6e6f033d 100644 --- a/test/CXX/StaticDestructor.cpp +++ b/test/CXX/StaticDestructor.cpp @@ -1,8 +1,9 @@ // don't optimize this, llvm likes to turn the *p into unreachable // RUN: %llvmgxx %s -emit-llvm -g -O0 -c -o %t1.bc -// RUN: %klee --optimize=false --libc=uclibc --no-output %t1.bc 2> %t1.log -// RUN: grep ":16: memory error" %t1.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --optimize=false --libc=uclibc --no-output %t1.bc 2> %t1.log +// RUN: grep ":17: memory error" %t1.log #include <cassert> diff --git a/test/CXX/Trivial.cpp b/test/CXX/Trivial.cpp index 6c05459d..2b8ceed3 100644 --- a/test/CXX/Trivial.cpp +++ b/test/CXX/Trivial.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --no-output --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error %t1.bc #include <cassert> diff --git a/test/Coverage/ReadArgs.c b/test/Coverage/ReadArgs.c index ddfb1747..1001dac1 100644 --- a/test/Coverage/ReadArgs.c +++ b/test/Coverage/ReadArgs.c @@ -1,8 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: rm -rf %T/xxx -// RUN: echo " --output-dir=%T/xxx " > %t1.args +// RUN: rm -rf %t.klee-out +// RUN: echo " --output-dir=%t.klee-out " > %t1.args // RUN: %klee --read-args %t1.args %t1.bc -// RUN: test -d %T/xxx +// RUN: test -d %t.klee-out int main() { return 0; diff --git a/test/Dogfood/ImmutableSet.cpp b/test/Dogfood/ImmutableSet.cpp index 95320a82..e4264b9b 100644 --- a/test/Dogfood/ImmutableSet.cpp +++ b/test/Dogfood/ImmutableSet.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx -I../../../include -g -DMAX_ELEMENTS=4 -fno-exceptions -emit-llvm -c -o %t1.bc %s -// RUN: %klee --libc=klee --max-forks=200 --no-output --exit-on-error --optimize --disable-inlining --search=nurs:depth --use-cex-cache %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --max-forks=200 --no-output --exit-on-error --optimize --disable-inlining --search=nurs:depth --use-cex-cache %t1.bc #include "klee/klee.h" #include "klee/Internal/ADT/ImmutableSet.h" diff --git a/test/Feature/Alias.c b/test/Feature/Alias.c index 9300e2c7..381bcc2a 100644 --- a/test/Feature/Alias.c +++ b/test/Feature/Alias.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc // Darwin does not have strong aliases. // XFAIL: darwin diff --git a/test/Feature/AliasFunction.c b/test/Feature/AliasFunction.c index 176b152e..019ebe67 100644 --- a/test/Feature/AliasFunction.c +++ b/test/Feature/AliasFunction.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc > %t1.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log // RUN: grep -c foo %t1.log | grep 5 // RUN: grep -c bar %t1.log | grep 4 diff --git a/test/Feature/AliasFunctionExit.c b/test/Feature/AliasFunctionExit.c index acfa4350..09ca8f46 100644 --- a/test/Feature/AliasFunctionExit.c +++ b/test/Feature/AliasFunctionExit.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc > %t1.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log // RUN: grep -c START %t1.log | grep 1 // RUN: grep -c END %t1.log | grep 2 diff --git a/test/Feature/AsmAddresses.c b/test/Feature/AsmAddresses.c index d0b89ef1..cfe566af 100644 --- a/test/Feature/AsmAddresses.c +++ b/test/Feature/AsmAddresses.c @@ -1,7 +1,10 @@ // RUN: %llvmgcc -emit-llvm -g -c -o %t.bc %s -// RUN: %klee --exit-on-error --use-asm-addresses %t.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --use-asm-addresses %t.bc + // RUN: %llvmgcc -emit-llvm -DOVERLAP -g -c -o %t.bc %s -// RUN: not %klee --exit-on-error --use-asm-addresses %t.bc +// RUN: rm -rf %t.klee-out +// RUN: not %klee --output-dir=%t.klee-out --exit-on-error --use-asm-addresses %t.bc #include <assert.h> diff --git a/test/Feature/BitcastAlias.ll b/test/Feature/BitcastAlias.ll index 711ed7ad..e0e3653f 100644 --- a/test/Feature/BitcastAlias.ll +++ b/test/Feature/BitcastAlias.ll @@ -1,5 +1,6 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc > %t2 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc > %t2 ; RUN: grep PASS %t2 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" diff --git a/test/Feature/ByteSwap.c b/test/Feature/ByteSwap.c index f85ac3b1..b6500a13 100644 --- a/test/Feature/ByteSwap.c +++ b/test/Feature/ByteSwap.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --libc=klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --exit-on-error %t1.bc #include <arpa/inet.h> #include <assert.h> diff --git a/test/Feature/CallToUndefinedExternal.cpp b/test/Feature/CallToUndefinedExternal.cpp index 26e8fc55..b300d4e4 100644 --- a/test/Feature/CallToUndefinedExternal.cpp +++ b/test/Feature/CallToUndefinedExternal.cpp @@ -1,6 +1,7 @@ // RUN: %llvmgxx %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.external.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.external.err extern "C" void poof(void); diff --git a/test/Feature/CheckForImpliedValue.c.failing b/test/Feature/CheckForImpliedValue.c.failing index 7a088354..bb643647 100644 --- a/test/Feature/CheckForImpliedValue.c.failing +++ b/test/Feature/CheckForImpliedValue.c.failing @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc // RUN: rm -f %t1.log -// RUN: %klee --log-file %t1.log --debug-check-for-implied-values %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --log-file %t1.log --debug-check-for-implied-values %t1.bc // RUN: grep "= 0 (ok)" %t1.log // RUN: grep "= 2 (missed)" %t1.log diff --git a/test/Feature/CheckMemoryAccess.c b/test/Feature/CheckMemoryAccess.c index 30590f88..5347ac3d 100644 --- a/test/Feature/CheckMemoryAccess.c +++ b/test/Feature/CheckMemoryAccess.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc -// RUN: %klee %t.bc > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log // RUN: grep -q "good" %t.log // RUN: not grep -q "bad" %t.log diff --git a/test/Feature/ConstantStruct.ll b/test/Feature/ConstantStruct.ll index cfd7104e..4fe6b5d0 100644 --- a/test/Feature/ConstantStruct.ll +++ b/test/Feature/ConstantStruct.ll @@ -1,5 +1,6 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc > %t2 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc > %t2 ; RUN: grep PASS %t2 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" diff --git a/test/Feature/CopyOnWrite.c b/test/Feature/CopyOnWrite.c index ce77c802..926e0a48 100644 --- a/test/Feature/CopyOnWrite.c +++ b/test/Feature/CopyOnWrite.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --search=random-state --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --search=random-state --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/DanglingConcreteReadExpr.c b/test/Feature/DanglingConcreteReadExpr.c index 204187a2..8e15b07d 100644 --- a/test/Feature/DanglingConcreteReadExpr.c +++ b/test/Feature/DanglingConcreteReadExpr.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc -// RUN: grep "total queries = 2" %T/klee-last/info +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc +// RUN: grep "total queries = 2" %t.klee-out/info #include <assert.h> diff --git a/test/Feature/DefineFixedObject.c b/test/Feature/DefineFixedObject.c index 9f71f89b..2e601553 100644 --- a/test/Feature/DefineFixedObject.c +++ b/test/Feature/DefineFixedObject.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -emit-llvm -c -o %t1.bc %s -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <stdio.h> diff --git a/test/Feature/DoubleFree.c b/test/Feature/DoubleFree.c index d97e0c08..b24de17d 100644 --- a/test/Feature/DoubleFree.c +++ b/test/Feature/DoubleFree.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.ptr.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.ptr.err int main() { int *x = malloc(4); diff --git a/test/Feature/DumpStatesOnHalt.c b/test/Feature/DumpStatesOnHalt.c index 993fdb6a..bc302456 100644 --- a/test/Feature/DumpStatesOnHalt.c +++ b/test/Feature/DumpStatesOnHalt.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --stop-after-n-instructions=1 --dump-states-on-halt=true %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --stop-after-n-instructions=1 --dump-states-on-halt=true %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.ktest int main(int argc, char** argv) { int x = 1; diff --git a/test/Feature/Envp.c b/test/Feature/Envp.c index f1f62a72..ff4e2098 100644 --- a/test/Feature/Envp.c +++ b/test/Feature/Envp.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/ExprLogging.c b/test/Feature/ExprLogging.c index abab8031..bba0570e 100644 --- a/test/Feature/ExprLogging.c +++ b/test/Feature/ExprLogging.c @@ -1,14 +1,15 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t1.bc // We disable the cex-cache to eliminate nondeterminism across different solvers, in particular when counting the number of queries in the last two commands -// RUN: %klee --use-cex-cache=false --use-query-log=all:pc,all:smt2,solver:pc,solver:smt2 --write-pcs --write-cvcs --write-smt2s %t1.bc 2> %t2.log -// RUN: %kleaver -print-ast %T/klee-last/all-queries.pc > %t3.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-cex-cache=false --use-query-log=all:pc,all:smt2,solver:pc,solver:smt2 --write-pcs --write-cvcs --write-smt2s %t1.bc 2> %t2.log +// RUN: %kleaver -print-ast %t.klee-out/all-queries.pc > %t3.log // RUN: %kleaver -print-ast %t3.log > %t4.log // RUN: diff %t3.log %t4.log -// RUN: %kleaver -print-ast %T/klee-last/solver-queries.pc > %t3.log +// RUN: %kleaver -print-ast %t.klee-out/solver-queries.pc > %t3.log // RUN: %kleaver -print-ast %t3.log > %t4.log // RUN: diff %t3.log %t4.log -// RUN: grep "^; Query" %T/klee-last/all-queries.smt2 | wc -l | grep -q 17 -// RUN: grep "^; Query" %T/klee-last/solver-queries.smt2 | wc -l | grep -q 17 +// RUN: grep "^; Query" %t.klee-out/all-queries.smt2 | wc -l | grep -q 17 +// RUN: grep "^; Query" %t.klee-out/solver-queries.smt2 | wc -l | grep -q 17 #include <assert.h> diff --git a/test/Feature/ExternalWeakLinkage.c b/test/Feature/ExternalWeakLinkage.c index c2008136..fd70884a 100644 --- a/test/Feature/ExternalWeakLinkage.c +++ b/test/Feature/ExternalWeakLinkage.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/Float.c b/test/Feature/Float.c index f7e4dde0..dce082c6 100644 --- a/test/Feature/Float.c +++ b/test/Feature/Float.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc -// RUN: %klee %t.bc > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log // RUN: grep "3.30* -1.10* 2.420*" %t.log #include <stdio.h> diff --git a/test/Feature/FloatingPt.c b/test/Feature/FloatingPt.c index bde9e19b..be087935 100644 --- a/test/Feature/FloatingPt.c +++ b/test/Feature/FloatingPt.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/FunctionPointer.c b/test/Feature/FunctionPointer.c index e1ae1e37..ac28ca00 100644 --- a/test/Feature/FunctionPointer.c +++ b/test/Feature/FunctionPointer.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --no-output --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --no-output --exit-on-error %t1.bc #include <stdio.h> diff --git a/test/Feature/GetElementPtr.ll b/test/Feature/GetElementPtr.ll index 7f10c0a2..da94441c 100644 --- a/test/Feature/GetElementPtr.ll +++ b/test/Feature/GetElementPtr.ll @@ -1,5 +1,6 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc > %t2 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc > %t2 ; RUN: grep PASS %t2 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" diff --git a/test/Feature/GetValue.c b/test/Feature/GetValue.c index 5023c51c..828c8934 100644 --- a/test/Feature/GetValue.c +++ b/test/Feature/GetValue.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -emit-llvm -c -o %t1.bc %s -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <stdio.h> #include <assert.h> diff --git a/test/Feature/ImpliedValue.c.failing b/test/Feature/ImpliedValue.c.failing index 2f169970..469c8f28 100644 --- a/test/Feature/ImpliedValue.c.failing +++ b/test/Feature/ImpliedValue.c.failing @@ -2,8 +2,9 @@ // RUN: %llvmgcc %s -emit-llvm -O2 -c -o %t1.bc // RUN: llvm-as -f ../_utils._ll -o %t2.bc // RUN: llvm-ld -disable-opt -link-as-library %t1.bc %t2.bc -o %t3.bc -// RUN: %klee --log-file %t4.log --debug-check-for-implied-values %t3.bc > %t4.out 2> %t4.err -// RUN: ls klee-last | not grep .err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --log-file %t4.log --debug-check-for-implied-values %t3.bc > %t4.out 2> %t4.err +// RUN: ls %t.klee-out | not grep .err // RUN: not grep "(missed)" %t4.log #include <assert.h> diff --git a/test/Feature/InAndOutOfBounds.c b/test/Feature/InAndOutOfBounds.c index 729d6b78..5a3dfa44 100644 --- a/test/Feature/InAndOutOfBounds.c +++ b/test/Feature/InAndOutOfBounds.c @@ -1,8 +1,9 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.ptr.err -o -f %T/klee-last/test000002.ptr.err -// RUN: not test -f %T/klee-last/test000001.ptr.err -a -f %T/klee-last/test000002.ptr.err -// RUN: not test -f %T/klee-last/test000003.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.ptr.err -o -f %t.klee-out/test000002.ptr.err +// RUN: not test -f %t.klee-out/test000001.ptr.err -a -f %t.klee-out/test000002.ptr.err +// RUN: not test -f %t.klee-out/test000003.ktest unsigned klee_urange(unsigned start, unsigned end) { unsigned x; @@ -14,7 +15,7 @@ unsigned klee_urange(unsigned start, unsigned end) { int main() { int *x = malloc(sizeof(int)); // FIXME: Use newer FileCheck syntax to support relative line numbers - // CHECK: InAndOutOfBounds.c:18: memory error: out of bound pointer + // CHECK: InAndOutOfBounds.c:19: memory error: out of bound pointer x[klee_urange(0,2)] = 1; free(x); return 0; diff --git a/test/Feature/IndirectCallToBuiltin.c b/test/Feature/IndirectCallToBuiltin.c index 591a5601..8c78dba5 100644 --- a/test/Feature/IndirectCallToBuiltin.c +++ b/test/Feature/IndirectCallToBuiltin.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <stdlib.h> #include <stdio.h> diff --git a/test/Feature/IndirectCallToExternal.c b/test/Feature/IndirectCallToExternal.c index 4603213b..58eb2575 100644 --- a/test/Feature/IndirectCallToExternal.c +++ b/test/Feature/IndirectCallToExternal.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <stdlib.h> #include <stdio.h> diff --git a/test/Feature/InsertExtractValue.ll b/test/Feature/InsertExtractValue.ll index fbce335b..83e8f851 100644 --- a/test/Feature/InsertExtractValue.ll +++ b/test/Feature/InsertExtractValue.ll @@ -1,5 +1,6 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc > %t2 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc > %t2 ; RUN: grep PASS %t2 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" diff --git a/test/Feature/IntrinsicTrap.ll b/test/Feature/IntrinsicTrap.ll index 13b93e4d..9caf4a62 100644 --- a/test/Feature/IntrinsicTrap.ll +++ b/test/Feature/IntrinsicTrap.ll @@ -1,6 +1,7 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc -; RUN: FileCheck %s --input-file=%T/klee-last/assembly.ll +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc +; RUN: FileCheck %s --input-file=%t.klee-out/assembly.ll 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-f128:128:128-n8:16:32:64" target triple = "x86_64-unknown-linux-gnu" diff --git a/test/Feature/InvalidBitfieldAccess.c.failing b/test/Feature/InvalidBitfieldAccess.c.failing index ae8bfe5e..0e4ec594 100644 --- a/test/Feature/InvalidBitfieldAccess.c.failing +++ b/test/Feature/InvalidBitfieldAccess.c.failing @@ -1,5 +1,6 @@ // RUN: %llvmgcc -c -o %t1.bc %s -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc // This is a bug in llvm-gcc4.0 but seems to be fixed in llvm-gcc4.2, // its included here mostly as a reminder. diff --git a/test/Feature/IsSymbolic.c b/test/Feature/IsSymbolic.c index 4a86368a..cd7f3dba 100644 --- a/test/Feature/IsSymbolic.c +++ b/test/Feature/IsSymbolic.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <assert.h> diff --git a/test/Feature/KleeReportError.c b/test/Feature/KleeReportError.c index 37c07ed1..50aaf97d 100644 --- a/test/Feature/KleeReportError.c +++ b/test/Feature/KleeReportError.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --emit-all-errors %t2.bc 2>&1 | FileCheck %s -// RUN: ls %T/klee-last/ | grep .my.err | wc -l | grep 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --emit-all-errors %t2.bc 2>&1 | FileCheck %s +// RUN: ls %t.klee-out/ | grep .my.err | wc -l | grep 2 #include <stdio.h> #include <assert.h> @@ -16,8 +17,8 @@ int main(int argc, char** argv) { if (y) { fprintf(stderr, "My error\n"); - // CHECK: KleeReportError.c:22: My error - // CHECK: KleeReportError.c:22: My error + // CHECK: KleeReportError.c:23: My error + // CHECK: KleeReportError.c:23: My error // FIXME: Use FileCheck's relative line number syntax klee_report_error(__FILE__, __LINE__, "My error", "my.err"); } diff --git a/test/Feature/LargeReturnTypes.cpp b/test/Feature/LargeReturnTypes.cpp index 274da05e..937b0758 100644 --- a/test/Feature/LargeReturnTypes.cpp +++ b/test/Feature/LargeReturnTypes.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx -g -fno-exceptions -emit-llvm -O0 -c -o %t.bc %s -// RUN: %klee --libc=klee --no-output --exit-on-error %t.bc > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t.bc > %t.log /* Tests the ability to call external functions which return large values * (i.e. structs). In this test case, fstream::ftellg() returns a diff --git a/test/Feature/LongDouble.cpp b/test/Feature/LongDouble.cpp index 6e6baf6a..08924293 100644 --- a/test/Feature/LongDouble.cpp +++ b/test/Feature/LongDouble.cpp @@ -1,5 +1,6 @@ // RUN: %llvmgxx -I../../../include -g -fno-exceptions -emit-llvm -O0 -c -o %t.bc %s -// RUN: %klee --libc=klee --no-output --exit-on-error %t.bc > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --no-output --exit-on-error %t.bc > %t.log // RUN: grep -q powl\(-11\\.0,0\)=1\\.0\\+ %t.log // RUN: grep -q powl\(-11\\.0,1\)=-11\\.0\\+ %t.log // RUN: grep -q powl\(-11\\.0,2\)=121\\.0\\+ %t.log diff --git a/test/Feature/LongDoubleSupport.c b/test/Feature/LongDoubleSupport.c index 185a5485..4ea9daee 100644 --- a/test/Feature/LongDoubleSupport.c +++ b/test/Feature/LongDoubleSupport.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --optimize=0 --exit-on-error %t1.bc > %t2.out +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --optimize=0 --exit-on-error %t1.bc > %t2.out #include <stdio.h> #include <float.h> diff --git a/test/Feature/LowerSwitch.c b/test/Feature/LowerSwitch.c index 49cad076..1b280e72 100644 --- a/test/Feature/LowerSwitch.c +++ b/test/Feature/LowerSwitch.c @@ -1,8 +1,11 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t.bc -// RUN: %klee --exit-on-error --allow-external-sym-calls --switch-type=internal %t.bc -// RUN: not test -f %T/klee-last/test000010.ktest -// RUN: %klee --exit-on-error --allow-external-sym-calls --switch-type=simple %t.bc -// RUN: test -f %T/klee-last/test000010.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --allow-external-sym-calls --switch-type=internal %t.bc +// RUN: not test -f %t.klee-out/test000010.ktest + +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --allow-external-sym-calls --switch-type=simple %t.bc +// RUN: test -f %t.klee-out/test000010.ktest #include <stdio.h> diff --git a/test/Feature/MakeConcreteSymbolic.c b/test/Feature/MakeConcreteSymbolic.c index bfbb807d..dad618b3 100644 --- a/test/Feature/MakeConcreteSymbolic.c +++ b/test/Feature/MakeConcreteSymbolic.c @@ -1,8 +1,11 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc -// RUN: grep "done: total queries = 0" %T/klee-last/info -// RUN: %klee --make-concrete-symbolic=1 --exit-on-error %t1.bc -// RUN: grep "done: total queries = 2" %T/klee-last/info +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc +// RUN: grep "done: total queries = 0" %t.klee-out/info + +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --make-concrete-symbolic=1 --exit-on-error %t1.bc +// RUN: grep "done: total queries = 2" %t.klee-out/info #include <assert.h> diff --git a/test/Feature/MakeSymbolicName.c b/test/Feature/MakeSymbolicName.c index a31b4a9b..fef731ab 100644 --- a/test/Feature/MakeSymbolicName.c +++ b/test/Feature/MakeSymbolicName.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --search=random-state --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --search=random-state --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/MemoryLimit.c b/test/Feature/MemoryLimit.c index a3c1250e..8837e2e5 100644 --- a/test/Feature/MemoryLimit.c +++ b/test/Feature/MemoryLimit.c @@ -1,7 +1,9 @@ // RUN: %llvmgcc -emit-llvm -DLITTLE_ALLOC -g -c %s -o %t.little.bc // RUN: %llvmgcc -emit-llvm -g -c %s -o %t.big.bc -// RUN: %klee --max-memory=20 %t.little.bc > %t.little.log -// RUN: %klee --max-memory=20 %t.big.bc > %t.big.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --max-memory=20 %t.little.bc > %t.little.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --max-memory=20 %t.big.bc > %t.big.log // RUN: not grep -q "MALLOC FAILED" %t.little.log // RUN: not grep -q "MALLOC FAILED" %t.big.log // RUN: not grep -q "DONE" %t.little.log diff --git a/test/Feature/MultipleFreeResolution.c b/test/Feature/MultipleFreeResolution.c index cd8a383b..3216de95 100644 --- a/test/Feature/MultipleFreeResolution.c +++ b/test/Feature/MultipleFreeResolution.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --emit-all-errors %t1.bc 2>&1 | FileCheck %s -// RUN: ls %T/klee-last/ | grep .ktest | wc -l | grep 4 -// RUN: ls %T/klee-last/ | grep .err | wc -l | grep 3 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --emit-all-errors %t1.bc 2>&1 | FileCheck %s +// RUN: ls %t.klee-out/ | grep .ktest | wc -l | grep 4 +// RUN: ls %t.klee-out/ | grep .err | wc -l | grep 3 #include <stdlib.h> #include <stdio.h> @@ -31,9 +32,9 @@ int main() { free(buf[s]); - // CHECK: MultipleFreeResolution.c:39: memory error: out of bound pointer - // CHECK: MultipleFreeResolution.c:39: memory error: out of bound pointer - // CHECK: MultipleFreeResolution.c:39: memory error: out of bound pointer + // CHECK: MultipleFreeResolution.c:40: memory error: out of bound pointer + // CHECK: MultipleFreeResolution.c:40: memory error: out of bound pointer + // CHECK: MultipleFreeResolution.c:40: memory error: out of bound pointer // FIXME: Use FileCheck's relative line numbers for (i=0; i<3; i++) { printf("*buf[%d] = %d\n", i, *buf[i]); diff --git a/test/Feature/MultipleReadResolution.c b/test/Feature/MultipleReadResolution.c index 9297cf8d..af42c012 100644 --- a/test/Feature/MultipleReadResolution.c +++ b/test/Feature/MultipleReadResolution.c @@ -3,7 +3,8 @@ // RUN: echo "x" >> %t1.res // RUN: echo "x" >> %t1.res // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc > %t1.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log // RUN: diff %t1.res %t1.log #include <stdio.h> diff --git a/test/Feature/MultipleReallocResolution.c b/test/Feature/MultipleReallocResolution.c index 1f77485f..6530185d 100644 --- a/test/Feature/MultipleReallocResolution.c +++ b/test/Feature/MultipleReallocResolution.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc -// RUN: ls %T/klee-last/ | grep .err | wc -l | grep 2 -// RUN: ls %T/klee-last/ | grep .ptr.err | wc -l | grep 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc +// RUN: ls %t.klee-out/ | grep .err | wc -l | grep 2 +// RUN: ls %t.klee-out/ | grep .ptr.err | wc -l | grep 2 #include <assert.h> #include <stdlib.h> diff --git a/test/Feature/MultipleWriteResolution.c b/test/Feature/MultipleWriteResolution.c index f07b9710..eb4b1694 100644 --- a/test/Feature/MultipleWriteResolution.c +++ b/test/Feature/MultipleWriteResolution.c @@ -3,7 +3,8 @@ // RUN: echo "x" >> %t1.res // RUN: echo "x" >> %t1.res // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc > %t1.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc > %t1.log // RUN: diff %t1.res %t1.log #include <stdio.h> diff --git a/test/Feature/NamedSeedMatching.c b/test/Feature/NamedSeedMatching.c index 16da3117..6599d269 100644 --- a/test/Feature/NamedSeedMatching.c +++ b/test/Feature/NamedSeedMatching.c @@ -1,9 +1,11 @@ // RUN: %llvmgcc -emit-llvm -c -g %s -o %t.bc -// RUN: rm -rf %t.out -// RUN: %klee --output-dir=%t.out %t.bc "initial" -// RUN: test -f %t.out/test000001.ktest -// RUN: not test -f %t.out/test000002.ktest -// RUN: %klee --only-replay-seeds --named-seed-matching --seed-out %t.out/test000001.ktest %t.bc > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t.bc "initial" +// RUN: test -f %t.klee-out/test000001.ktest +// RUN: not test -f %t.klee-out/test000002.ktest + +// RUN: rm -rf %t.klee-out-2 +// RUN: %klee --output-dir=%t.klee-out-2 --only-replay-seeds --named-seed-matching --seed-out %t.klee-out/test000001.ktest %t.bc > %t.log // RUN: grep -q "a==3" %t.log // RUN: grep -q "b==4" %t.log // RUN: grep -q "c==5" %t.log diff --git a/test/Feature/OneFreeError.c b/test/Feature/OneFreeError.c index e83b535a..4f5a8c8c 100644 --- a/test/Feature/OneFreeError.c +++ b/test/Feature/OneFreeError.c @@ -1,11 +1,12 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.ptr.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.ptr.err int main() { int *x = malloc(4); free(x); - // CHECK: OneFreeError.c:10: memory error: out of bound pointer + // CHECK: OneFreeError.c:11: memory error: out of bound pointer // FIXME: Use FileCheck's relative line numbers x[0] = 1; return 0; diff --git a/test/Feature/OneOutOfBounds.c b/test/Feature/OneOutOfBounds.c index 72d36b70..85fb2a79 100644 --- a/test/Feature/OneOutOfBounds.c +++ b/test/Feature/OneOutOfBounds.c @@ -1,10 +1,11 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.ptr.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.ptr.err int main() { int *x = malloc(sizeof(int)); - // CHECK: OneOutOfBounds.c:9: memory error: out of bound pointer + // CHECK: OneOutOfBounds.c:10: memory error: out of bound pointer // FIXME: Use FileCheck's relative line numbers x[1] = 1; free(x); diff --git a/test/Feature/Optimize.c b/test/Feature/Optimize.c index 4789d089..9aa963ef 100644 --- a/test/Feature/Optimize.c +++ b/test/Feature/Optimize.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc // RUN: rm -f %t2.log -// RUN: %klee --stop-after-n-instructions=100 --optimize %t2.bc > %t3.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --stop-after-n-instructions=100 --optimize %t2.bc > %t3.log // RUN: echo "good" > %t3.good // RUN: diff %t3.log %t3.good diff --git a/test/Feature/Overflow.ll b/test/Feature/Overflow.ll index 90ace60b..35dfbd10 100644 --- a/test/Feature/Overflow.ll +++ b/test/Feature/Overflow.ll @@ -1,5 +1,6 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc > %t2 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc > %t2 ; RUN: grep PASS %t2 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" diff --git a/test/Feature/OverflowMul.ll b/test/Feature/OverflowMul.ll index 7ab67502..7026aa74 100644 --- a/test/Feature/OverflowMul.ll +++ b/test/Feature/OverflowMul.ll @@ -1,5 +1,6 @@ ; RUN: llvm-as %s -f -o %t1.bc -; RUN: %klee -disable-opt %t1.bc > %t2 +; RUN: rm -rf %t.klee-out +; RUN: %klee --output-dir=%t.klee-out -disable-opt %t1.bc > %t2 ; RUN: grep PASS %t2 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" diff --git a/test/Feature/OverlappedError.c b/test/Feature/OverlappedError.c index 886c7ec8..a1b31f57 100644 --- a/test/Feature/OverlappedError.c +++ b/test/Feature/OverlappedError.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc -// RUN: ls %T/klee-last/ | grep .ktest | wc -l | grep 4 -// RUN: ls %T/klee-last/ | grep .ptr.err | wc -l | grep 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc +// RUN: ls %t.klee-out/ | grep .ktest | wc -l | grep 4 +// RUN: ls %t.klee-out/ | grep .ptr.err | wc -l | grep 2 #include <stdlib.h> diff --git a/test/Feature/OvershiftCheck.c b/test/Feature/OvershiftCheck.c index bb967166..09cbf8ba 100644 --- a/test/Feature/OvershiftCheck.c +++ b/test/Feature/OvershiftCheck.c @@ -1,8 +1,9 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc -// RUN: %klee -check-overshift %t.bc 2> %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out -check-overshift %t.bc 2> %t.log // RUN: grep -c "overshift error" %t.log -// RUN: grep -c "OvershiftCheck.c:19: overshift error" %t.log -// RUN: grep -c "OvershiftCheck.c:23: overshift error" %t.log +// RUN: grep -c "OvershiftCheck.c:20: overshift error" %t.log +// RUN: grep -c "OvershiftCheck.c:24: overshift error" %t.log /* This test checks that two consecutive potential overshifts * are reported as errors. diff --git a/test/Feature/PreferCex.c b/test/Feature/PreferCex.c index 6cdb8446..d562f968 100644 --- a/test/Feature/PreferCex.c +++ b/test/Feature/PreferCex.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc -// RUN: ktest-tool %T/klee-last/test000001.ktest | FileCheck %s +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc +// RUN: ktest-tool %t.klee-out/test000001.ktest | FileCheck %s #include <assert.h> #include <stdlib.h> diff --git a/test/Feature/RaiseAsm.c b/test/Feature/RaiseAsm.c index 5b8acab4..6a4b7b3c 100644 --- a/test/Feature/RaiseAsm.c +++ b/test/Feature/RaiseAsm.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/Realloc.c b/test/Feature/Realloc.c index 62aa170b..76016fb7 100644 --- a/test/Feature/Realloc.c +++ b/test/Feature/Realloc.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc 2>&1 | FileCheck %s +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc 2>&1 | FileCheck %s #include <assert.h> #include <stdlib.h> diff --git a/test/Feature/ReplayPath.c b/test/Feature/ReplayPath.c index ccf59657..c367c3d9 100644 --- a/test/Feature/ReplayPath.c +++ b/test/Feature/ReplayPath.c @@ -1,7 +1,10 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -DCOND_EXIT -c -o %t1.bc -// RUN: klee --write-paths %t1.bc > %t3.good +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --write-paths %t1.bc > %t3.good + // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --replay-path %T/klee-last/test000001.path %t2.bc > %t3.log +// RUN: rm -rf %t.klee-out-2 +// RUN: %klee --output-dir=%t.klee-out-2 --replay-path %t.klee-out/test000001.path %t2.bc > %t3.log // RUN: diff %t3.log %t3.good #include <unistd.h> diff --git a/test/Feature/Searchers.c b/test/Feature/Searchers.c index b120d354..284020eb 100644 --- a/test/Feature/Searchers.c +++ b/test/Feature/Searchers.c @@ -1,22 +1,40 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee %t2.bc -// RUN: %klee --search=random-state %t2.bc -// RUN: %klee --search=nurs:depth %t2.bc -// RUN: %klee --search=nurs:qc %t2.bc -// RUN: %klee --use-batching-search %t2.bc -// RUN: %klee --use-batching-search --search=random-state %t2.bc -// RUN: %klee --use-batching-search --search=nurs:depth %t2.bc -// RUN: %klee --use-batching-search --search=nurs:qc %t2.bc -// RUN: %klee --search=random-path --search=nurs:qc %t2.bc -// RUN: %klee --use-merge --search=dfs --debug-log-merge --debug-log-state-merge %t2.bc -// RUN: %klee --use-merge --use-batching-search --search=dfs %t2.bc -// RUN: %klee --use-merge --use-batching-search --search=random-state %t2.bc -// RUN: %klee --use-merge --use-batching-search --search=nurs:depth %t2.bc -// RUN: %klee --use-merge --use-batching-search --search=nurs:qc %t2.bc -// RUN: %klee --use-iterative-deepening-time-search --use-batching-search %t2.bc -// RUN: %klee --use-iterative-deepening-time-search --use-batching-search --search=random-state %t2.bc -// RUN: %klee --use-iterative-deepening-time-search --use-batching-search --search=nurs:depth %t2.bc -// RUN: %klee --use-iterative-deepening-time-search --use-batching-search --search=nurs:qc %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --search=random-state %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --search=nurs:depth %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --search=nurs:qc %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-batching-search %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-batching-search --search=random-state %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-batching-search --search=nurs:depth %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-batching-search --search=nurs:qc %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --search=random-path --search=nurs:qc %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-merge --search=dfs --debug-log-merge --debug-log-state-merge %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-merge --use-batching-search --search=dfs %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-merge --use-batching-search --search=random-state %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-merge --use-batching-search --search=nurs:depth %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-merge --use-batching-search --search=nurs:qc %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-iterative-deepening-time-search --use-batching-search %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-iterative-deepening-time-search --use-batching-search --search=random-state %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-iterative-deepening-time-search --use-batching-search --search=nurs:depth %t2.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --use-iterative-deepening-time-search --use-batching-search --search=nurs:qc %t2.bc /* this test is basically just for coverage and doesn't really do any diff --git a/test/Feature/SetForking.c b/test/Feature/SetForking.c index cbae33c0..60799a0d 100644 --- a/test/Feature/SetForking.c +++ b/test/Feature/SetForking.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -emit-llvm -g -c %s -o %t.bc -// RUN: %klee %t.bc > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t.bc > %t.log // RUN: sort %t.log | uniq -c > %t.uniq.log // RUN: grep "1 A" %t.uniq.log // RUN: grep "1 B" %t.uniq.log diff --git a/test/Feature/SolverTimeout.c b/test/Feature/SolverTimeout.c index 34405c1f..2ef6d413 100644 --- a/test/Feature/SolverTimeout.c +++ b/test/Feature/SolverTimeout.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --max-solver-time=1 %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --max-solver-time=1 %t1.bc #include <stdio.h> int main() { diff --git a/test/Feature/Vararg.c b/test/Feature/Vararg.c index 31eee235..398ba6f8 100644 --- a/test/Feature/Vararg.c +++ b/test/Feature/Vararg.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc > %t2.out +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc > %t2.out // RUN: grep "types: (52, 37, 2.00, (9,12,15))" %t2.out -// RUN: test -f %T/klee-last/test000001.ptr.err +// RUN: test -f %t.klee-out/test000001.ptr.err #include <stdarg.h> #include <assert.h> diff --git a/test/Feature/WithLibc.c b/test/Feature/WithLibc.c index 5e84eb4a..cefef577 100644 --- a/test/Feature/WithLibc.c +++ b/test/Feature/WithLibc.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --libc=klee %t2.bc > %t3.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee %t2.bc > %t3.log // RUN: echo "good" > %t3.good // RUN: diff %t3.log %t3.good diff --git a/test/Feature/WriteCov.c b/test/Feature/WriteCov.c index 45e7bc43..3ecce3fc 100644 --- a/test/Feature/WriteCov.c +++ b/test/Feature/WriteCov.c @@ -1,20 +1,21 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t2.bc -// RUN: %klee --exit-on-error --write-cov %t2.bc -// RUN: grep -c WriteCov.c:15 %T/klee-last/test000001.cov %T/klee-last/test000002.cov >%t3.txt -// RUN: grep -c WriteCov.c:17 %T/klee-last/test000001.cov %T/klee-last/test000002.cov >>%t3.txt -// RUN: grep klee-last/test000001.cov:0 %t3.txt -// RUN: grep klee-last/test000001.cov:1 %t3.txt -// RUN: grep klee-last/test000002.cov:0 %t3.txt -// RUN: grep klee-last/test000002.cov:1 %t3.txt +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --write-cov %t2.bc +// RUN: grep -c WriteCov.c:16 %t.klee-out/test000001.cov %t.klee-out/test000002.cov >%t3.txt +// RUN: grep -c WriteCov.c:18 %t.klee-out/test000001.cov %t.klee-out/test000002.cov >>%t3.txt +// RUN: grep %t.klee-out/test000001.cov:0 %t3.txt +// RUN: grep %t.klee-out/test000001.cov:1 %t3.txt +// RUN: grep %t.klee-out/test000002.cov:0 %t3.txt +// RUN: grep %t.klee-out/test000002.cov:1 %t3.txt #include <assert.h> #include <stdio.h> int main() { if (klee_range(0,2, "range")) { - assert(__LINE__ == 15); printf("__LINE__ = %d\n", __LINE__); + assert(__LINE__ == 16); printf("__LINE__ = %d\n", __LINE__); } else { - assert(__LINE__ == 17); printf("__LINE__ = %d\n", __LINE__); + assert(__LINE__ == 18); printf("__LINE__ = %d\n", __LINE__); } return 0; } diff --git a/test/Feature/arithmetic-right-overshift-sym-conc.c b/test/Feature/arithmetic-right-overshift-sym-conc.c index 81995b2b..a771bc75 100644 --- a/test/Feature/arithmetic-right-overshift-sym-conc.c +++ b/test/Feature/arithmetic-right-overshift-sym-conc.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc -// RUN: %klee -use-cex-cache=1 -check-overshift=0 %t.bc -// RUN: not grep "ASSERTION FAIL" %T/klee-last/messages.txt -// RUN: grep "KLEE: done: explored paths = 1" %T/klee-last/info +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc +// RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt +// RUN: grep "KLEE: done: explored paths = 1" %t.klee-out/info #include <stdio.h> #include <assert.h> diff --git a/test/Feature/consecutive_divide_by_zero.c b/test/Feature/consecutive_divide_by_zero.c index c1185870..31124ea4 100644 --- a/test/Feature/consecutive_divide_by_zero.c +++ b/test/Feature/consecutive_divide_by_zero.c @@ -1,9 +1,10 @@ // RUN: %llvmgcc -emit-llvm -c -g -O0 %s -o %t.bc -// RUN: %klee -check-div-zero -emit-all-errors=0 %t.bc 2> %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out -check-div-zero -emit-all-errors=0 %t.bc 2> %t.log // RUN: grep "completed paths = 3" %t.log // RUN: grep "generated tests = 3" %t.log -// RUN: grep "consecutive_divide_by_zero.c:24: divide by zero" %t.log -// RUN: grep "consecutive_divide_by_zero.c:27: divide by zero" %t.log +// RUN: grep "consecutive_divide_by_zero.c:25: divide by zero" %t.log +// RUN: grep "consecutive_divide_by_zero.c:28: divide by zero" %t.log /* This test case captures a bug where two distinct division * by zero errors are treated as the same error and so diff --git a/test/Feature/const_array_opt1.c b/test/Feature/const_array_opt1.c index 09ed07fd..ac43bdf7 100644 --- a/test/Feature/const_array_opt1.c +++ b/test/Feature/const_array_opt1.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --const-array-opt --max-time=10 --only-output-states-covering-new %t.bc >%t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --const-array-opt --max-time=10 --only-output-states-covering-new %t.bc >%t.log // grep -q "Finished successfully!\n" /* This is testing the const array optimization. On my 2.3GHz machine diff --git a/test/Feature/left-overshift-sym-conc.c b/test/Feature/left-overshift-sym-conc.c index e962fa28..8859c46c 100644 --- a/test/Feature/left-overshift-sym-conc.c +++ b/test/Feature/left-overshift-sym-conc.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc -// RUN: %klee -use-cex-cache=1 -check-overshift=0 %t.bc -// RUN: not grep "ASSERTION FAIL" %T/klee-last/messages.txt -// RUN: grep "KLEE: done: explored paths = 1" %T/klee-last/info +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc +// RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt +// RUN: grep "KLEE: done: explored paths = 1" %t.klee-out/info #include <stdio.h> #include <assert.h> diff --git a/test/Feature/logical-right-overshift-sym-conc.c b/test/Feature/logical-right-overshift-sym-conc.c index 00281ec4..950b5992 100644 --- a/test/Feature/logical-right-overshift-sym-conc.c +++ b/test/Feature/logical-right-overshift-sym-conc.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc -// RUN: %klee -use-cex-cache=1 -check-overshift=0 %t.bc -// RUN: not grep "ASSERTION FAIL" %T/klee-last/messages.txt -// RUN: grep "KLEE: done: explored paths = 1" %T/klee-last/info +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out -use-cex-cache=1 -check-overshift=0 %t.bc +// RUN: not grep "ASSERTION FAIL" %t.klee-out/messages.txt +// RUN: grep "KLEE: done: explored paths = 1" %t.klee-out/info #include <stdio.h> #include <assert.h> diff --git a/test/Makefile b/test/Makefile index 61a91800..bfdeb16d 100644 --- a/test/Makefile +++ b/test/Makefile @@ -49,6 +49,11 @@ LIT_ALL_TESTSUITES := $(LIT_TESTSUITE) check-local:: lit.site.cfg $(Verb) ( $(ULIMIT) \ $(PYTHON) $(LLVM_SRC_ROOT)/utils/lit/lit.py $(LIT_ARGS) $(LIT_TESTSUITE) ) + @klee_last_path=$$(find . -name klee-last | head -1); \ + if [ ! -z "$$klee_last_path" ]; then \ + echo "error: one of the tests failed to use --output-dir, found: $$klee_last_path"; \ + exit 1; \ + fi check-local-all:: lit.site.cfg $(Verb) ( $(ULIMIT) \ diff --git a/test/Programs/pcregrep.c b/test/Programs/pcregrep.c index 81b57dfc..fb99ef87 100644 --- a/test/Programs/pcregrep.c +++ b/test/Programs/pcregrep.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -m32 %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --libc=klee --exit-on-error %t1.bc 2 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --exit-on-error %t1.bc 2 2 // XFAIL: x86_64 /* Provide Declarations */ diff --git a/test/Runtime/POSIX/DirConsistency.c b/test/Runtime/POSIX/DirConsistency.c index 24bb8a6e..879dd75f 100644 --- a/test/Runtime/POSIX/DirConsistency.c +++ b/test/Runtime/POSIX/DirConsistency.c @@ -1,7 +1,9 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --run-in=/tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t1.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --run-in=/tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t1.log // RUN: %llvmgcc -D_FILE_OFFSET_BITS=64 %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --run-in=/tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t2.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --run-in=/tmp --search=random-state --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t2.log // RUN: sort %t1.log %t2.log | uniq -c > %t3.log // RUN: grep -q "4 COUNT" %t3.log diff --git a/test/Runtime/POSIX/DirSeek.c b/test/Runtime/POSIX/DirSeek.c index 81336a68..1b2c25e8 100644 --- a/test/Runtime/POSIX/DirSeek.c +++ b/test/Runtime/POSIX/DirSeek.c @@ -1,7 +1,10 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --run-in=/tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 2 2 -// RUN: %klee --run-in=/tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 1 2 -// RUN: %klee --run-in=/tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 0 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --run-in=/tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 2 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --run-in=/tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 1 2 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --run-in=/tmp --libc=uclibc --posix-runtime --exit-on-error %t2.bc --sym-files 0 2 // For this test really to work as intended it needs to be run in a // directory large enough to cause uclibc to do multiple getdents diff --git a/test/Runtime/POSIX/FDNumbers.c b/test/Runtime/POSIX/FDNumbers.c index 3228c8a9..c012174c 100644 --- a/test/Runtime/POSIX/FDNumbers.c +++ b/test/Runtime/POSIX/FDNumbers.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 #include <assert.h> #include <fcntl.h> diff --git a/test/Runtime/POSIX/FD_Fail.c b/test/Runtime/POSIX/FD_Fail.c index a4bf2fc2..186ada51 100644 --- a/test/Runtime/POSIX/FD_Fail.c +++ b/test/Runtime/POSIX/FD_Fail.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --libc=uclibc --posix-runtime %t1.bc --sym-files 0 0 --max-fail 1 > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t1.bc --sym-files 0 0 --max-fail 1 > %t.log // RUN: grep -q "fread(): ok" %t.log // RUN: grep -q "fread(): fail" %t.log // RUN: grep -q "fclose(): ok" %t.log diff --git a/test/Runtime/POSIX/FD_Fail2.c b/test/Runtime/POSIX/FD_Fail2.c index 624329fc..74957597 100644 --- a/test/Runtime/POSIX/FD_Fail2.c +++ b/test/Runtime/POSIX/FD_Fail2.c @@ -1,12 +1,13 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --libc=uclibc --posix-runtime --search=dfs %t1.bc --sym-files 1 10 --max-fail 1 -// RUN: test -f %T/klee-last/test000001.ktest -// RUN: test -f %T/klee-last/test000002.ktest -// RUN: test -f %T/klee-last/test000003.ktest -// RUN: test -f %T/klee-last/test000004.ktest -// RUN: test -f %T/klee-last/test000005.ktest -// RUN: test -f %T/klee-last/test000006.ktest -// RUN: test -f %T/klee-last/test000007.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime --search=dfs %t1.bc --sym-files 1 10 --max-fail 1 +// RUN: test -f %t.klee-out/test000001.ktest +// RUN: test -f %t.klee-out/test000002.ktest +// RUN: test -f %t.klee-out/test000003.ktest +// RUN: test -f %t.klee-out/test000004.ktest +// RUN: test -f %t.klee-out/test000005.ktest +// RUN: test -f %t.klee-out/test000006.ktest +// RUN: test -f %t.klee-out/test000007.ktest #include <stdio.h> #include <assert.h> diff --git a/test/Runtime/POSIX/Fcntl.c b/test/Runtime/POSIX/Fcntl.c index 1b37e711..13f6de78 100644 --- a/test/Runtime/POSIX/Fcntl.c +++ b/test/Runtime/POSIX/Fcntl.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 #include <assert.h> #include <fcntl.h> diff --git a/test/Runtime/POSIX/FilePerm.c b/test/Runtime/POSIX/FilePerm.c index 1346c09a..c66e35de 100644 --- a/test/Runtime/POSIX/FilePerm.c +++ b/test/Runtime/POSIX/FilePerm.c @@ -1,8 +1,9 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log -// RUN: test -f %T/klee-last/test000001.ktest -// RUN: test -f %T/klee-last/test000002.ktest -// RUN: test -f %T/klee-last/test000003.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log +// RUN: test -f %t.klee-out/test000001.ktest +// RUN: test -f %t.klee-out/test000002.ktest +// RUN: test -f %t.klee-out/test000003.ktest #include <stdio.h> #include <sys/types.h> diff --git a/test/Runtime/POSIX/FreeArgv.c b/test/Runtime/POSIX/FreeArgv.c index 4d2e5b75..8f812b5d 100644 --- a/test/Runtime/POSIX/FreeArgv.c +++ b/test/Runtime/POSIX/FreeArgv.c @@ -1,8 +1,9 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --posix-runtime %t.bc --sym-args 1 1 1 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.free.err -// RUN: test -f %T/klee-last/test000002.free.err -// RUN: test -f %T/klee-last/test000003.free.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime %t.bc --sym-args 1 1 1 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.free.err +// RUN: test -f %t.klee-out/test000002.free.err +// RUN: test -f %t.klee-out/test000003.free.err int main(int argc, char **argv) { // FIXME: Use FileCheck's CHECK-DAG to check source locations diff --git a/test/Runtime/POSIX/Futimesat.c b/test/Runtime/POSIX/Futimesat.c index 6ae0ca7c..011fe56f 100644 --- a/test/Runtime/POSIX/Futimesat.c +++ b/test/Runtime/POSIX/Futimesat.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -g -c -o %t2.bc // RUN: touch /tmp/futimesat-dummy -// RUN: %klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 // RUN: rm /tmp/futimesat-dummy #include <assert.h> diff --git a/test/Runtime/POSIX/Getenv.c b/test/Runtime/POSIX/Getenv.c index 9d5672f7..eb3a611a 100644 --- a/test/Runtime/POSIX/Getenv.c +++ b/test/Runtime/POSIX/Getenv.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --libc=klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 #include <assert.h> diff --git a/test/Runtime/POSIX/Ioctl.c b/test/Runtime/POSIX/Ioctl.c index 93ce4b5c..e8220276 100644 --- a/test/Runtime/POSIX/Ioctl.c +++ b/test/Runtime/POSIX/Ioctl.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --posix-runtime --exit-on-error %t.bc --sym-files 0 4 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t.bc --sym-files 0 4 #include <assert.h> #include <fcntl.h> diff --git a/test/Runtime/POSIX/Isatty.c b/test/Runtime/POSIX/Isatty.c index 3054aadb..241c5cbb 100644 --- a/test/Runtime/POSIX/Isatty.c +++ b/test/Runtime/POSIX/Isatty.c @@ -1,9 +1,10 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --libc=uclibc --posix-runtime %t.bc --sym-files 0 10 --sym-stdout > %t.log 2>&1 -// RUN: test -f %T/klee-last/test000001.ktest -// RUN: test -f %T/klee-last/test000002.ktest -// RUN: test -f %T/klee-last/test000003.ktest -// RUN: test -f %T/klee-last/test000004.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t.bc --sym-files 0 10 --sym-stdout > %t.log 2>&1 +// RUN: test -f %t.klee-out/test000001.ktest +// RUN: test -f %t.klee-out/test000002.ktest +// RUN: test -f %t.klee-out/test000003.ktest +// RUN: test -f %t.klee-out/test000004.ktest // RUN: grep -q "stdin is a tty" %t.log // RUN: grep -q "stdin is NOT a tty" %t.log // RUN: grep -q "stdout is a tty" %t.log diff --git a/test/Runtime/POSIX/Openat.c b/test/Runtime/POSIX/Openat.c index 3c17f976..c46c1269 100644 --- a/test/Runtime/POSIX/Openat.c +++ b/test/Runtime/POSIX/Openat.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 -// RUN: test -f %T/klee-last/test000001.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-files 1 10 +// RUN: test -f %t.klee-out/test000001.ktest #include <assert.h> #include <fcntl.h> diff --git a/test/Runtime/POSIX/PrgName.c b/test/Runtime/POSIX/PrgName.c index 6bc682ca..d62fe0fa 100644 --- a/test/Runtime/POSIX/PrgName.c +++ b/test/Runtime/POSIX/PrgName.c @@ -1,7 +1,8 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc -// RUN: %klee --posix-runtime --exit-on-error %t2.bc --sym-arg 10 >%t.log -// RUN: test -f %T/klee-last/test000001.ktest -// RUN: test -f %T/klee-last/test000002.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t2.bc --sym-arg 10 >%t.log +// RUN: test -f %t.klee-out/test000001.ktest +// RUN: test -f %t.klee-out/test000002.ktest // RUN: grep -q "No" %t.log // RUN: grep -qv "Yes" %t.log diff --git a/test/Runtime/POSIX/Read1.c b/test/Runtime/POSIX/Read1.c index 66831073..2b8cfa9d 100644 --- a/test/Runtime/POSIX/Read1.c +++ b/test/Runtime/POSIX/Read1.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --exit-on-error --posix-runtime %t.bc --sym-files 1 8 >%t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --posix-runtime %t.bc --sym-files 1 8 >%t.log #include <unistd.h> #include <sys/types.h> diff --git a/test/Runtime/POSIX/SELinux/SELinux.c b/test/Runtime/POSIX/SELinux/SELinux.c index 65dd1a7f..21bebc4d 100644 --- a/test/Runtime/POSIX/SELinux/SELinux.c +++ b/test/Runtime/POSIX/SELinux/SELinux.c @@ -1,6 +1,7 @@ /* Very basic test, as right now SELinux support is extremely basic */ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --posix-runtime --exit-on-error %t1.bc --sym-arg 2 > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --posix-runtime --exit-on-error %t1.bc --sym-arg 2 > %t.log // XFAIL: no-selinux #include <selinux/selinux.h> diff --git a/test/Runtime/POSIX/SeedAndFail.c b/test/Runtime/POSIX/SeedAndFail.c index d9bd7f8d..964ec500 100644 --- a/test/Runtime/POSIX/SeedAndFail.c +++ b/test/Runtime/POSIX/SeedAndFail.c @@ -1,8 +1,9 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc -// RUN: rm -rf %T/tmp-123 -// RUN: %klee --libc=uclibc --output-dir=%T/tmp-123 --posix-runtime %t.bc --sym-files 1 10 2>%t.log -// RUN: %klee --seed-out-dir=%T/tmp-123 --zero-seed-extension --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --max-fail 1 -// RUN: ls %T/klee-last | grep -c assert | grep 4 +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 2>%t.log +// RUN: rm -rf %t.klee-out-2 +// RUN: %klee --output-dir=%t.klee-out-2 --seed-out-dir=%t.klee-out --zero-seed-extension --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --max-fail 1 +// RUN: ls %t.klee-out-2 | grep -c assert | grep 4 #include <string.h> #include <assert.h> diff --git a/test/Runtime/POSIX/Stdin.c b/test/Runtime/POSIX/Stdin.c index b5402cf1..ebf16405 100644 --- a/test/Runtime/POSIX/Stdin.c +++ b/test/Runtime/POSIX/Stdin.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 0 4 > %t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 0 4 > %t.log // RUN: grep "mode:file" %t.log // RUN: grep "mode:dir" %t.log // RUN: grep "mode:chr" %t.log diff --git a/test/Runtime/POSIX/Write1.c b/test/Runtime/POSIX/Write1.c index 16132b82..d260f2c3 100644 --- a/test/Runtime/POSIX/Write1.c +++ b/test/Runtime/POSIX/Write1.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log #include <stdio.h> #include <assert.h> diff --git a/test/Runtime/POSIX/Write2.c b/test/Runtime/POSIX/Write2.c index 9801e70c..edb3e5b2 100644 --- a/test/Runtime/POSIX/Write2.c +++ b/test/Runtime/POSIX/Write2.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --libc=uclibc --posix-runtime %t.bc --sym-files 1 10 --sym-stdout 2>%t.log #include <stdio.h> #include <assert.h> diff --git a/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c b/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c index 83e6a57a..71f6d07a 100644 --- a/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c +++ b/test/Runtime/Uclibc/2007-10-08-optimization-calls-wrong-libc-functions.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error --optimize --libc=uclibc %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --optimize --libc=uclibc %t1.bc #include <string.h> #include <assert.h> diff --git a/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c b/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c index 686bec19..47ee3a4d 100644 --- a/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c +++ b/test/Runtime/Uclibc/2008-03-04-libc-atexit-uses-dso-handle.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error --libc=uclibc %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error --libc=uclibc %t1.bc // just make sure atexit works ok diff --git a/test/Runtime/Uclibc/Environ.c b/test/Runtime/Uclibc/Environ.c index 36db1911..76208278 100644 --- a/test/Runtime/Uclibc/Environ.c +++ b/test/Runtime/Uclibc/Environ.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --libc=uclibc --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --libc=uclibc --exit-on-error %t1.bc #include <assert.h> #include <stdlib.h> diff --git a/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c b/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c index ad585ddd..611656bd 100644 --- a/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c +++ b/test/regression/2007-07-25-invalid-stp-array-binding-to-objectstate.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <assert.h> diff --git a/test/regression/2007-07-30-unflushed-byte.c b/test/regression/2007-07-30-unflushed-byte.c index ba8a08a7..20f60eef 100644 --- a/test/regression/2007-07-30-unflushed-byte.c +++ b/test/regression/2007-07-30-unflushed-byte.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <assert.h> diff --git a/test/regression/2007-08-01-bool-zext-in-call.ll b/test/regression/2007-08-01-bool-zext-in-call.ll index fc77785d..1a4bf4f3 100644 --- a/test/regression/2007-08-01-bool-zext-in-call.ll +++ b/test/regression/2007-08-01-bool-zext-in-call.ll @@ -1,12 +1,6 @@ -; RUN: rm -rf %T/xxx -; -; The output directory must be explicitly set so that it ends up in the Output/ -; directory which is not scanned for .ll files by llvm-lit, otherwise running -; test suite a second time will cause problems because assembly.ll generated by -; executing this test case the first time will be detected as a test case. -; -; RUN: llvm-as -f %s -o - | %klee --output-dir=%T/xxx -; RUN: not test -f %T/xxx/klee-last/test0001.abort.err +; RUN: rm -rf %t.klee-out +; RUN: llvm-as -f %s -o - | %klee --output-dir=%t.klee-out +; RUN: not test -f %t.klee-out/test0001.abort.err declare void @klee_abort() diff --git a/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c b/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c index 15f4e90e..0aa20896 100644 --- a/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c +++ b/test/regression/2007-08-01-cache-unclear-on-overwrite-flushed.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <assert.h> #include <stdio.h> diff --git a/test/regression/2007-08-06-64bit-shift.c b/test/regression/2007-08-06-64bit-shift.c index 958e56c0..ac282dbd 100644 --- a/test/regression/2007-08-06-64bit-shift.c +++ b/test/regression/2007-08-06-64bit-shift.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <assert.h> diff --git a/test/regression/2007-08-06-access-after-free.c b/test/regression/2007-08-06-access-after-free.c index a1812062..ae80b8b8 100644 --- a/test/regression/2007-08-06-access-after-free.c +++ b/test/regression/2007-08-06-access-after-free.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc #include <assert.h> diff --git a/test/regression/2007-08-08-free-zero.c b/test/regression/2007-08-08-free-zero.c index 935b04fd..3718f3cf 100644 --- a/test/regression/2007-08-08-free-zero.c +++ b/test/regression/2007-08-08-free-zero.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc -// RUN: ls %T/klee-last | not grep *.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc +// RUN: ls %t.klee-out | not grep *.err #include <stdlib.h> diff --git a/test/regression/2007-08-16-invalid-constant-value.c b/test/regression/2007-08-16-invalid-constant-value.c index ea0a5fee..e0b304f4 100644 --- a/test/regression/2007-08-16-invalid-constant-value.c +++ b/test/regression/2007-08-16-invalid-constant-value.c @@ -2,7 +2,8 @@ // RUN: %llvmgcc %s -emit-llvm -O2 -c -o %t1.bc // RUN: llvm-as -f %p/../Feature/_utils._ll -o %t2.bc // RUN: llvm-link %t1.bc %t2.bc -o %t3.bc -// RUN: %klee %t3.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t3.bc #include <assert.h> diff --git a/test/regression/2007-08-16-valid-write-to-freed-object.c b/test/regression/2007-08-16-valid-write-to-freed-object.c index 472b7de8..1fca1cca 100644 --- a/test/regression/2007-08-16-valid-write-to-freed-object.c +++ b/test/regression/2007-08-16-valid-write-to-freed-object.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc unsigned sym() { unsigned x; diff --git a/test/regression/2007-10-11-free-of-alloca.c b/test/regression/2007-10-11-free-of-alloca.c index 44a9ed4e..cfd633dc 100644 --- a/test/regression/2007-10-11-free-of-alloca.c +++ b/test/regression/2007-10-11-free-of-alloca.c @@ -1,10 +1,11 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.free.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.free.err int main() { int buf[4]; - // CHECK: 2007-10-11-free-of-alloca.c:8: free of alloca + // CHECK: 2007-10-11-free-of-alloca.c:9: free of alloca free(buf); // this should give runtime error, not crash return 0; } diff --git a/test/regression/2007-10-11-illegal-access-after-free-and-branch.c b/test/regression/2007-10-11-illegal-access-after-free-and-branch.c index 73b3ed3f..c5cffa36 100644 --- a/test/regression/2007-10-11-illegal-access-after-free-and-branch.c +++ b/test/regression/2007-10-11-illegal-access-after-free-and-branch.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --optimize %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.ptr.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --optimize %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.ptr.err #include <stdlib.h> #include <stdio.h> @@ -14,7 +15,7 @@ int main(int argc, char **argv) { free(buf); if (x) { - // CHECK: 2007-10-11-illegal-access-after-free-and-branch.c:18: memory error: out of bound pointer + // CHECK: 2007-10-11-illegal-access-after-free-and-branch.c:19: memory error: out of bound pointer return buf[2]; } klee_silent_exit(0); diff --git a/test/regression/2007-10-12-failed-make-symbolic-after-copy.c b/test/regression/2007-10-12-failed-make-symbolic-after-copy.c index bfe61f2c..800b57e7 100644 --- a/test/regression/2007-10-12-failed-make-symbolic-after-copy.c +++ b/test/regression/2007-10-12-failed-make-symbolic-after-copy.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc -// RUN: test -f %T/klee-last/test000001.ktest +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc +// RUN: test -f %t.klee-out/test000001.ktest int main() { unsigned x, y[4]; diff --git a/test/regression/2008-03-04-free-of-global.c b/test/regression/2008-03-04-free-of-global.c index 5351128d..3416fd61 100644 --- a/test/regression/2008-03-04-free-of-global.c +++ b/test/regression/2008-03-04-free-of-global.c @@ -1,11 +1,12 @@ // RUN: %llvmgcc %s -g -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc 2>&1 | FileCheck %s -// RUN: test -f %T/klee-last/test000001.free.err +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc 2>&1 | FileCheck %s +// RUN: test -f %t.klee-out/test000001.free.err int buf[4]; int main() { - // CHECK: 2008-03-04-free-of-global.c:9: free of global + // CHECK: 2008-03-04-free-of-global.c:10: free of global free(buf); // this should give runtime error, not crash return 0; } diff --git a/test/regression/2008-03-11-free-of-malloc-zero.c b/test/regression/2008-03-11-free-of-malloc-zero.c index d096818b..07ec2918 100644 --- a/test/regression/2008-03-11-free-of-malloc-zero.c +++ b/test/regression/2008-03-11-free-of-malloc-zero.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc #include <stdlib.h> diff --git a/test/regression/2008-04-10-bad-alloca-free.c b/test/regression/2008-04-10-bad-alloca-free.c index a6215f64..3404a42e 100644 --- a/test/regression/2008-04-10-bad-alloca-free.c +++ b/test/regression/2008-04-10-bad-alloca-free.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee --exit-on-error %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t1.bc void f(int *addr) { klee_make_symbolic(addr, sizeof *addr, "moo"); diff --git a/test/regression/2008-05-23-gep-with-global-const.c b/test/regression/2008-05-23-gep-with-global-const.c index 3ad9b24e..6bd78dd2 100644 --- a/test/regression/2008-05-23-gep-with-global-const.c +++ b/test/regression/2008-05-23-gep-with-global-const.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc -emit-llvm -O0 -c -o %t.bc %s -// RUN: %klee --exit-on-error %t.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out --exit-on-error %t.bc #include <assert.h> diff --git a/test/regression/2012-05-13-asm-causes-aborts.c b/test/regression/2012-05-13-asm-causes-aborts.c index 6622d02b..322e5bb8 100644 --- a/test/regression/2012-05-13-asm-causes-aborts.c +++ b/test/regression/2012-05-13-asm-causes-aborts.c @@ -1,5 +1,6 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc -// RUN: %klee %t1.bc +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out %t1.bc int main(int argc, char *argv[]){ __asm__ __volatile__ ("movl %eax, %eax"); diff --git a/test/regression/2014-07-04-unflushed-error-report.c b/test/regression/2014-07-04-unflushed-error-report.c index 63431370..0518fb4d 100644 --- a/test/regression/2014-07-04-unflushed-error-report.c +++ b/test/regression/2014-07-04-unflushed-error-report.c @@ -1,6 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -g -O0 -c -o %t.bc -// RUN: %klee -check-overshift %t.bc 2> %t.log -// RUN: FileCheck -input-file=%T/klee-last/test000001.overshift.err %s +// RUN: rm -rf %t.klee-out +// RUN: %klee --output-dir=%t.klee-out -check-overshift %t.bc 2> %t.log +// RUN: FileCheck -input-file=%t.klee-out/test000001.overshift.err %s /* This test checks that the error file isn't empty and contains the * right content. @@ -18,7 +19,7 @@ int main() // CHECK-NEXT: 2014-07-04-unflushed-error-report.c // FIXME: Need newer FileCheck for to do ``Line: [[@LINE+1]]`` // Just hardcode line number for now - // CHECK-NEXT: Line: 22 + // CHECK-NEXT: Line: 23 result = x << y; return 0; |