tests: 'guix-environment-container.sh' works when run from a tmpfs.
authorLudovic Courtès <ludo@gnu.org>
Sun, 31 Jul 2016 16:51:38 +0000 (18:51 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sun, 31 Jul 2016 16:51:38 +0000 (18:51 +0200)
Fixes <http://bugs.gnu.org/22004>.
Reported by Ting-Wei Lan <lantw44@gmail.com>.

* tests/guix-environment-container.sh (mount_test_code): Add 'match'
clause to ignore "/"; augment clause that ignores specific file system
types such that it does not ignore parent mount points.

tests/guix-environment-container.sh

index 5ea6c49..12da950 100644 (file)
@@ -65,10 +65,15 @@ mount_test_code="
                 (match (string-split line #\space)
                   ;; Empty line.
                   ((\"\") #f)
-                  ;; Ignore these types of file systems.
-                  ((_ _ (or \"tmpfs\" \"proc\" \"sysfs\" \"devtmpfs\"
-                            \"devpts\" \"cgroup\" \"mqueue\") _ _ _)
+                  ;; Ignore the root file system.
+                  ((_ \"/\" _ _ _ _)
                    #f)
+                  ;; Ignore these types of file systems, except if they
+                  ;; correspond to a parent file system.
+                  ((_ mount (or \"tmpfs\" \"proc\" \"sysfs\" \"devtmpfs\"
+                                \"devpts\" \"cgroup\" \"mqueue\") _ _ _)
+                   (and (string-prefix? mount (getcwd))
+                       mount))
                   ((_ mount _ _ _ _)
                    mount)))
               (string-split (call-with-input-file \"/proc/mounts\" read-string)