tests: foreign: Add test restarting guix-daemon.

* gnu/tests/foreign.scm (run-foreign-install-test): Restart the
daemon, build and gc afterwards.

Followup of 9a78e76076.

Change-Id: Ia2304d6b9c83b5b8f410426ce00e078c2f004198
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
This commit is contained in:
Rutherther 2025-12-22 18:56:23 +01:00
parent 519524f996
commit efec531f5e
No known key found for this signature in database
GPG key ID: 0322798269E471C3

View file

@ -266,6 +266,39 @@ of DEB-FILES with 'dpkg -i'."
#$(guix-daemon-test-cases #~marionette)
;; NOTE: There was a bug where the service couldn't be restarted,
;; because the store would be captured as read-only when creating
;; the private mount namespace.
;; See <https://codeberg.org/guix/guix/issues/4744>.
;; So we try restarting it here.
(test-equal "restart guix-daemon.service"
0
(marionette-eval '(system* "systemctl" "restart"
"guix-daemon.service")
marionette))
(test-equal "guix build hello after guix-daemon.service restart"
0
(marionette-eval '(system* "guix" "build"
"hello" "--no-grafts"
"--check")
marionette))
(test-equal "guix gc after guix-daemon.service"
0
(marionette-eval '(system* "guix" "gc")
marionette))
;; NOTE: Since the fix of the bug meant stopping gnu-store.mount
;; during startup of guix-daemon service, check that it's started.
;; Check only after some time, because the service might not be
;; up yet right after the restart.
(test-equal "gnu-store.mount is active after guix-daemon restart"
0
(marionette-eval '(system* "systemctl" "is-active"
"gnu-store.mount")
marionette))
(test-assert "screenshot after"
(marionette-control (string-append "screendump " #$output
"/after-install.ppm")