diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-07-05 22:22:35 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-07-05 22:22:35 +0000 |
commit | 7b332d9ada3e2806a4d765000527f739f167791f (patch) | |
tree | 5b45f3cdaa38d6acd0f9126dad62fa1479af7eaa /test | |
parent | 9eec4ed6ca0dcf098580da9146b97e0841556d12 (diff) |
Make use of the Index library through the index-test tool.
'index-test' is now able to provide additional info for a Decl, through multiple AST files:
-Find declarations
-Find definitions
-Find references
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74803 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Index/_init.c | 2 | ||||
-rw-r--r-- | test/Index/find-decls.c | 7 | ||||
-rw-r--r-- | test/Index/find-defs.c | 8 | ||||
-rw-r--r-- | test/Index/find-refs.c | 16 | ||||
-rw-r--r-- | test/Index/foo.h | 4 | ||||
-rw-r--r-- | test/Index/t1.c | 9 | ||||
-rw-r--r-- | test/Index/t2.c | 8 | ||||
-rwxr-xr-x | test/TestRunner.sh | 3 |
8 files changed, 57 insertions, 0 deletions
diff --git a/test/Index/_init.c b/test/Index/_init.c new file mode 100644 index 0000000000..24caaefcb1 --- /dev/null +++ b/test/Index/_init.c @@ -0,0 +1,2 @@ +// RUN: clang-cc -emit-pch %S/t1.c -o %T/t1.ast && +// RUN: clang-cc -emit-pch %S/t2.c -o %T/t2.ast diff --git a/test/Index/find-decls.c b/test/Index/find-decls.c new file mode 100644 index 0000000000..06b52e96d7 --- /dev/null +++ b/test/Index/find-decls.c @@ -0,0 +1,7 @@ +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:8:7 -print-decls | count 3 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:8:7 -print-decls | grep 'foo.h:4:6,' | count 2 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:8:7 -print-decls | grep 't2.c:5:6,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:5:47 -print-decls | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:5:47 -print-decls | grep 't1.c:5:12,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:6:20 -print-decls | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:6:20 -print-decls | grep 't1.c:3:19,' diff --git a/test/Index/find-defs.c b/test/Index/find-defs.c new file mode 100644 index 0000000000..d17dc0b142 --- /dev/null +++ b/test/Index/find-defs.c @@ -0,0 +1,8 @@ +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:1:14 -print-defs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:1:14 -print-defs | grep 't2.c:3:5,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:3:9 -print-defs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:3:9 -print-defs | grep 't1.c:3:6,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:4:9 -print-defs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:4:9 -print-defs | grep 't2.c:5:6,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:8:7 -print-defs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:8:7 -print-defs | grep 't2.c:5:6,' diff --git a/test/Index/find-refs.c b/test/Index/find-refs.c new file mode 100644 index 0000000000..fea1f752fb --- /dev/null +++ b/test/Index/find-refs.c @@ -0,0 +1,16 @@ +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:1:14 -print-refs | count 3 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:1:14 -print-refs | grep 't1.c:4:19,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:1:14 -print-refs | grep 't2.c:6:3,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:1:14 -print-refs | grep 't2.c:7:12,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:3:9 -print-refs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:3:9 -print-refs | grep 't2.c:7:3,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:4:9 -print-refs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/foo.h:4:9 -print-refs | grep 't1.c:8:3,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:3:22 -print-refs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:3:22 -print-refs | grep 't1.c:6:17,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:4:11 -print-refs | count 1 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:4:11 -print-refs | grep 't1.c:6:5,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:5:30 -print-refs | count 3 && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:5:30 -print-refs | grep 't1.c:5:27,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:5:30 -print-refs | grep 't1.c:5:44,' && +// RUN: index-test %T/t1.ast %T/t2.ast -point-at %S/t1.c:5:30 -print-refs | grep 't1.c:6:26,' diff --git a/test/Index/foo.h b/test/Index/foo.h new file mode 100644 index 0000000000..2e3b403dea --- /dev/null +++ b/test/Index/foo.h @@ -0,0 +1,4 @@ +extern int global_var; + +void foo_func(int param1); +void bar_func(void); diff --git a/test/Index/t1.c b/test/Index/t1.c new file mode 100644 index 0000000000..1ff89ca34b --- /dev/null +++ b/test/Index/t1.c @@ -0,0 +1,9 @@ +#include "foo.h" + +void foo_func(int param1) { + int local_var = global_var; + for (int for_var = 100; for_var < 500; ++for_var) { + local_var = param1 + for_var; + } + bar_func(); +} diff --git a/test/Index/t2.c b/test/Index/t2.c new file mode 100644 index 0000000000..8e405cc367 --- /dev/null +++ b/test/Index/t2.c @@ -0,0 +1,8 @@ +#include "foo.h" + +int global_var = 10; + +void bar_func(void) { + global_var += 100; + foo_func(global_var); +} diff --git a/test/TestRunner.sh b/test/TestRunner.sh index bb20728578..07451eb485 100755 --- a/test/TestRunner.sh +++ b/test/TestRunner.sh @@ -11,6 +11,7 @@ # %S - Replaced with the directory where the input file resides # %prcontext - prcontext.tcl script # %t - temporary file name (derived from testcase name) +# %T - directory of temporary file name # FILENAME=$1 @@ -19,6 +20,7 @@ SUBST=$1 FILEDIR=`dirname $TESTNAME` OUTPUT=Output/$1.out +OUTPUTDIR=`dirname $OUTPUT` # create the output directory if it does not already exist mkdir -p `dirname $OUTPUT` > /dev/null 2>&1 @@ -86,6 +88,7 @@ grep 'RUN:' $FILENAME | \ -e "s|%s|$SUBST|g" \ -e "s|%S|$FILEDIR|g" \ -e "s|%prcontext|prcontext.tcl|g" \ + -e "s|%T|$OUTPUTDIR|g" \ -e "s|%t|$TEMPOUTPUT|g" > $SCRIPT IS_XFAIL=0 |