about summary refs log tree commit diff homepage
path: root/test/Feature
diff options
context:
space:
mode:
authorTimotej Kapus <tk1713@ic.ac.uk>2019-03-26 15:36:30 +0000
committerMartinNowack <martin.nowack@gmail.com>2019-04-04 20:37:41 +0100
commit0f7b91f802b510e6a7215ef1339484c588fa9e0c (patch)
tree52123f0436b609cb740b85973b2678603314a6fd /test/Feature
parentdac0af06352ff8dc5508ee06ce7eba8d7f23da2e (diff)
downloadklee-0f7b91f802b510e6a7215ef1339484c588fa9e0c.tar.gz
Add klee-stats test, fix microseconds bug
Diffstat (limited to 'test/Feature')
-rw-r--r--test/Feature/KleeStats.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Feature/KleeStats.c b/test/Feature/KleeStats.c
new file mode 100644
index 00000000..48305358
--- /dev/null
+++ b/test/Feature/KleeStats.c
@@ -0,0 +1,19 @@
+// RUN: %clang %s -emit-llvm -g %O0opt -c -o %t.bc
+// RUN: rm -rf %t.klee-out
+// RUN: %klee --output-dir=%t.klee-out  %t.bc 2> %t.log
+// RUN: klee-stats --print-more %t.klee-out > %t.stats
+// RUN: FileCheck -check-prefix=CHECK-STATS -input-file=%t.stats %s
+#include "klee/klee.h"
+#include <stdlib.h>
+int main(){
+  int a;
+  klee_make_symbolic (&a, sizeof(int), "a");
+  if (a) {
+    abort();
+  }
+  return 0;
+}
+// First check we find a line with the expected format
+// CHECK-STATS: | Path | Instrs| Time(s)| ICov(%)| BCov(%)| ICount| TSolver(%)|
+//Check there is a line with .klee-out dir, non zero instruction, less than 1 second execution time and 100 ICov.
+// CHECK-STATS: {{.*\.klee-out\|[ ]*[1-9]+\|[ ]*0\.([0-9]+)\|[ ]*100\.00}}