branch: master
commit 899391215045513ddd708b12edade8de71e29b9e
Author: Ludovic Courtès <[email protected]>
AuthorDate: Mon May 8 23:21:02 2023 +0200
base: Consider non-zero exit of 'cuirass evaluate' as failure.
* src/cuirass/base.scm (evaluate): Check return value of 'close-pipe'.
Consider non-zero exit status as a failure.
---
src/cuirass/base.scm | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/cuirass/base.scm b/src/cuirass/base.scm
index 5c8ee14..4b5e7f7 100644
--- a/src/cuirass/base.scm
+++ b/src/cuirass/base.scm
@@ -1,5 +1,5 @@
;;; base.scm -- Cuirass base module
-;;; Copyright © 2016, 2017, 2018, 2019, 2022 Ludovic Courtès <[email protected]>
+;;; Copyright © 2016-2019, 2022-2023 Ludovic Courtès <[email protected]>
;;; Copyright © 2016, 2017 Mathieu Lirzin <[email protected]>
;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <[email protected]>
;;; Copyright © 2017 Ricardo Wurmus <[email protected]>
@@ -302,16 +302,19 @@ Return a list of jobs that are associated to EVAL-ID."
((? eof-object?)
(db-set-evaluation-status eval-id
(evaluation-status failed))
- (close-port (cdr log-pipe))
- (raise (condition
- (&evaluation-error
- (name (specification-name spec))
- (id eval-id)))))
+ #f)
(_ #t))))
(close-port (cdr log-pipe))
- (close-pipe port)
- (let ((spec-name (specification-name spec)))
- (log-info "evaluation ~a for '~a' completed" eval-id spec-name))))
+ (let ((spec-name (specification-name spec))
+ (status (close-pipe port)))
+ (if (and (zero? status) result)
+ (log-info "evaluation ~a for '~a' completed" eval-id spec-name)
+ (begin
+ (log-info "evaluation ~a for '~a' failed" eval-id spec-name)
+ (raise (condition
+ (&evaluation-error
+ (name (specification-name spec))
+ (id eval-id)))))))))
;;;