about summary refs log tree commit diff homepage
path: root/test/Runtime/POSIX/Isatty.c
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2014-01-12 21:34:59 +0000
committerDan Liew <daniel.liew@imperial.ac.uk>2014-01-20 14:45:07 +0000
commit38a084fb50cfb38570d0194bb076805e4f752c99 (patch)
tree598b00ceae9e12773e61b6e6657d654afc00360e /test/Runtime/POSIX/Isatty.c
parent313390c68fc808d5fe7cf746a7a65b1e018362dc (diff)
downloadklee-38a084fb50cfb38570d0194bb076805e4f752c99.tar.gz
Fixed many tests that make use of the file tool to check
a file created by KLEE exists. A big difference between
DejaGNU and llvm-lit is that in DejaGNU the working directory
is the test output directory (e.g. test/Feature/Output) but
in llvm-lit the working directory is the test directory
(e.g. test/Feature )

To fix this I have used the %T substitution variable for llvm-lit.

I have also improved some tests by using LLVM's FileCheck tool
and removing of hard coded constants for data type size in
some places.

This commit inevitably breaks running the tests under DejaGNU.
Although it is possible to hack by introducing the %T substitution
variable some tests would still be broken because the use of shell
pipes in DejaGNU doesn't seem to work properly. I could work around
this but it's really not worth the effort.
Diffstat (limited to 'test/Runtime/POSIX/Isatty.c')
-rw-r--r--test/Runtime/POSIX/Isatty.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/test/Runtime/POSIX/Isatty.c b/test/Runtime/POSIX/Isatty.c
index 293ee653..bd514d48 100644
--- a/test/Runtime/POSIX/Isatty.c
+++ b/test/Runtime/POSIX/Isatty.c
@@ -1,9 +1,9 @@
 // RUN: %llvmgcc %s -emit-llvm -O0 -c -o %t.bc
 // RUN: %klee --libc=uclibc --posix-runtime %t.bc --sym-files 0 10 --sym-stdout 2>%t.log
-// RUN: test -f klee-last/test000001.ktest
-// RUN: test -f klee-last/test000002.ktest
-// RUN: test -f klee-last/test000003.ktest
-// RUN: test -f klee-last/test000004.ktest
+// 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: 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
@@ -15,16 +15,21 @@
 #include <stdio.h>
 #include <assert.h>
 
+// FIXME: Use new FileCheck to check klee's output
 int main(int argc, char** argv) {
   int fd0 = 0; // stdin
   int fd1 = 1; // stdout
 
   int r = isatty(fd0);
+  // CHECK-DAG: stdin is a tty
+  // CHECK-DAG: stdin is NOT a tty
   if (r) 
     fprintf(stderr, "stdin is a tty\n");
   else fprintf(stderr, "stdin is NOT a tty\n");
   
   r = isatty(fd1);
+  // CHECK-DAG: stdout is a tty
+  // CHECK-DAG: stdout is NOT a tty
   if (r) 
     fprintf(stderr, "stdout is a tty\n");
   else fprintf(stderr, "stdout is NOT a tty\n");