mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Test on execdriver dir behavior
Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
This commit is contained in:
parent
623ebf203b
commit
652cd6a842
2 changed files with 102 additions and 0 deletions
|
@ -2062,3 +2062,103 @@ func TestRunMountOrdering(t *testing.T) {
|
|||
deleteAllContainers()
|
||||
logDone("run - volumes are mounted in the correct order")
|
||||
}
|
||||
|
||||
func TestRunExecDir(t *testing.T) {
|
||||
cmd := exec.Command(dockerBinary, "run", "-d", "busybox", "top")
|
||||
out, _, err := runCommandWithOutput(cmd)
|
||||
if err != nil {
|
||||
t.Fatal(err, out)
|
||||
}
|
||||
id := strings.TrimSpace(out)
|
||||
execDir := filepath.Join(execDriverPath, id)
|
||||
stateFile := filepath.Join(execDir, "state.json")
|
||||
contFile := filepath.Join(execDir, "container.json")
|
||||
|
||||
{
|
||||
fi, err := os.Stat(execDir)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !fi.IsDir() {
|
||||
t.Fatalf("%q must be a directory", execDir)
|
||||
}
|
||||
fi, err = os.Stat(stateFile)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
fi, err = os.Stat(contFile)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
stopCmd := exec.Command(dockerBinary, "stop", id)
|
||||
out, _, err = runCommandWithOutput(stopCmd)
|
||||
if err != nil {
|
||||
t.Fatal(err, out)
|
||||
}
|
||||
{
|
||||
fi, err := os.Stat(execDir)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !fi.IsDir() {
|
||||
t.Fatalf("%q must be a directory", execDir)
|
||||
}
|
||||
fi, err = os.Stat(stateFile)
|
||||
if err == nil {
|
||||
t.Fatalf("Statefile %q is exists for stopped container!", stateFile)
|
||||
}
|
||||
if !os.IsNotExist(err) {
|
||||
t.Fatalf("Error should be about non-existing, got %s", err)
|
||||
}
|
||||
fi, err = os.Stat(contFile)
|
||||
if err == nil {
|
||||
t.Fatalf("Container file %q is exists for stopped container!", contFile)
|
||||
}
|
||||
if !os.IsNotExist(err) {
|
||||
t.Fatalf("Error should be about non-existing, got %s", err)
|
||||
}
|
||||
}
|
||||
startCmd := exec.Command(dockerBinary, "start", id)
|
||||
out, _, err = runCommandWithOutput(startCmd)
|
||||
if err != nil {
|
||||
t.Fatal(err, out)
|
||||
}
|
||||
{
|
||||
fi, err := os.Stat(execDir)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !fi.IsDir() {
|
||||
t.Fatalf("%q must be a directory", execDir)
|
||||
}
|
||||
fi, err = os.Stat(stateFile)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
fi, err = os.Stat(contFile)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
rmCmd := exec.Command(dockerBinary, "rm", "-f", id)
|
||||
out, _, err = runCommandWithOutput(rmCmd)
|
||||
if err != nil {
|
||||
t.Fatal(err, out)
|
||||
}
|
||||
{
|
||||
_, err := os.Stat(execDir)
|
||||
if err == nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err == nil {
|
||||
t.Fatalf("Exec directory %q is exists for removed container!", execDir)
|
||||
}
|
||||
if !os.IsNotExist(err) {
|
||||
t.Fatalf("Error should be about non-existing, got %s", err)
|
||||
}
|
||||
}
|
||||
|
||||
logDone("run - check execdriver dir behavior")
|
||||
}
|
||||
|
|
|
@ -15,6 +15,8 @@ var registryImageName = "registry"
|
|||
// the private registry to use for tests
|
||||
var privateRegistryURL = "127.0.0.1:5000"
|
||||
|
||||
var execDriverPath = "/var/lib/docker/execdriver/native"
|
||||
|
||||
var workingDirectory string
|
||||
|
||||
func init() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue