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);
   }
 }