branch: externals/org-real commit f74239f07b4baff963615eca01ddce9f3d2973c4 Author: Tyler Grinn <tylergr...@gmail.com> Commit: Tyler Grinn <tylergr...@gmail.com>
Show diffs if test failed --- Eldev | 58 ++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/Eldev b/Eldev index 101bcf7..de0ac6c 100644 --- a/Eldev +++ b/Eldev @@ -21,31 +21,49 @@ (require 'org-element) (load-file "org-real.el") (let ((failures 0)) - (cl-flet ((get-expected () - (save-excursion - (re-search-forward "#\\+begin_example") - (org-element-property :value (org-element-at-point)))) - (get-actual () - (with-current-buffer (get-buffer "Org Real") - (buffer-string))) - (print-result (title result) - (message " %s : %s" - (if result - "\033[0;32mPASS\033[0m" - "\033[0;31mFAIL\033[0m") - title)) - (set-result (result) - (if (not result) (cl-incf failures)) - (let ((inhibit-message t)) - (org-todo (if result "PASS" "FAIL"))))) + (cl-flet* ((get-expected () + (save-excursion + (re-search-forward "#\\+begin_example") + (org-element-property :value (org-element-at-point)))) + (get-actual () + (with-current-buffer (get-buffer "Org Real") + (buffer-string))) + (print-result (title result) + (message " %s : %s" + (if result + "\033[0;32mPASS\033[0m" + "\033[0;31mFAIL\033[0m") + title) + (if (not result) + (let ((expected (get-expected))) + (save-window-excursion + (with-temp-buffer + (insert expected) + (diff-buffers (get-buffer "Org Real") + (current-buffer) + nil t)) + (with-current-buffer (get-buffer "*Diff*") + (message + (string-join + (butlast + (butlast + (cdddr + (split-string + (buffer-string) + "\n")))) + "\n"))))))) + (set-result (result) + (if (not result) (cl-incf failures)) + (let ((inhibit-message t)) + (org-todo (if result "PASS" "FAIL"))))) (mapc (lambda (test) (with-temp-file test - (message "%s:" (file-name-base test)) + (message "\n%s:\n" (file-name-base test)) (insert-file-contents test) (org-mode) - (message " Opening links:") + (message " Opening links:\n") (org-element-map (org-element-parse-buffer) 'link (lambda (link) (goto-char (org-element-property :begin link)) @@ -60,7 +78,7 @@ (print-result title result) (set-result result)))) - (message " Merging links:") + (message "\n Merging links:\n") (org-babel-map-src-blocks nil (goto-char beg-block) (let ((title (org-entry-get nil "ITEM"))