GNU bug report logs -
#26337
26.0.50; Command to run tests with latest source
Previous Next
Reported by: Tino Calancha <tino.calancha <at> gmail.com>
Date: Sun, 2 Apr 2017 05:29:01 UTC
Severity: wishlist
Found in version 26.0.50
Done: Tino Calancha <tino.calancha <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#26337: 26.0.50; Command to run tests with latest source
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 26337 <at> debbugs.gnu.org.
--
26337: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=26337
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
On Mon, 3 Apr 2017, Glenn Morris wrote:
>
> I still think it's a bit OOT to add something just to save typing:
>
> emacs -batch -l sometests.el -f ert-run-tests-batch
>
> Maybe you could define "ert-batch" as an alias for ert-run-tests-batch
> (or ert-run-tests-batch-and-exit)? Then it really is very little typing.
Thanks, it sounds good idea. I will follow it and close the report.
[Message part 3 (message/rfc822, inline)]
Severity: wishlist
I often while debugging follow this workflow:
1) Make some changes in one branch.
2) Compile Emacs.
3) Run one test file with:
M-& emacs -batch -l ert -l ? -f ert-run-tests-batch-and-exit RET
I never remember the exact command in 3), so i always first check the manual.
We have `ert-run-tests-interactively', but that command won't use
the just compiled sources: you need first to reload the new .elc.
I just wrote one command to do 1-3 above.
Interactively prompts for the file with the tests.
With a prefix argument, also prompts for the selector. Default to run
all the tests.
Do you think could be worth to have such a command in ert.el?
--8<-----------------------------cut here---------------start------------->8---
commit 14602c92c6e456000b6c2e649b68976f87cd2a4d
Author: Tino Calancha <tino.calancha <at> gmail.com>
Date: Sun Apr 2 14:05:51 2017 +0900
* lisp/emacs-lisp/ert.el (ert-run-tests-batch-in-file): New command.
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index e7387e463c..c80d8ee5ae 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -1449,6 +1449,41 @@ ert-run-tests-batch
(ert-test-name test)))))))
nil))
+(declare-function dired-get-filename "dired" (&optional localp no-error-if-not-filep))
+;;;###autoload
+(defun ert-run-tests-batch-in-file (file &optional selector)
+ "Run the tests in FILE specified by SELECTOR.
+Interactively prompt for FILE.
+Called with a prefix arg prompt for SELECTOR."
+ (interactive
+ (let* ((prefix current-prefix-arg)
+ (def (and (derived-mode-p 'dired-mode) (dired-get-filename)))
+ (file (read-file-name "Run test: " nil def 'mustmatch nil
+ (lambda (f) (equal "el" (file-name-extension f)))))
+ (test (if (not prefix) "t"
+ (with-temp-buffer
+ (insert-file-contents file)
+ (let (all-tests)
+ (while (re-search-forward "^\\s-*(ert-deftest \\([^[:blank:]]+\\)" nil t)
+ (push (match-string-no-properties 1) all-tests))
+ (unless all-tests
+ (error "File '%s' doesn't contain any test" file))
+ (completing-read "Select a test: " all-tests nil 'mustmatch nil nil "t"))))))
+ (list file test)))
+ (if (and (stringp selector) (not (string= selector "t")))
+ (setq selector (concat selector "\\\\'")) "t")
+ (let ((buf (get-buffer-create "*ert*"))
+ (program (expand-file-name invocation-name invocation-directory)))
+ (with-current-buffer buf
+ (let ((inhibit-read-only t))
+ (erase-buffer)
+ (call-process program nil (current-buffer) t
+ "-batch" "-l" "ert" "-l" file "-eval"
+ (format
+ "(ert-run-tests-batch-and-exit\ \"%s\")"
+ selector))))
+ (display-buffer buf)))
+
;;;###autoload
(defun ert-run-tests-batch-and-exit (&optional selector)
"Like `ert-run-tests-batch', but exits Emacs when done.
--8<-----------------------------cut here---------------end--------------->8---
In GNU Emacs 26.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.9)
of 2017-04-02
Repository revision: a184a7edc58e1e053aa317a0f162df7e225597e1
This bug report was last modified 8 years and 102 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.