Add test for C-based indexing API, using FileCheck utility.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82706 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c
index 9e94058..f1f9372 100644
--- a/tools/c-index-test/c-index-test.c
+++ b/tools/c-index-test/c-index-test.c
@@ -4,33 +4,37 @@
#include <stdio.h>
#include <string.h>
+extern char *basename(const char *);
+
static void PrintCursor(CXCursor Cursor) {
if (clang_isInvalid(Cursor.kind))
printf("Invalid Cursor => %s\n", clang_getCursorKindSpelling(Cursor.kind));
else
- printf("%s => %s ", clang_getCursorKindSpelling(Cursor.kind),
- clang_getCursorSpelling(Cursor));
+ printf("%s=%s", clang_getCursorKindSpelling(Cursor.kind),
+ clang_getCursorSpelling(Cursor));
}
static void DeclVisitor(CXDecl Dcl, CXCursor Cursor, CXClientData Filter)
{
if (!Filter || (Cursor.kind == *(enum CXCursorKind *)Filter)) {
+ printf("// CHECK: %s:%d:%d: ", basename(clang_getCursorSource(Cursor)),
+ clang_getCursorLine(Cursor),
+ clang_getCursorColumn(Cursor));
PrintCursor(Cursor);
- printf("(Context: %s", clang_getDeclSpelling(Dcl));
- printf(" Source: %s (%d:%d))\n", clang_getCursorSource(Cursor),
- clang_getCursorLine(Cursor),
- clang_getCursorColumn(Cursor));
+ printf(" [Context=%s]\n", clang_getDeclSpelling(Dcl));
}
}
static void TranslationUnitVisitor(CXTranslationUnit Unit, CXCursor Cursor,
CXClientData Filter)
{
if (!Filter || (Cursor.kind == *(enum CXCursorKind *)Filter)) {
+ printf("// CHECK: %s:%d:%d: ", basename(clang_getCursorSource(Cursor)),
+ clang_getCursorLine(Cursor),
+ clang_getCursorColumn(Cursor));
PrintCursor(Cursor);
- printf("(Context: %s", clang_getTranslationUnitSpelling(Unit));
- printf(" Source: %s (%d:%d))\n", clang_getCursorSource(Cursor),
- clang_getCursorLine(Cursor),
- clang_getCursorColumn(Cursor));
+ printf(" [Context=%s]\n", basename(clang_getTranslationUnitSpelling(Unit)));
+
+ clang_loadDeclaration(Cursor.decl, DeclVisitor, 0);
if (Cursor.kind == CXCursor_FunctionDefn) {
const char *startBuf, *endBuf;
@@ -54,16 +58,15 @@
Ref = clang_getCursor(Unit, clang_getCursorSource(Cursor),
curLine, curColumn);
if (Ref.kind != CXCursor_FunctionDecl) {
+ printf("// CHECK: %s:%d:%d: ", basename(clang_getCursorSource(Ref)),
+ curLine, curColumn);
PrintCursor(Ref);
- printf("(Context: %s", clang_getDeclSpelling(Ref.decl));
- printf(" Source: %s (%d:%d))\n", clang_getCursorSource(Ref),
- curLine, curColumn);
+ printf(" [Context:%s]\n", clang_getDeclSpelling(Ref.decl));
}
startBuf++;
}
}
}
- clang_loadDeclaration(Cursor.decl, DeclVisitor, 0);
}
}