summaryrefslogtreecommitdiff
path: root/klee/test
diff options
context:
space:
mode:
authorCristian Cadar <cristic@cs.stanford.edu>2012-09-12 14:37:39 +0000
committerCristian Cadar <cristic@cs.stanford.edu>2012-09-12 14:37:39 +0000
commit86d0170ae8bcbfbe1708b7d99f2d706f13cff463 (patch)
tree9de92af88741a431aaafb24d259b3c5054d904aa /klee/test
parent21c60ba9a9ff6bfcc8061b3d7a47e281dd79e3cc (diff)
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.
Diffstat (limited to 'klee/test')
-rw-r--r--klee/test/Dogfood/ImmutableSet.cpp2
-rw-r--r--klee/test/Feature/CopyOnWrite.c2
-rw-r--r--klee/test/Feature/MakeSymbolicName.c2
-rw-r--r--klee/test/Feature/Searchers.c31
-rw-r--r--klee/test/Runtime/POSIX/DirConsistency.c4
-rw-r--r--klee/test/Runtime/POSIX/FD_Fail2.c15
6 files changed, 31 insertions, 25 deletions
diff --git a/klee/test/Dogfood/ImmutableSet.cpp b/klee/test/Dogfood/ImmutableSet.cpp
index bdb9f431c68..95320a82f5a 100644
--- a/klee/test/Dogfood/ImmutableSet.cpp
+++ b/klee/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/klee/test/Feature/CopyOnWrite.c b/klee/test/Feature/CopyOnWrite.c
index ee3ea15e7d7..ce77c802432 100644
--- a/klee/test/Feature/CopyOnWrite.c
+++ b/klee/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/klee/test/Feature/MakeSymbolicName.c b/klee/test/Feature/MakeSymbolicName.c
index a4d4e2a68db..a31b4a9b8d2 100644
--- a/klee/test/Feature/MakeSymbolicName.c
+++ b/klee/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/klee/test/Feature/Searchers.c b/klee/test/Feature/Searchers.c
index d61037b9266..b120d354578 100644
--- a/klee/test/Feature/Searchers.c
+++ b/klee/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/klee/test/Runtime/POSIX/DirConsistency.c b/klee/test/Runtime/POSIX/DirConsistency.c
index 30696650102..24bb8a6e9b5 100644
--- a/klee/test/Runtime/POSIX/DirConsistency.c
+++ b/klee/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/klee/test/Runtime/POSIX/FD_Fail2.c b/klee/test/Runtime/POSIX/FD_Fail2.c
index 062f7027006..b42e03bfea3 100644
--- a/klee/test/Runtime/POSIX/FD_Fail2.c
+++ b/klee/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;
}