diff options
author | Cristian Cadar <cristic@cs.stanford.edu> | 2012-09-12 14:37:39 +0000 |
---|---|---|
committer | Cristian Cadar <cristic@cs.stanford.edu> | 2012-09-12 14:37:39 +0000 |
commit | 9b5e99905e6732d64522d0efc212f3f1ce290ccc (patch) | |
tree | 58739c4be56a01b436fc1fffae5dadc4fe3b8ea3 /test | |
parent | 1e6f7d11bafab8c8eef907c7bc0a165ce426984b (diff) | |
download | klee-9b5e99905e6732d64522d0efc212f3f1ce290ccc.tar.gz |
Restructured the command-line options for setting the search
heuristics in KLEE. The new options are documented at http://klee.llvm.org/klee-options.html. Cleaned a bit the code in UserSearcher.cpp, and fixed some test cases to use the new options. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@163711 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Dogfood/ImmutableSet.cpp | 2 | ||||
-rw-r--r-- | test/Feature/CopyOnWrite.c | 2 | ||||
-rw-r--r-- | test/Feature/MakeSymbolicName.c | 2 | ||||
-rw-r--r-- | test/Feature/Searchers.c | 31 | ||||
-rw-r--r-- | test/Runtime/POSIX/DirConsistency.c | 4 | ||||
-rw-r--r-- | test/Runtime/POSIX/FD_Fail2.c | 15 |
6 files changed, 31 insertions, 25 deletions
diff --git a/test/Dogfood/ImmutableSet.cpp b/test/Dogfood/ImmutableSet.cpp index bdb9f431..95320a82 100644 --- a/test/Dogfood/ImmutableSet.cpp +++ b/test/Dogfood/ImmutableSet.cpp @@ -1,5 +1,5 @@ // 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 --use-non-uniform-random-search --use-cex-cache %t1.bc +// RUN: %klee --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/CopyOnWrite.c b/test/Feature/CopyOnWrite.c index ee3ea15e..ce77c802 100644 --- a/test/Feature/CopyOnWrite.c +++ b/test/Feature/CopyOnWrite.c @@ -1,5 +1,5 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --use-random-search --exit-on-error %t1.bc +// RUN: %klee --search=random-state --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/MakeSymbolicName.c b/test/Feature/MakeSymbolicName.c index a4d4e2a6..a31b4a9b 100644 --- a/test/Feature/MakeSymbolicName.c +++ b/test/Feature/MakeSymbolicName.c @@ -1,5 +1,5 @@ // RUN: %llvmgcc %s -emit-llvm -g -c -o %t1.bc -// RUN: %klee --use-random-search --exit-on-error %t1.bc +// RUN: %klee --search=random-state --exit-on-error %t1.bc #include <assert.h> diff --git a/test/Feature/Searchers.c b/test/Feature/Searchers.c index d61037b9..b120d354 100644 --- a/test/Feature/Searchers.c +++ b/test/Feature/Searchers.c @@ -1,27 +1,30 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t2.bc // RUN: %klee %t2.bc -// RUN: %klee --use-random-search %t2.bc -// RUN: %klee --use-non-uniform-random-search %t2.bc -// RUN: %klee --use-non-uniform-random-search --weight-type=query-cost %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 --use-random-search %t2.bc -// RUN: %klee --use-batching-search --use-non-uniform-random-search %t2.bc -// RUN: %klee --use-batching-search --use-non-uniform-random-search --weight-type=query-cost %t2.bc -// RUN: %klee --use-merge --debug-log-merge --debug-log-state-merge %t2.bc -// RUN: %klee --use-merge --use-batching-search %t2.bc -// RUN: %klee --use-merge --use-batching-search --use-random-search %t2.bc -// RUN: %klee --use-merge --use-batching-search --use-non-uniform-random-search %t2.bc -// RUN: %klee --use-merge --use-batching-search --use-non-uniform-random-search --weight-type=query-cost %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 --use-random-search %t2.bc -// RUN: %klee --use-iterative-deepening-time-search --use-batching-search --use-non-uniform-random-search %t2.bc -// RUN: %klee --use-iterative-deepening-time-search --use-batching-search --use-non-uniform-random-search --weight-type=query-cost %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 /* this test is basically just for coverage and doesn't really do any correctness check (aside from testing that the various combinations don't crash) */ +#include <stdlib.h> + int validate(char *buf, int N) { int i; diff --git a/test/Runtime/POSIX/DirConsistency.c b/test/Runtime/POSIX/DirConsistency.c index 30696650..24bb8a6e 100644 --- a/test/Runtime/POSIX/DirConsistency.c +++ b/test/Runtime/POSIX/DirConsistency.c @@ -1,7 +1,7 @@ // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc -// RUN: %klee --run-in=/tmp --use-random-search --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t1.log +// RUN: %klee --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 --use-random-search --libc=uclibc --posix-runtime --exit-on-error %t.bc --sym-files 1 1 > %t2.log +// RUN: %klee --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/FD_Fail2.c b/test/Runtime/POSIX/FD_Fail2.c index 062f7027..b42e03bf 100644 --- a/test/Runtime/POSIX/FD_Fail2.c +++ b/test/Runtime/POSIX/FD_Fail2.c @@ -1,5 +1,5 @@ // 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 +// RUN: %klee --libc=uclibc --posix-runtime --search=dfs %t1.bc --sym-files 1 10 --max-fail 1 // RUN: test -f klee-last/test000001.ktest // RUN: test -f klee-last/test000002.ktest // RUN: test -f klee-last/test000003.ktest @@ -14,21 +14,24 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> +#include <stdio.h> int main(int argc, char** argv) { char buf[1024]; - int fd = open("/etc/fstab", O_RDONLY); + int fd = open("A", O_RDONLY); assert(fd != -1); - - int r = read(fd, buf, 1, 100); + + int r; + + r = read(fd, buf, 1, 5); if (r != -1) printf("read() succeeded\n"); - else printf("read() failed with errno %s\n", strerror(errno)); + else printf("read() failed with error '%s'\n", strerror(errno)); r = close(fd); if (r != -1) printf("close() succeeded\n"); - else printf("close() failed with errno %s\n", strerror(errno)); + else printf("close() failed with error '%s'\n", strerror(errno)); return 0; } |