[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] build: container: Fix call-with-clean-exit.
From: |
David Thompson |
Subject: |
[PATCH] build: container: Fix call-with-clean-exit. |
Date: |
Fri, 09 Oct 2015 16:26:45 -0400 |
User-agent: |
Notmuch/0.20.2 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-unknown-linux-gnu) |
An oversight on my part that I noticed while doing 'guix environment
--container' testing.
>From dc72ee831d6c6b93cf404a7fd1abc4b8fb27b7f2 Mon Sep 17 00:00:00 2001
From: David Thompson <address@hidden>
Date: Fri, 9 Oct 2015 12:33:40 -0400
Subject: [PATCH] build: container: Fix call-with-clean-exit.
Before, call-with-clean-exit would *always* return an exit code of 1.
* gnu/build/linux-container.scm (call-with-clean-exit): Exit with status
code of 0 if thunk does not throw an exception.
* tests/containers.scm: Add test.
---
gnu/build/linux-container.scm | 4 +++-
tests/containers.scm | 4 ++++
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm
index 95220d0..e911494 100644
--- a/gnu/build/linux-container.scm
+++ b/gnu/build/linux-container.scm
@@ -36,7 +36,9 @@
"Apply THUNK, but exit with a status code of 1 if it fails."
(dynamic-wind
(const #t)
- thunk
+ (lambda ()
+ (thunk)
+ (primitive-exit 0))
(lambda ()
(primitive-exit 1))))
diff --git a/tests/containers.scm b/tests/containers.scm
index 4783f8e..0ba8149 100644
--- a/tests/containers.scm
+++ b/tests/containers.scm
@@ -34,6 +34,10 @@
(test-begin "containers")
+(test-assert "call-with-container, exit with 0 when there is no error"
+ (zero?
+ (call-with-container '() (const #t) #:namespaces '(user))))
+
(test-assert "call-with-container, user namespace"
(zero?
(call-with-container '()
--
2.5.0
--
David Thompson
GPG Key: 0FF1D807
- [PATCH] build: container: Fix call-with-clean-exit.,
David Thompson <=