mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
add unit test for check unmounted behavior of Unmount
This commit is contained in:
parent
368fd9d01e
commit
bf77290bbf
@ -26,6 +26,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
utilexec "k8s.io/utils/exec"
|
utilexec "k8s.io/utils/exec"
|
||||||
testexec "k8s.io/utils/exec/testing"
|
testexec "k8s.io/utils/exec/testing"
|
||||||
@ -620,3 +621,28 @@ func makeFakeCommandAction(stdout string, err error) testexec.FakeCommandAction
|
|||||||
return testexec.InitFakeCmd(&c, cmd, args...)
|
return testexec.InitFakeCmd(&c, cmd, args...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNotMountedBehaviorOfUnmount(t *testing.T) {
|
||||||
|
target, err := ioutil.TempDir("", "kubelet-umount")
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("Cannot create temp dir: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
defer os.RemoveAll(target)
|
||||||
|
|
||||||
|
m := Mounter{withSafeNotMountedBehavior: true}
|
||||||
|
if err = m.Unmount(target); err != nil {
|
||||||
|
t.Errorf(`Expect complete Unmount(), but it dose not: %v`, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = tryUnmount(target, m.withSafeNotMountedBehavior, time.Minute); err != nil {
|
||||||
|
t.Errorf(`Expect complete tryUnmount(), but it does not: %v`, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// forceUmount exec "umount -f", so skip this case if user is not root.
|
||||||
|
if os.Getuid() == 0 {
|
||||||
|
if err = forceUmount(target, m.withSafeNotMountedBehavior); err != nil {
|
||||||
|
t.Errorf(`Expect complete forceUnmount(), but it does not: %v`, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user