summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOla Nilsson <ola.nilsson@gmail.com>2020-02-24 22:43:42 +0100
committerOla Nilsson <ola.nilsson@gmail.com>2020-02-25 00:19:26 +0100
commit8271c27b65e220c22b20b19d0261e5d397cac1dd (patch)
treeef3ebc53bac0eb1feceb9dd06a80a2153f9f3ee2
parent521b71bc5814a185888a13b13ca2ba96cd740161 (diff)
Only update spec state if it is worse or equal
Only change state when the new state is 'worse' than or same as the current state. The constant list is the prioritized list of states. The new state is worse if it is in the tail of the Fixes #157. Fixes #149.
-rw-r--r--buttercup.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/buttercup.el b/buttercup.el
index 14c8b35..62a7332 100644
--- a/buttercup.el
+++ b/buttercup.el
@@ -1510,8 +1510,13 @@ failed and pending specs."
(`(error (buttercup-pending . ,pending-description))
(setq status 'pending
description pending-description))))
- (when (memq (buttercup-suite-or-spec-status suite-or-spec)
- '(passed pending))
+ ;; Only change state when the new state is 'worse' than or same as
+ ;; the current state. The constant list is the prioritized list of
+ ;; states. The new state is worse if it is in the tail of the
+ ;; current state.
+ (when (memq status
+ (memq (buttercup-suite-or-spec-status suite-or-spec)
+ '(passed pending failed)))
(setf (buttercup-suite-or-spec-status suite-or-spec) status
(buttercup-suite-or-spec-failure-description suite-or-spec) description
(buttercup-suite-or-spec-failure-stack suite-or-spec) stack))))