summary refs log tree commit diff
path: root/gnu/tests/base.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2016-08-29 23:46:33 +0300
committerEfraim Flashner <efraim@flashner.co.il>2016-08-29 23:46:33 +0300
commitb3d2be945d2dfe08e3b73102dd0fd3f4a0a93b60 (patch)
tree707c6a5e18474b410e39fa6892521c9f47518ccc /gnu/tests/base.scm
parent97127431ee9133626fea62449706d729d80b73f6 (diff)
parent5b63a8568b39c019970569773bace18fab17a157 (diff)
downloadguix-b3d2be945d2dfe08e3b73102dd0fd3f4a0a93b60.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
Diffstat (limited to 'gnu/tests/base.scm')
-rw-r--r--gnu/tests/base.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 7170ab1e38..ca6f76c0f8 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -190,6 +190,42 @@ info --version")
                                   (setlocale LC_ALL before)))
                              marionette))
 
+          (test-assert "/run/current-system is a GC root"
+            (marionette-eval '(begin
+                                ;; Make sure the (guix …) modules are found.
+                                (eval-when (expand load eval)
+                                  (set! %load-path
+                                    (cons
+                                     (string-append
+                                      "/run/current-system/profile/share/guile/site/"
+                                      (effective-version))
+                                     %load-path))
+                                  (set! %load-compiled-path
+                                    (cons
+                                     (string-append
+                                      "/run/current-system/profile/share/guile/site/"
+                                      (effective-version))
+                                     %load-compiled-path)))
+
+                                (use-modules (srfi srfi-34) (guix store))
+
+                                (let ((system (readlink "/run/current-system")))
+                                  (guard (c ((nix-protocol-error? c)
+                                             (file-exists? system)))
+                                    (with-store store
+                                      (delete-paths store (list system))
+                                      #f))))
+                             marionette))
+
+          ;; This symlink is currently unused, but better have it point to the
+          ;; right place.  See
+          ;; <https://lists.gnu.org/archive/html/guix-devel/2016-08/msg01641.html>.
+          (test-equal "/var/guix/gcroots/profiles is a valid symlink"
+            "/var/guix/profiles"
+            (marionette-eval '(readlink "/var/guix/gcroots/profiles")
+                             marionette))
+
+
           (test-assert "screendump"
             (begin
               (marionette-control (string-append "screendump " #$output