Function: cider-test-render-report
cider-test-render-report is a byte-compiled function defined in
cider-test.el.
Signature
(cider-test-render-report BUFFER SUMMARY RESULTS &optional ELAPSED-TIME NS-ELAPSED-TIME VAR-ELAPSED-TIME)
Documentation
Emit into BUFFER the report for the SUMMARY, and test RESULTS.
Optional ELAPSED-TIME, NS-ELAPSED-TIME, and VAR-ELAPSED-TIME provide timing data for the overall run, per-namespace, and per-var respectively.
Source Code
;; Defined in ~/.emacs.d/elpa/cider-20260414.1619/cider-test.el
(defun cider-test-render-report (buffer summary results &optional elapsed-time ns-elapsed-time var-elapsed-time)
"Emit into BUFFER the report for the SUMMARY, and test RESULTS.
Optional ELAPSED-TIME, NS-ELAPSED-TIME, and VAR-ELAPSED-TIME provide
timing data for the overall run, per-namespace, and per-var respectively."
(with-current-buffer buffer
(let ((inhibit-read-only t))
(cider-test-report-mode)
(cider-insert "Test Summary" 'bold t)
(dolist (ns (nrepl-dict-keys results))
(insert (cider-propertize ns 'ns)
(or (let ((ms (nrepl-dict-get (nrepl-dict-get ns-elapsed-time ns)
"ms")))
(propertize (format " %s ms" ms) 'face 'font-lock-comment-face))
"")
"\n")
(when var-elapsed-time
(when-let ((pairs (nrepl-dict-get var-elapsed-time ns)))
(nrepl-dict-map (lambda (var meta)
(insert " " ;; indentation - we're showing a var within a ns
(cider-propertize var 'font-lock-function-name-face)
(or (when-let* ((elapsed (nrepl-dict-get meta "elapsed-time"))
(ms (nrepl-dict-get elapsed "ms")))
(propertize (format " %s ms" ms) 'face 'font-lock-comment-face))
"")
"\n"))
pairs))))
(cider-insert "\n")
(cider-test-render-summary buffer summary elapsed-time)
(nrepl-dbind-response summary (fail error)
(unless (zerop (+ fail error))
(cider-insert "Results" 'bold t "\n")
;; Results are a nested dict, keyed first by ns, then var. Within each
;; var is a sequence of test assertion results.
(nrepl-dict-map
(lambda (ns vars)
(nrepl-dict-map
(lambda (_var tests)
(let* ((problems (cider-test-non-passing tests))
(count (length problems)))
(when (< 0 count)
(insert (format "%s\n%d non-passing tests:\n\n"
(cider-propertize ns 'ns) count))
(dolist (test problems)
(cider-test-render-assertion buffer test)))))
vars))
results)))
;; Replace any newline chars with actual newlines to make long error
;; messages more readable
(goto-char (point-min))
(while (search-forward "\\n" nil t)
(replace-match "
"))
(goto-char (point-min))
(current-buffer))))