summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-07-05 15:41:45 +0200
committerLudovic Courtès <ludo@gnu.org>2021-07-05 15:41:45 +0200
commitd8fdd1c74a59730d174577aa7c2c8de73715da8e (patch)
tree8cf5700dc2ef5827381a62a1e5a3fb592a0e7957 /tests
parent99ea6a2996a388134c6ea8fdce34f70d446b1450 (diff)
downloadguix-d8fdd1c74a59730d174577aa7c2c8de73715da8e.tar.gz
tests: Adjust Python "sanity" check tests.
This is a followup to 09448c0994390697e876db235a3b773311795238.

The 'check-build-failure' procedure would not actually check anything
since it did not call 'build-derivations'.  However, it was throwing an
exception for unrelated reasons, so the tests would pass.

* tests/builders.scm (check-build-failure): Use 'guard' instead of
'false-if-exception'.  Call 'build-derivations' to actually check for
build failures.
Diffstat (limited to 'tests')
-rw-r--r--tests/builders.scm9
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/builders.scm b/tests/builders.scm
index f36a8c9f59..f609631ae7 100644
--- a/tests/builders.scm
+++ b/tests/builders.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -38,6 +38,7 @@
   #:use-module (ice-9 textual-ports)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-11)
+  #:use-module (srfi srfi-34)
   #:use-module (srfi srfi-64))
 
 ;; Test the higher-level builders.
@@ -178,7 +179,11 @@ setup(
 (define (check-build-failure store p)
   (unless store (test-skip 1))
   (test-assert (string-append "python-build-system: " (package-name p))
-    (not (false-if-exception (package-derivation store python-dummy-fail-requirements)))))
+    (let ((drv (package-derivation store p)))
+      (guard (c ((store-protocol-error? c)
+                 (pk 'failure c #t)))             ;good!
+        (build-derivations store (list drv))
+        #f))))                                    ;bad: it should have failed
 
 (with-external-store store
   (for-each (lambda (p) (check-build-success store p))