summaryrefslogtreecommitdiff
path: root/gnu/tests
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/tests')
-rw-r--r--gnu/tests/base.scm41
1 files changed, 36 insertions, 5 deletions
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 83e047f7e64..ef05e56e5f7 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016-2020, 2022, 2024 Ludovic Courtès <ludo@gnu.org> 2;;; Copyright © 2016-2020, 2022, 2024-2025 Ludovic Courtès <ludo@gnu.org>
3;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> 3;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
4;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> 4;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
5;;; Copyright © 2022 Marius Bakke <marius@gnu.org> 5;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
@@ -63,7 +63,8 @@
63 63
64 %hello-dependencies-manifest 64 %hello-dependencies-manifest
65 guix-daemon-test-cases 65 guix-daemon-test-cases
66 %test-guix-daemon)) 66 %test-guix-daemon
67 %test-guix-daemon-unprivileged))
67 68
68(define %simple-os 69(define %simple-os
69 (simple-operating-system)) 70 (simple-operating-system))
@@ -1121,7 +1122,7 @@ test."
1121 (system-error-errno args))) 1122 (system-error-errno args)))
1122 #$marionette)))) 1123 #$marionette))))
1123 1124
1124(define (run-guix-daemon-test os) 1125(define (run-guix-daemon-test os name)
1125 (define test-image 1126 (define test-image
1126 (image (operating-system os) 1127 (image (operating-system os)
1127 (format 'compressed-qcow2) 1128 (format 'compressed-qcow2)
@@ -1168,7 +1169,7 @@ test."
1168 1169
1169 (test-end)))) 1170 (test-end))))
1170 1171
1171 (gexp->derivation "guix-daemon-test" test)) 1172 (gexp->derivation name test))
1172 1173
1173(define %test-guix-daemon 1174(define %test-guix-daemon
1174 (system-test 1175 (system-test
@@ -1190,4 +1191,34 @@ test."
1190 %base-user-accounts))) 1191 %base-user-accounts)))
1191 #:imported-modules '((gnu services herd) 1192 #:imported-modules '((gnu services herd)
1192 (guix combinators))))) 1193 (guix combinators)))))
1193 (run-guix-daemon-test os))))) 1194 (run-guix-daemon-test os "guix-daemon-test")))))
1195
1196(define %test-guix-daemon-unprivileged
1197 (system-test
1198 (name "guix-daemon-unprivileged")
1199 (description
1200 "Test 'guix-daemon' behavior on a multi-user system, where 'guix-daemon'
1201runs unprivileged.")
1202 (value
1203 (let ((os (marionette-operating-system
1204 (let ((base (operating-system-with-gc-roots
1205 %daemon-os
1206 (list (profile
1207 (name "hello-build-dependencies")
1208 (content %hello-dependencies-manifest))))))
1209 (operating-system
1210 (inherit base)
1211 (kernel-arguments '("console=ttyS0"))
1212 (users (cons (user-account
1213 (name "user")
1214 (group "users"))
1215 %base-user-accounts))
1216 (services
1217 (modify-services (operating-system-user-services base)
1218 (guix-service-type
1219 config => (guix-configuration
1220 (inherit config)
1221 (privileged? #f)))))))
1222 #:imported-modules '((gnu services herd)
1223 (guix combinators)))))
1224 (run-guix-daemon-test os "guix-daemon-unprivileged-test")))))