[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.
- [elpa] externals/assess 890906bfcb 17/95: Interface written as single overloaded function., (continued)
- [elpa] externals/assess 890906bfcb 17/95: Interface written as single overloaded function., ELPA Syncer, 2022/07/19
- [elpa] externals/assess f3416dadb1 18/95: Indentation test functions., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 1b01542ccd 20/95: Fontification testing., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 2e556a62ae 22/95: Add new test file., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 32a00524a8 24/95: Fix unused variable issues, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 3cf57afcaf 26/95: Merge pull request #1 from syohex/fix, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 00c794a516 29/95: Add package support., ELPA Syncer, 2022/07/19
- [elpa] externals/assess f490f18a18 32/95: Merge branch 'master' of github.com:phillord/sisyphus, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 0d079db1a7 34/95: Completed documentation., ELPA Syncer, 2022/07/19
- [elpa] externals/assess cab9fea7b8 28/95: Documentation for everything, ELPA Syncer, 2022/07/19
- [elpa] externals/assess f521db4101 36/95: Add sisyphus-discover,
ELPA Syncer <=
- [elpa] externals/assess 46290f163d 37/95: Add tests for discover., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 38fc7829bc 42/95: Interpret nil to mean no faces., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 818cf77258 27/95: Merge pull request #2 from syohex/minimum, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 880d519d6b 35/95: Update readme, add infojs., ELPA Syncer, 2022/07/19
- [elpa] externals/assess 216adb069c 47/95: Add assess-call.el, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 07bd7f8915 58/95: Doc fixes, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 739661405b 59/95: Add assess-robot.el and tests, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 9521b07480 71/95: Fix and Publish documentation statically, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 5aee8d7500 81/95: Mark some tests as failed on earlier emacs, ELPA Syncer, 2022/07/19
- [elpa] externals/assess 0a3e94477a 78/95: Support all of Emacs 24 series, ELPA Syncer, 2022/07/19