mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
integration/TestExportContainerAfterDaemonRestart: add
This test case checks that a container created before start of the currently running dockerd can be exported (as reported in #36561). To satisfy this condition, either a pre-existing container is required, or a daemon restart after container creation. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This commit is contained in:
parent
3d14173a29
commit
6e7141c7a2
1 changed files with 31 additions and 0 deletions
|
@ -7,7 +7,9 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/docker/docker/api/types"
|
"github.com/docker/docker/api/types"
|
||||||
|
containerTypes "github.com/docker/docker/api/types/container"
|
||||||
"github.com/docker/docker/api/types/filters"
|
"github.com/docker/docker/api/types/filters"
|
||||||
|
"github.com/docker/docker/integration-cli/daemon"
|
||||||
"github.com/docker/docker/integration/internal/container"
|
"github.com/docker/docker/integration/internal/container"
|
||||||
"github.com/docker/docker/integration/internal/request"
|
"github.com/docker/docker/integration/internal/request"
|
||||||
"github.com/docker/docker/pkg/jsonmessage"
|
"github.com/docker/docker/pkg/jsonmessage"
|
||||||
|
@ -51,3 +53,32 @@ func TestExportContainerAndImportImage(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, jm.Status, images[0].ID)
|
assert.Equal(t, jm.Status, images[0].ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestExportContainerAfterDaemonRestart checks that a container
|
||||||
|
// created before start of the currently running dockerd
|
||||||
|
// can be exported (as reported in #36561). To satisfy this
|
||||||
|
// condition, daemon restart is needed after container creation.
|
||||||
|
func TestExportContainerAfterDaemonRestart(t *testing.T) {
|
||||||
|
skip.If(t, testEnv.DaemonInfo.OSType != "linux")
|
||||||
|
skip.If(t, testEnv.IsRemoteDaemon())
|
||||||
|
|
||||||
|
d := daemon.New(t, "", "dockerd", daemon.Config{})
|
||||||
|
client, err := d.NewClient()
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
d.StartWithBusybox(t)
|
||||||
|
defer d.Stop(t)
|
||||||
|
|
||||||
|
ctx := context.Background()
|
||||||
|
cfg := containerTypes.Config{
|
||||||
|
Image: "busybox",
|
||||||
|
Cmd: []string{"top"},
|
||||||
|
}
|
||||||
|
ctr, err := client.ContainerCreate(ctx, &cfg, nil, nil, "")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
d.Restart(t)
|
||||||
|
|
||||||
|
_, err = client.ContainerExport(ctx, ctr.ID)
|
||||||
|
assert.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue