mirror of https://github.com/k3s-io/k3s
Use relative path for creating socket files
parent
33482dd441
commit
cd36a0bca9
|
@ -1181,7 +1181,7 @@ func TestBindSubPath(t *testing.T) {
|
||||||
expectError: false,
|
expectError: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "subpath-mounting-unix-socket",
|
name: "mount-unix-socket",
|
||||||
prepare: func(base string) ([]string, string, string, error) {
|
prepare: func(base string) ([]string, string, string, error) {
|
||||||
volpath, subpathMount := getTestPaths(base)
|
volpath, subpathMount := getTestPaths(base)
|
||||||
mounts := []string{subpathMount}
|
mounts := []string{subpathMount}
|
||||||
|
@ -1193,9 +1193,9 @@ func TestBindSubPath(t *testing.T) {
|
||||||
return nil, "", "", err
|
return nil, "", "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
testSocketFile := filepath.Join(volpath, "mount_test.sock")
|
socketFile, socketCreateError := createSocketFile(volpath)
|
||||||
_, err := net.Listen("unix", testSocketFile)
|
|
||||||
return mounts, volpath, testSocketFile, err
|
return mounts, volpath, socketFile, socketCreateError
|
||||||
},
|
},
|
||||||
expectError: false,
|
expectError: false,
|
||||||
},
|
},
|
||||||
|
@ -1226,6 +1226,7 @@ func TestBindSubPath(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf(err.Error())
|
t.Fatalf(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
mounts, volPath, subPath, err := test.prepare(base)
|
mounts, volPath, subPath, err := test.prepare(base)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
os.RemoveAll(base)
|
os.RemoveAll(base)
|
||||||
|
@ -1476,29 +1477,29 @@ func TestSafeOpen(t *testing.T) {
|
||||||
true,
|
true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mounting-unix-socket",
|
"mount-unix-socket",
|
||||||
func(base string) error {
|
func(base string) error {
|
||||||
testSocketFile := filepath.Join(base, "mount_test.sock")
|
socketFile, socketError := createSocketFile(base)
|
||||||
_, err := net.Listen("unix", testSocketFile)
|
|
||||||
if err != nil {
|
if socketError != nil {
|
||||||
return fmt.Errorf("Error preparing socket file %s with %v", testSocketFile, err)
|
return fmt.Errorf("Error preparing socket file %s with %v", socketFile, socketError)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
"mount_test.sock",
|
"mt.sock",
|
||||||
false,
|
false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mounting-unix-socket-in-middle",
|
"mounting-unix-socket-in-middle",
|
||||||
func(base string) error {
|
func(base string) error {
|
||||||
testSocketFile := filepath.Join(base, "mount_test.sock")
|
testSocketFile, socketError := createSocketFile(base)
|
||||||
_, err := net.Listen("unix", testSocketFile)
|
|
||||||
if err != nil {
|
if socketError != nil {
|
||||||
return fmt.Errorf("Error preparing socket file %s with %v", testSocketFile, err)
|
return fmt.Errorf("Error preparing socket file %s with %v", testSocketFile, socketError)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
"mount_test.sock/bar",
|
"mt.sock/bar",
|
||||||
true,
|
true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -1509,6 +1510,7 @@ func TestSafeOpen(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf(err.Error())
|
t.Fatalf(err.Error())
|
||||||
}
|
}
|
||||||
|
|
||||||
test.prepare(base)
|
test.prepare(base)
|
||||||
pathToCreate := filepath.Join(base, test.path)
|
pathToCreate := filepath.Join(base, test.path)
|
||||||
fd, err := doSafeOpen(pathToCreate, base)
|
fd, err := doSafeOpen(pathToCreate, base)
|
||||||
|
@ -1527,6 +1529,25 @@ func TestSafeOpen(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func createSocketFile(socketDir string) (string, error) {
|
||||||
|
testSocketFile := filepath.Join(socketDir, "mt.sock")
|
||||||
|
|
||||||
|
// Switch to volume path and create the socket file
|
||||||
|
// socket file can not have length of more than 108 character
|
||||||
|
// and hence we must use relative path
|
||||||
|
oldDir, _ := os.Getwd()
|
||||||
|
|
||||||
|
err := os.Chdir(socketDir)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
defer func() {
|
||||||
|
os.Chdir(oldDir)
|
||||||
|
}()
|
||||||
|
_, socketCreateError := net.Listen("unix", "mt.sock")
|
||||||
|
return testSocketFile, socketCreateError
|
||||||
|
}
|
||||||
|
|
||||||
func TestFindExistingPrefix(t *testing.T) {
|
func TestFindExistingPrefix(t *testing.T) {
|
||||||
defaultPerm := os.FileMode(0750)
|
defaultPerm := os.FileMode(0750)
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
|
|
Loading…
Reference in New Issue