From fd80ed68f6fbb92860af43c7bb0542c5e90022fe Mon Sep 17 00:00:00 2001 From: Solene Rapenne Date: Tue, 9 Jul 2019 17:04:17 +0200 Subject: [PATCH] Correctly report the previous success state --- functions.lisp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/functions.lisp b/functions.lisp index 2c4a5ee..71753d5 100644 --- a/functions.lisp +++ b/functions.lisp @@ -121,11 +121,11 @@ (delete-file filepath)) ;; it was a failure and then it's back to normal state - (when triggered-before? - (uiop:run-program (trigger-alert level fonction params t 'success) :output t) - (setf previous-state nil)) - ;; in any case we return t because it's ok - t) + (if triggered-before? + (progn + (uiop:run-program (trigger-alert level fonction params t 'success) :output t) + (setf previous-state nil)) + (setf previous-state t))) ;; FAILURE HANDLING (let ((trigger-now? (or @@ -152,7 +152,11 @@ level fonction (format nil "~{~A ~}" params) (if previous-state "SUCCESS" "ERROR") (if current-state "SUCCESS" "ERROR") - trigger-state (+ 1 tries))) + trigger-state + ;; use tries variable only if previous errors + (if previous-state + 0 + (+ 1 tries)))) current-state)) ;; abort when using ctrl+c instead of dropping to debugger