~ chicken-core (chicken-5) 3bf6b79acc4c46a9184a530ba4ab660bd562bc0a


commit 3bf6b79acc4c46a9184a530ba4ab660bd562bc0a
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Thu Nov 3 10:12:45 2016 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Sun Nov 13 11:41:49 2016 +0100

    exit with status 2 if tests failed

diff --git a/chicken-install.scm b/chicken-install.scm
index 49647d77..4bf52889 100644
--- a/chicken-install.scm
+++ b/chicken-install.scm
@@ -83,6 +83,7 @@
 (define sudo-install #f)
 (define update-module-db #f)
 (define purge-mode #f)
+(define tests-failed #f)
   
 (define platform
   (if (eq? 'mingw (build-platform))
@@ -677,6 +678,7 @@
         (let ((r (system cmd)))
           (d "running: ~a~%" cmd)
           (unless (zero? r)
+            (set! tests-failed #t)
             (print "test script failed with nonzero exit status")))
         (change-directory old)))))
 
@@ -781,7 +783,8 @@
                           (list (pathname-file fname) (current-directory) #f))
                      (glob "*.egg")))
                  (retrieve-eggs '())
-                 (unless retrieve-only (install-eggs)))))
+                 (unless retrieve-only (install-eggs))
+                 (when tests-failed (exit 2)))))
         (else
           (let ((eggs (apply-mappings eggs)))
             (cond (list-versions-only (list-egg-versions eggs))
Trap