about summary refs log tree commit diff homepage
path: root/test/Feature/InAndOutOfBounds.c
diff options
context:
space:
mode:
authorCristian Cadar <c.cadar@imperial.ac.uk>2014-01-21 05:41:25 -0800
committerCristian Cadar <c.cadar@imperial.ac.uk>2014-01-21 05:41:25 -0800
commite49c1e1958e863195b01d99c92194289b4034bbb (patch)
treeee305c933ea7b653f769fe209601ca963938e16d /test/Feature/InAndOutOfBounds.c
parentf626bdb1905c4d56fdcca04cd6ee84acb7597431 (diff)
parentebc387f1181ca39cd72fe8ef27a535cd0c674bcf (diff)
downloadklee-e49c1e1958e863195b01d99c92194289b4034bbb.tar.gz
Merge pull request #92 from delcypher/fix_llvm-lit
Move testing infrastructure to llvm-lit and completly remove all DejaGNU support
Diffstat (limited to 'test/Feature/InAndOutOfBounds.c')
-rw-r--r--test/Feature/InAndOutOfBounds.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/test/Feature/InAndOutOfBounds.c b/test/Feature/InAndOutOfBounds.c
index ba655b83..729d6b78 100644
--- a/test/Feature/InAndOutOfBounds.c
+++ b/test/Feature/InAndOutOfBounds.c
@@ -1,8 +1,8 @@
-// RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t1.bc
-// RUN: %klee %t1.bc
-// RUN: test -f klee-last/test000001.ptr.err -o -f klee-last/test000002.ptr.err 
-// RUN: test ! -f klee-last/test000001.ptr.err -o ! -f klee-last/test000002.ptr.err 
-// RUN: test ! -f klee-last/test000003.ktest
+// 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
 
 unsigned klee_urange(unsigned start, unsigned end) {
   unsigned x;
@@ -12,7 +12,9 @@ unsigned klee_urange(unsigned start, unsigned end) {
 }
 
 int main() {
-  int *x = malloc(4);
+  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
   x[klee_urange(0,2)] = 1;
   free(x);
   return 0;