57 lines
1.6 KiB
EmacsLisp
57 lines
1.6 KiB
EmacsLisp
![]() |
;;; -*- lexical-binding: t; -*-
|
||
|
|
||
|
;; This file is part of GCC.
|
||
|
|
||
|
;; GCC 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 3 of the License, or
|
||
|
;; (at your option) any later version.
|
||
|
|
||
|
;; GCC 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 GCC. If not, see <https://www.gnu.org/licenses/>.
|
||
|
|
||
|
;;; Commentary:
|
||
|
|
||
|
;;; Usage:
|
||
|
;; $ emacs -batch -l mdcompact.el -l mdcompact-testsuite.el -f ert-run-tests-batch-and-exit
|
||
|
|
||
|
;;; Code:
|
||
|
|
||
|
(require 'mdcompact)
|
||
|
(require 'ert)
|
||
|
|
||
|
(defconst mdcompat-test-directory (concat (file-name-directory
|
||
|
(or load-file-name
|
||
|
buffer-file-name))
|
||
|
"tests/"))
|
||
|
|
||
|
(defun mdcompat-test-run (f)
|
||
|
(with-temp-buffer
|
||
|
(insert-file-contents f)
|
||
|
(mdcomp-run-at-point)
|
||
|
(let ((a (buffer-string))
|
||
|
(b (with-temp-buffer
|
||
|
(insert-file-contents (concat f ".out"))
|
||
|
(buffer-string))))
|
||
|
(should (string= a b)))))
|
||
|
|
||
|
(defmacro mdcompat-gen-tests ()
|
||
|
`(progn
|
||
|
,@(cl-loop
|
||
|
for f in (directory-files mdcompat-test-directory t "md$")
|
||
|
collect
|
||
|
`(ert-deftest ,(intern (concat "mdcompat-test-"
|
||
|
(file-name-sans-extension
|
||
|
(file-name-nondirectory f))))
|
||
|
()
|
||
|
(mdcompat-test-run ,f)))))
|
||
|
|
||
|
(mdcompat-gen-tests)
|
||
|
|
||
|
;;; mdcompact-testsuite.el ends here
|