diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-03-09 23:01:18 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-03-09 23:01:18 +0100 |
commit | 6c20d1d0c3822c0332f3cca963121365133e6412 (patch) | |
tree | fdb2c7c0d1c68376541e2d507bf98a72031fa9c1 /tests | |
parent | 02c86a5e365f59fb09c32cfaaef2c02db17e8770 (diff) | |
download | guix-6c20d1d0c3822c0332f3cca963121365133e6412.tar guix-6c20d1d0c3822c0332f3cca963121365133e6412.tar.gz |
store: Add #:timeout build option.
* guix/serialization.scm (write-string-pairs): New procedure.
* guix/store.scm (write-arg): Add 'string-pairs' case.
(set-build-options): Add 'timeout' keyword parameter. Honor it.
* tests/derivations.scm ("build-expression->derivation and timeout"):
New test.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/derivations.scm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/derivations.scm b/tests/derivations.scm index f31b00b8a2..e87662a198 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -446,6 +446,20 @@ (build-derivations store (list drv)) #f))) +(test-assert "build-expression->derivation and timeout" + (let* ((store (let ((s (open-connection))) + (set-build-options s #:timeout 1) + s)) + (builder '(begin (sleep 100) (mkdir %output) #t)) + (drv (build-expression->derivation store "slow" builder)) + (out-path (derivation->output-path drv))) + (guard (c ((nix-protocol-error? c) + (and (string-contains (nix-protocol-error-message c) + "failed") + (not (valid-path? store out-path))))) + (build-derivations store (list drv)) + #f))) + (test-assert "build-expression->derivation and derivation-prerequisites-to-build" (let ((drv (build-expression->derivation %store "fail" #f))) ;; The only direct dependency is (%guile-for-build) and it's already |