emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/assess f521db4101 36/95: Add sisyphus-discover


From: ELPA Syncer
Subject: [elpa] externals/assess f521db4101 36/95: Add sisyphus-discover
Date: Tue, 19 Jul 2022 15:57:31 -0400 (EDT)

branch: externals/assess
commit f521db4101ac853da8d7a7ce4e83872b33038e20
Author: Phillip Lord <phillip.lord@russet.org.uk>
Commit: Phillip Lord <phillip.lord@russet.org.uk>

    Add sisyphus-discover
---
 Makefile             |  5 ++++
 sisyphus-discover.el | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 todo.org             | 37 +++++++++++++++++++++++
 3 files changed, 125 insertions(+)

diff --git a/Makefile b/Makefile
index 3338dc13e1..a97bb7f115 100644
--- a/Makefile
+++ b/Makefile
@@ -18,4 +18,9 @@ test: install just-test
 package:
        cask package
 
+discover-test:
+       cask exec emacs --batch --load sisyphus.el --load sisyphus-discover.el \
+       -f sisyphus-discover-run-and-exit-batch
+
 .PHONY: test dist
+
diff --git a/sisyphus-discover.el b/sisyphus-discover.el
new file mode 100644
index 0000000000..b901b2087a
--- /dev/null
+++ b/sisyphus-discover.el
@@ -0,0 +1,83 @@
+;;; sisyphus-discover.el --- Test support functions -*- lexical-binding: t -*-
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord <phillip.lord@russet.org.uk>
+;; Maintainer: Phillip Lord <phillip.lord@russet.org.uk>
+;; Version: 0.1
+;; Package-Requires: ((emacs "24.4")(m-buffer "0.14")(dash "2.12.0"))
+
+;; The contents of this file are subject to the GPL License, Version 3.0.
+
+;; Copyright (C) 2015, Phillip Lord
+
+;; 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 3 of the License, 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.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+
+(defun sisyphus-discover-tests (directory)
+  "Discover tests in directory.
+
+Tests may confirm to one (and only one!) of several naming
+schemes.
+
+ - End with -test.el
+ - End with -tests.el
+ - Start with test-
+ - Any .el file in a directory called test
+ - Any .el file in a directory called tests
+
+Each of these is tried until one matches. So, a top-level file
+called \"blah-test.el\" will prevent discovery of files in a
+tests directory."
+  (or
+   ;; files with
+   (directory-files directory nil ".*-test.el$")
+   (directory-files directory nil ".*-tests.el$")
+   (directory-files directory nil "test-.*.el$")
+   (let ((dir-test
+          (concat directory "test/")))
+     (when (file-exists-p dir-test)
+       (mapcar
+        (lambda (file)
+          (concat dir-test file))
+        (directory-files dir-test nil ".*.el"))))
+   (let ((dir-tests
+          (concat directory "tests/")))
+     (when (file-exists-p dir-tests)
+       (mapcar
+        (lambda (file)
+          (concat dir-tests file))
+        (directory-files dir-tests nil ".*.el"))))))
+
+(defun sisyphus-discover--load-all-tests (directory)
+  (mapc
+   'load
+   (sisyphus-discover-tests directory)))
+
+(defun sisyphus-discover-load-tests ()
+  (interactive)
+  (sisyphus-discover--load-all-tests default-directory))
+
+(defun sisyphus-discover-run-batch (&optional selector)
+  (sisyphus-discover--load-all-tests default-directory)
+  (ert-run-tests-batch selector))
+
+(defun sisyphus-discover-run-and-exit-batch (&optional selector)
+  (sisyphus-discover--load-all-tests default-directory)
+  (ert-run-tests-batch-and-exit selector))
+
+(provide 'sisyphus-discover)
diff --git a/todo.org b/todo.org
new file mode 100644
index 0000000000..40c0d5d43f
--- /dev/null
+++ b/todo.org
@@ -0,0 +1,37 @@
+
+** Pre/post command support functions
+
+Not sure how I can test these better -- but worth thinking about -- I guess do
+some set up, then and buffer-local pre or post command, run some stuff,
+compare.
+
+
+Do these get called with "call-interactively"?
+
+
+** Minor mode local and global activation
+
+Tricky because global mode will affect all buffers.
+
+This is a tricky one to preserve activation status, but it can work.
+
+
+
+
+
+** Should call functions
+
+Something to test whether a function has been called, and with what values.
+
+Easy enough to do with advice.
+
+** Better ERT batch output
+
+ERT should output parsable error messages, with locations of files in batch.
+
+Compile mode should actually pick this up!
+
+** Sisyphus-compile
+
+A compile mode for sisyphus which returns an internal Emacs. Should also
+prompt for emacs executable (with versions!), selector.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]