]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't set :filename if it's already set
authorDarren Hoo <darren.hoo@gmail.com>
Thu, 6 Oct 2011 17:13:59 +0000 (19:13 +0200)
committerEdward John Steere <edward.steere@gmail.com>
Wed, 25 Jan 2017 18:13:42 +0000 (20:13 +0200)
* test/manual/cedet/cit-externaldb.el:
 (semanticdb-strip-find-results): Check if there already is a
 :filename attribute set, so that file information from GNU Global
 will not be lost.

* tests/cit-externaldb.el: New test for :filename property.  Make
  doc-string and comments generic, since this is not specific to GNU
  global.

test/manual/cedet/cit-externaldb.el

index 89897c407f5a30ae4a9008d91900510fc68eb0c9..cbc35047f8be11e2eb7c05a227565bb4f324b9dc 100644 (file)
                                    semanticdbenablefcn
                                    semanticdbclass
                                    cleanupfiles)
-  "Test GNU Global tooling integration if it is available."
+  "Test external database tooling integration if it is available."
   (let ((bufftokill (find-file (cit-file "Project.ede"))))
 
     ;; 1) Create
     ;; database.
     (funcall createfcn default-directory)
 
-    ;; 2) force ede's find file to use gnu global
+    ;; 2) force ede's find file to use external tool
     (require 'ede-locate)
     (let* ((ede-locate-setup-options (list edelocatesym))
           (base default-directory)
     ;; After removing the old locate system, restore the old one.
     (ede-enable-locate-on-project)
 
-    ;; 3) Look up tags with a GNU Global database
+    ;; 3) Look up tags with a external database
     (if semanticdbenablefcn
        (save-excursion
          (let ((killme (find-file (cit-file "src/main.cpp"))))
                       symrefsym
                       (semanticdb-find-result-length res)))
 
+             (dolist (tag (semanticdb-strip-find-results res 'name))
+               (if (not (semantic--tag-get-property tag :filename))
+                   (error "Tag %s does not point to a specific file."
+                          (semantic-tag-name tag))))
+
              (kill-buffer killme))))
       ;; else, message
       (message "Skipping %s database test : Nothing to test." symrefsym))
     ;; Do the tests again.
     (cit-symref-quick-find-test)
 
-    ;; Delete the GTAGS and other files.
+    ;; Delete the files created by external tool.
     (dolist (F cleanupfiles)
       (when (file-exists-p F)
        (delete-file F)))