Function: ert-results-pop-to-timings
ert-results-pop-to-timings is an interactive and byte-compiled
function defined in ert.el.gz.
Signature
(ert-results-pop-to-timings)
Documentation
Display test timings for the last run.
To be used in the ERT results buffer.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/ert.el.gz
(defun ert-results-pop-to-timings ()
"Display test timings for the last run.
To be used in the ERT results buffer."
(interactive nil ert-results-mode)
(let* ((stats ert--results-stats)
(buffer (get-buffer-create "*ERT timings*"))
(data (cl-loop for test across (ert--stats-tests stats)
for start-time across (ert--stats-test-start-times
stats)
for end-time across (ert--stats-test-end-times stats)
collect (list test
(float-time (time-subtract
end-time start-time))))))
(setq data (sort data (lambda (a b)
(> (cl-second a) (cl-second b)))))
(pop-to-buffer buffer)
(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"))
(cl-loop for (test time) in data
for cumul-time = time then (+ cumul-time time)
for i from 1 do
(progn
(insert (format "%3s: %8.3f %8.3f " i time cumul-time))
(ert-insert-test-name-button (ert-test-name test))
(insert "\n"))))
(goto-char (point-min))
(insert "Tests by run time (seconds):\n\n")
(forward-line 1))))