summaryrefslogtreecommitdiff
path: root/pkg/siftool/unmount_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/siftool/unmount_test.go')
-rw-r--r--pkg/siftool/unmount_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkg/siftool/unmount_test.go b/pkg/siftool/unmount_test.go
new file mode 100644
index 0000000..2cf8160
--- /dev/null
+++ b/pkg/siftool/unmount_test.go
@@ -0,0 +1,42 @@
+// Copyright (c) 2022, Sylabs Inc. All rights reserved.
+// This software is licensed under a 3-clause BSD license. Please consult the
+// LICENSE file distributed with the sources of this project regarding your
+// rights to use or distribute this software.
+
+package siftool
+
+import (
+ "context"
+ "os"
+ "os/exec"
+ "path/filepath"
+ "testing"
+
+ "github.com/sylabs/sif/v2/pkg/user"
+)
+
+func Test_command_getUnmount(t *testing.T) {
+ if _, err := exec.LookPath("squashfuse"); err != nil {
+ t.Skip(" not found, skipping unmount tests")
+ }
+ if _, err := exec.LookPath("fusermount"); err != nil {
+ t.Skip(" not found, skipping unmount tests")
+ }
+
+ path, err := os.MkdirTemp("", "siftool-unmount-*")
+ if err != nil {
+ t.Fatal(err)
+ }
+ t.Cleanup(func() {
+ os.RemoveAll(path)
+ })
+
+ testSIF := filepath.Join(corpus, "one-group.sif")
+ if err := user.Mount(context.Background(), testSIF, path); err != nil {
+ t.Fatal(err)
+ }
+
+ c := &command{}
+ cmd := c.getUnmount()
+ runCommand(t, cmd, []string{path}, nil)
+}