12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package mount
- import (
- "os"
- "path"
- "syscall"
- "testing"
- )
- func TestMountOptionsParsing(t *testing.T) {
- options := "bind,ro,size=10k"
- flag, data := parseOptions(options)
- if data != "size=10k" {
- t.Fatalf("Expected size=10 got %s", data)
- }
- expectedFlag := syscall.MS_BIND | syscall.MS_RDONLY
- if flag != expectedFlag {
- t.Fatalf("Expected %d got %d", expectedFlag, flag)
- }
- }
- func TestMounted(t *testing.T) {
- tmp := path.Join(os.TempDir(), "mount-tests")
- if err := os.MkdirAll(tmp, 0777); err != nil {
- t.Fatal(err)
- }
- defer os.RemoveAll(tmp)
- var (
- sourcePath = path.Join(tmp, "sourcefile.txt")
- targetPath = path.Join(tmp, "targetfile.txt")
- )
- f, err := os.Create(sourcePath)
- if err != nil {
- t.Fatal(err)
- }
- f.WriteString("hello")
- f.Close()
- f, err = os.Create(targetPath)
- if err != nil {
- t.Fatal(err)
- }
- f.Close()
- if err := Mount(sourcePath, targetPath, "none", "bind,ro"); err != nil {
- t.Fatal(err)
- }
- defer func() {
- if err := Unmount(targetPath); err != nil {
- t.Fatal(err)
- }
- }()
- mounted, err := Mounted(targetPath)
- if err != nil {
- t.Fatal(err)
- }
- if !mounted {
- t.Fatalf("Expected %s to be mounted", targetPath)
- }
- }
|