]> git.apps.os.sepia.ceph.com Git - fscrypt.git/commitdiff
mountpoint_test: skip TestLoadSourceDevice if loop0 doesn't exist
authorEric Biggers <ebiggers@google.com>
Sat, 9 Sep 2023 18:30:45 +0000 (11:30 -0700)
committerEric Biggers <ebiggers@google.com>
Sat, 9 Sep 2023 18:30:45 +0000 (11:30 -0700)
Probably resolves https://github.com/google/fscrypt/issues/382

filesystem/mountpoint_test.go

index 43b5a0d47f8d8a46ff93042d5596bef5f3ba03a7..f06219c108c1feb2fcabeb7e66ca080e097c79ad 100644 (file)
  * the License.
  */
 
-// Note: these tests assume the existence of some well-known directories and
-// devices: /mnt, /home, /tmp, and /dev/loop0.  This is because the mountpoint
-// loading code only retains mountpoints on valid directories, and only retains
-// device names for valid device nodes.
+// Note: these tests assume the existence of some well-known directories: /mnt,
+// /home, and /tmp.  This is because the mountpoint loading code only retains
+// mountpoints on valid directories.
 
 package filesystem
 
@@ -100,6 +99,11 @@ func TestLoadMountInfoBasic(t *testing.T) {
 // Test that Mount.Device is set to the mountpoint's source device if
 // applicable, otherwise it is set to the empty string.
 func TestLoadSourceDevice(t *testing.T) {
+       // The mountinfo parser ignores devices that don't exist.  For the valid
+       // device, try /dev/loop0.  If it doesn't exist, skip the test.
+       if _, err := os.Stat("/dev/loop0"); err != nil {
+               t.Skip("/dev/loop0 does not exist, skipping test")
+       }
        var mountinfo = `
 15 0 7:0 / / rw shared:1 - foo /dev/loop0 rw,data=ordered
 31 15 0:27 / /tmp rw,nosuid,nodev shared:17 - tmpfs tmpfs rw