summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/ert.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/ert.el')
-rw-r--r--lisp/emacs-lisp/ert.el39
1 files changed, 13 insertions, 26 deletions
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 7ee81463236..695dc1e2db6 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -1874,11 +1874,9 @@ BUFFER-NAME, if non-nil, is the buffer name to use."
(unless buffer-name (setq buffer-name "*ert*"))
(let ((buffer (get-buffer-create buffer-name)))
(with-current-buffer buffer
- (setq buffer-read-only t)
(let ((inhibit-read-only t))
(buffer-disable-undo)
(erase-buffer)
- (ert-results-mode)
;; Erase buffer again in case switching out of the previous
;; mode inserted anything. (This happens e.g. when switching
;; from ert-results-mode to ert-results-mode when
@@ -1897,8 +1895,9 @@ BUFFER-NAME, if non-nil, is the buffer name to use."
(ewoc-enter-last ewoc
(make-ert--ewoc-entry :test test :hidden-p t)))
(ert--results-update-ewoc-hf ert--results-ewoc ert--results-stats)
- (goto-char (1- (point-max)))
- buffer)))))
+ (goto-char (1- (point-max)))))
+ (ert-results-mode)
+ buffer)))
(defvar ert--selector-history nil
@@ -1997,19 +1996,12 @@ and how to display message."
;;; Simple view mode for auxiliary information like stack traces or
;;; messages. Mainly binds "q" for quit.
-(define-derived-mode ert-simple-view-mode fundamental-mode "ERT-View"
+(define-derived-mode ert-simple-view-mode special-mode "ERT-View"
"Major mode for viewing auxiliary information in ERT.")
-(loop for (key binding) in
- '(("q" quit-window)
- )
- do
- (define-key ert-simple-view-mode-map key binding))
-
-
;;; Commands and button actions for the results buffer.
-(define-derived-mode ert-results-mode fundamental-mode "ERT-Results"
+(define-derived-mode ert-results-mode special-mode "ERT-Results"
"Major mode for viewing results of ERT test runs.")
(loop for (key binding) in
@@ -2017,7 +2009,6 @@ and how to display message."
("\t" forward-button)
([backtab] backward-button)
("j" ert-results-jump-between-summary-and-result)
- ("q" quit-window)
("L" ert-results-toggle-printer-limits-for-test-at-point)
("n" ert-results-next-test)
("p" ert-results-previous-test)
@@ -2349,11 +2340,9 @@ To be used in the ERT results buffer."
(let ((backtrace (ert-test-result-with-condition-backtrace result))
(buffer (get-buffer-create "*ERT Backtrace*")))
(pop-to-buffer buffer)
- (setq buffer-read-only t)
(let ((inhibit-read-only t))
(buffer-disable-undo)
(erase-buffer)
- (ert-simple-view-mode)
;; Use unibyte because `debugger-setup-buffer' also does so.
(set-buffer-multibyte nil)
(setq truncate-lines t)
@@ -2362,7 +2351,8 @@ To be used in the ERT results buffer."
(goto-char (point-min))
(insert "Backtrace for test `")
(ert-insert-test-name-button (ert-test-name test))
- (insert "':\n")))))))
+ (insert "':\n")
+ (ert-simple-view-mode)))))))
(defun ert-results-pop-to-messages-for-test-at-point ()
"Display the part of the *Messages* buffer generated during the test at point.
@@ -2375,16 +2365,15 @@ To be used in the ERT results buffer."
(result (aref (ert--stats-test-results stats) pos)))
(let ((buffer (get-buffer-create "*ERT Messages*")))
(pop-to-buffer buffer)
- (setq buffer-read-only t)
(let ((inhibit-read-only t))
(buffer-disable-undo)
(erase-buffer)
- (ert-simple-view-mode)
(insert (ert-test-result-messages result))
(goto-char (point-min))
(insert "Messages for test `")
(ert-insert-test-name-button (ert-test-name test))
- (insert "':\n")))))
+ (insert "':\n")
+ (ert-simple-view-mode)))))
(defun ert-results-pop-to-should-forms-for-test-at-point ()
"Display the list of `should' forms executed during the test at point.
@@ -2397,11 +2386,9 @@ To be used in the ERT results buffer."
(result (aref (ert--stats-test-results stats) pos)))
(let ((buffer (get-buffer-create "*ERT list of should forms*")))
(pop-to-buffer buffer)
- (setq buffer-read-only t)
(let ((inhibit-read-only t))
(buffer-disable-undo)
(erase-buffer)
- (ert-simple-view-mode)
(if (null (ert-test-result-should-forms result))
(insert "\n(No should forms during this test.)\n")
(loop for form-description in (ert-test-result-should-forms result)
@@ -2419,7 +2406,8 @@ To be used in the ERT results buffer."
(insert (concat "(Values are shallow copies and may have "
"looked different during the test if they\n"
"have been modified destructively.)\n"))
- (forward-line 1)))))
+ (forward-line 1)
+ (ert-simple-view-mode)))))
(defun ert-results-toggle-printer-limits-for-test-at-point ()
"Toggle how much of the condition to print for the test at point.
@@ -2451,11 +2439,9 @@ To be used in the ERT results buffer."
(setq data (sort data (lambda (a b)
(> (second a) (second b)))))
(pop-to-buffer buffer)
- (setq buffer-read-only t)
(let ((inhibit-read-only t))
(buffer-disable-undo)
(erase-buffer)
- (ert-simple-view-mode)
(if (null data)
(insert "(No data)\n")
(insert (format "%-3s %8s %8s\n" "" "time" "cumul"))
@@ -2468,7 +2454,8 @@ To be used in the ERT results buffer."
(insert "\n"))))
(goto-char (point-min))
(insert "Tests by run time (seconds):\n\n")
- (forward-line 1))))
+ (forward-line 1)
+ (ert-simple-view-mode))))
;;;###autoload
(defun ert-describe-test (test-or-test-name)