From 7e41b29bdefa7edd9cf2707cee246617d5207e9c Mon Sep 17 00:00:00 2001 From: Laurence Warne Date: Wed, 30 Oct 2024 15:12:13 +0100 Subject: [PATCH] Work on proced-tests.el * test/lisp/proced-tests.el (proced--assert-process-valid-cpu-refinement-explainer): New function for explaining refinement test failures in greater detail. (cherry picked from commit 98796f95fa5ce7c38074429517c477cd01b0be37) --- test/lisp/proced-tests.el | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/test/lisp/proced-tests.el b/test/lisp/proced-tests.el index 64f9dd4148a..5d6f9e9f164 100644 --- a/test/lisp/proced-tests.el +++ b/test/lisp/proced-tests.el @@ -52,7 +52,24 @@ (defun proced--assert-process-valid-cpu-refinement (cpu) "Fail unless the process at point could be present after a refinement using CPU." (proced--move-to-column "%CPU") - (should (>= (thing-at-point 'number) cpu))) + (>= (thing-at-point 'number) cpu)) + +(defun proced--assert-process-valid-cpu-refinement-explainer (cpu) + "Explain the result of `proced--assert-process-valid-cpu-refinement'. + +CPU is as in `proced--assert-process-valid-cpu-refinement'." + `(unexpected-refinement + (header-line + ,(substring-no-properties + (string-replace "%%" "%" (cadr (proced-header-line))))) + (process ,(thing-at-point 'line t)) + (refined-value ,cpu) + (process-value + ,(save-excursion + (proced--move-to-column "%CPU") (thing-at-point 'number))))) + +(put #'proced--assert-process-valid-cpu-refinement 'ert-explainer + #'proced--assert-process-valid-cpu-refinement-explainer) (ert-deftest proced-format-test () (dolist (format '(short medium long verbose)) @@ -92,7 +109,7 @@ (let ((cpu (thing-at-point 'number))) (proced-refine) (while (not (eobp)) - (proced--assert-process-valid-cpu-refinement cpu) + (should (proced--assert-process-valid-cpu-refinement cpu)) (forward-line))))) (ert-deftest proced-refine-with-update-test () @@ -108,7 +125,7 @@ ;; processes again, causing the test to fail. (proced-update) (while (not (eobp)) - (proced--assert-process-valid-cpu-refinement cpu) + (should (proced--assert-process-valid-cpu-refinement cpu)) (forward-line))))) (ert-deftest proced-update-preserves-pid-at-point-test () -- 2.39.5