From: David Engster Date: Sat, 21 Apr 2012 12:19:33 +0000 (+0200) Subject: Remove useless generated skeleton and old NEWS X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=66c8eb7424b372ef8d4dd9232232490fdab3c2c6;p=emacs.git Remove useless generated skeleton and old NEWS * test/manual/cedet/cedet/semantic/fmt-utest.el Removed useless generated skeleton grammar. Move old NEWS files and semantic-fmt-utest. --- diff --git a/test/manual/cedet/cedet/semantic/fmt-utest.el b/test/manual/cedet/cedet/semantic/fmt-utest.el new file mode 100644 index 00000000000..14c329bf81b --- /dev/null +++ b/test/manual/cedet/cedet/semantic/fmt-utest.el @@ -0,0 +1,161 @@ +;;; semantic-fmt-utest.el --- Parsing / Formatting tests +;; +;; Copyright (C) 2012 Eric M. Ludlam +;; +;; Author: Eric M. Ludlam +;; +;; This program is free software; you can redistribute it and/or +;; modify it under the terms of the GNU General Public License as +;; published by the Free Software Foundation; either version 2, or (at +;; your option) any later version. + +;; This program is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. + +;;; Commentary: +;; +;; Unit tests for the formatting feature. +;; +;; Using test code from the tests source directory, parse the source +;; file. After parsing, read the comments for each signature, and +;; make sure that the semantic-tag-format-* functions in question +;; created the desired output. + +(require 'cedet-utests) +(require 'semantic) +(require 'semantic-format) + +;;; Code: + +(defvar semantic-fmt-utest-file-list + '("tests/test-fmt.cpp" + "tests/test-fmt.el" + ) + "List of files to run unit tests in.") + +(defvar semantic-fmt-utest-error-log-list nil + "Log errors during testing in this variable.") + +;;;###autoload +(defun semantic-fmt-utest () + "Visit all file entries, and run formatting test. +Files to visit are in `semantic-fmt-utest-file-list'." + (interactive) + + (save-current-buffer + + (let ((fl semantic-fmt-utest-file-list) + (semantic-fmt-utest-error-log-list nil) + ) + + (cedet-utest-log-setup "PARSE/FORMAT") + + (set-buffer (semantic-find-file-noselect + (locate-library "semantic-fmt-utest.el"))) + + (dolist (FILE fl) + + (save-current-buffer + ;; Make sure we have the files we think we have. + (when (not (file-exists-p FILE)) + (error "Cannot find unit test file: %s" FILE)) + + ;; Run the tests. + (let ((fb (find-buffer-visiting FILE)) + (b (semantic-find-file-noselect FILE)) + (num 0) + (tags nil)) + + (save-current-buffer + (set-buffer b) + (when (not (semantic-active-p)) + (error "Cannot open %s for format tests" FILE)) + + ;; This will force a reparse, removing any chance of semanticdb cache + ;; using stale data. + (semantic-clear-toplevel-cache) + ;; Force the reparse + (setq tags (semantic-fetch-tags)) + (setq num (length tags)) + + (semantic-fmt-utest-log " ** Starting tests in %s" + (buffer-name)) + + (save-excursion + (while tags + (let* ((T (car tags)) + (start (semantic-tag-end T)) + (end (if (cdr tags) + (semantic-tag-start (car (cdr tags))) + (point-max))) + (TESTS nil) + ) + (goto-char start) + ;; Scan the space between tags for all test condition matches. + (while (re-search-forward "## \\([a-z-]+\\) \"\\([^\n\"]+\\)\"$" end t) + (push (cons (match-string 1) (match-string 2)) TESTS)) + (setq TESTS (nreverse TESTS)) + + (dolist (TST TESTS) + (let* ( ;; For each test, convert CAR into a semantic-format-tag* fcn + (sym (intern (concat "semantic-format-tag-" (car TST)))) + ;; Convert the desired result from a string syntax to a string. + (desired (cdr TST)) + ;; What does the fmt function do? + (actual (funcall sym T)) + ) + (unless (string= desired actual) + + (add-to-list 'semantic-fmt-utest-error-log-list + (list (buffer-name) (semantic-tag-name T) + sym) + ) + + (semantic-fmt-utest-log + " Failed %s/%s. Desired: %S Actual %S" + (semantic-tag-name T) sym + desired actual)))) + ) + (setq tags (cdr tags))) + + + (semantic-fmt-utest-log " ** Completed %d tests in %s\n" + num (buffer-name)) + )) + + ;; If it wasn't already in memory, whack it. + (when (and b (not fb)) + (kill-buffer b))) + )) + + (cedet-utest-log-shutdown + "PARSE/FORMAT" + (when semantic-fmt-utest-error-log-list + (format "%s Failures found." + (length semantic-fmt-utest-error-log-list)))) + (when semantic-fmt-utest-error-log-list + (error "Failures found during parse/format unit tests")) + ))) + + +(defun semantic-fmt-utest-start-log () + "Start up a testlog for a run." + ;; Redo w/ CEDET utest framework. + (cedet-utest-log-start "semantic: format tests")) + +(defun semantic-fmt-utest-log (&rest args) + "Log some test results. +Pass ARGS to format to create the log message." + ;; Forward to CEDET utest framework. + (apply 'cedet-utest-log args)) + +(provide 'semantic-fmt-utest) + +;;; semantic-fmt-utest.el ends here