branch: elpa/buttercup commit 7903e1ae21b8e80ed3a983c9e90dfbf4979e1fb3 Author: Ola Nilsson <ola.nils...@gmail.com> Commit: Ola Nilsson <ola.nils...@gmail.com>
Revert "Make it possible to abort test run cleanly" Merged prematurely. This reverts commit fc4276aabd8e2e7e2816192d1590b72c3a9e97d9. --- buttercup.el | 66 ++++++++++++++++++++++-------------------------------------- 1 file changed, 24 insertions(+), 42 deletions(-) diff --git a/buttercup.el b/buttercup.el index 2e7afa8..ef8cc5d 100644 --- a/buttercup.el +++ b/buttercup.el @@ -117,14 +117,6 @@ a call to `save-match-data', as `format-spec' modifies that." (define-error 'buttercup-pending "Buttercup test is pending") -(define-error 'buttercup-abort - "Abort Buttercup testing") - -(defvar buttercup-abort-message nil - "The message explaining why Buttercup testing is aborted. -Reporters may want to print it if non-nil when handling -`buttercup-done' event.") - (defmacro expect (arg &optional matcher &rest args) "Expect a condition to be true. @@ -1430,15 +1422,12 @@ A suite must be defined within a Markdown \"lisp\" code block." (defun buttercup-run () "Run all described suites." (if buttercup-suites - (let (buttercup-abort-message) + (progn (funcall buttercup-reporter 'buttercup-started buttercup-suites) - (unwind-protect - (condition-case error - (mapc #'buttercup--run-suite buttercup-suites) - (buttercup-abort (setf buttercup-abort-message (cdr error)))) - (funcall buttercup-reporter 'buttercup-done buttercup-suites) - (when (> (buttercup-suites-total-specs-failed buttercup-suites) 0) - (error "")))) + (mapc #'buttercup--run-suite buttercup-suites) + (funcall buttercup-reporter 'buttercup-done buttercup-suites) + (when (> (buttercup-suites-total-specs-failed buttercup-suites) 0) + (error ""))) (error "No suites defined"))) (defvar buttercup--before-each nil @@ -1459,20 +1448,18 @@ Do not change the global value.") (buttercup--after-each (append (buttercup-suite-after-each suite) buttercup--after-each))) (funcall buttercup-reporter 'suite-started suite) - (unwind-protect - (progn - (dolist (f (buttercup-suite-before-all suite)) - (buttercup--update-with-funcall suite f)) - (dolist (sub (buttercup-suite-children suite)) - (cond - ((buttercup-suite-p sub) - (buttercup--run-suite sub)) - ((buttercup-spec-p sub) - (buttercup--run-spec sub)))) - (dolist (f (buttercup-suite-after-all suite)) - (buttercup--update-with-funcall suite f))) - (buttercup--set-end-time suite) - (funcall buttercup-reporter 'suite-done suite)))) + (dolist (f (buttercup-suite-before-all suite)) + (buttercup--update-with-funcall suite f)) + (dolist (sub (buttercup-suite-children suite)) + (cond + ((buttercup-suite-p sub) + (buttercup--run-suite sub)) + ((buttercup-spec-p sub) + (buttercup--run-spec sub)))) + (dolist (f (buttercup-suite-after-all suite)) + (buttercup--update-with-funcall suite f)) + (buttercup--set-end-time suite) + (funcall buttercup-reporter 'suite-done suite))) (defun buttercup--run-spec (spec) (buttercup--set-start-time spec) @@ -1484,14 +1471,13 @@ Do not change the global value.") (get-buffer-create buttercup-warning-buffer-name) (funcall buttercup-reporter 'spec-started spec) - (unwind-protect - (buttercup-with-cleanup - (dolist (f buttercup--before-each) - (buttercup--update-with-funcall spec f)) - (buttercup--update-with-funcall spec (buttercup-spec-function spec)) - (dolist (f buttercup--after-each) - (buttercup--update-with-funcall spec f))) - (funcall buttercup-reporter 'spec-done spec)) + (buttercup-with-cleanup + (dolist (f buttercup--before-each) + (buttercup--update-with-funcall spec f)) + (buttercup--update-with-funcall spec (buttercup-spec-function spec)) + (dolist (f buttercup--after-each) + (buttercup--update-with-funcall spec f))) + (funcall buttercup-reporter 'spec-done spec) ;; Display warnings that were issued while running the the ;; spec, if any (with-current-buffer buttercup-warning-buffer-name @@ -1601,8 +1587,6 @@ EVENT and ARG are described in `buttercup-reporter'." (dolist (failed buttercup-reporter-batch--failures) (let ((description (buttercup-spec-failure-description failed)) (stack (buttercup-spec-failure-stack failed))) - (when buttercup-abort-message - (buttercup--print "%s\n" (if (stringp buttercup-abort-message) buttercup-abort-message (prin1-to-string buttercup-abort-message)))) (buttercup--print "%s\n" (make-string 40 ?=)) (buttercup--print "%s\n" (buttercup-spec-full-name failed)) (when stack @@ -1679,8 +1663,6 @@ EVENT and ARG are described in `buttercup-reporter'." (dolist (failed buttercup-reporter-batch--failures) (let ((description (buttercup-spec-failure-description failed)) (stack (buttercup-spec-failure-stack failed))) - (when (stringp buttercup-abort-message) - (buttercup--print "%s\n" (buttercup-colorize buttercup-abort-message 'red))) (buttercup--print "%s\n" (make-string 40 ?=)) (buttercup--print (buttercup-colorize "%s\n" 'red) (buttercup-spec-full-name failed)) (when stack