From c15d7a3c08c57d99bfe985298083faf1914febd4 Mon Sep 17 00:00:00 2001 From: Justin Abrahms Date: Wed, 25 Nov 2020 09:16:45 -0800 Subject: [PATCH] support for some basic tests --- .gitignore | 1 + Makefile | 10 ++++++++++ ox-gemini.el | 4 ++++ test/compile.el | 8 ++++++++ test/elpa.el | 4 ++++ test/make-update.el | 28 ++++++++++++++++++++++++++++ 6 files changed, 55 insertions(+) create mode 100644 Makefile create mode 100644 test/compile.el create mode 100644 test/elpa.el create mode 100644 test/make-update.el diff --git a/.gitignore b/.gitignore index c531d98..6407980 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.elc +.elpa/ \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6a02fbe --- /dev/null +++ b/Makefile @@ -0,0 +1,10 @@ +update: + emacs -batch -l test/make-update.el + +compile: clean + emacs -batch -l test/elpa.el -l test/compile.el + +clean: + rm -f *.elc + +.PHONY: update compile test clean diff --git a/ox-gemini.el b/ox-gemini.el index 5fda3b6..6881f34 100644 --- a/ox-gemini.el +++ b/ox-gemini.el @@ -21,6 +21,10 @@ (require 'ox-ascii) (require 'cl-lib) +(eval-when-compile + (progn + (checkdoc))) + ;; TODO: ;; Sublists aren't supported in gemini diff --git a/test/compile.el b/test/compile.el new file mode 100644 index 0000000..6f876b6 --- /dev/null +++ b/test/compile.el @@ -0,0 +1,8 @@ +;; bail out on compilation warnings and errors +(setq byte-compile-error-on-warn t) +(setq byte-compile--use-old-handlers nil) + +;; compile *.el files +(dolist (file (file-expand-wildcards "*.el")) + (unless (byte-compile-file file) + (kill-emacs 1))) diff --git a/test/elpa.el b/test/elpa.el new file mode 100644 index 0000000..f501af1 --- /dev/null +++ b/test/elpa.el @@ -0,0 +1,4 @@ +(setq package-user-dir + (expand-file-name (format ".elpa/%s/elpa" emacs-version))) +(package-initialize) +(add-to-list 'load-path default-directory) diff --git a/test/make-update.el b/test/make-update.el new file mode 100644 index 0000000..7c8d615 --- /dev/null +++ b/test/make-update.el @@ -0,0 +1,28 @@ +;; list of the all the dependencies, including the dev dependencies +(defvar dev-packages '(evil evil-test-helpers)) + +;; initialize package.el +(setq package-user-dir + (expand-file-name (format ".elpa/%s/elpa" emacs-version))) +(message "installing in %s ...\n" package-user-dir) +(package-initialize) +(setq package-archives + '(("melpa" . "http://melpa.org/packages/") + ("gnu" . "http://elpa.gnu.org/packages/"))) +(package-refresh-contents) + +;; install dependencies +(dolist (package dev-packages) + (unless (package-installed-p package) + (ignore-errors + (package-install package)))) + +;; upgrade dependencies +(save-window-excursion + (package-list-packages t) + (condition-case nil + (progn + (package-menu-mark-upgrades) + (package-menu-execute t)) + (error + (message "All packages up to date"))))