To help creating/running/… containers using the client for test integration.
This should make test more readable and reduce duplication a bit.
Usage example
```
// Create a default container named foo
id1 := container.Create(t, ctx, client, container.WithName("foo"))
// Run a default container with a custom command
id2 := container.Run(t, ctx, client, container.WithCmd("echo", "hello world"))
```
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 0bb7d42b03bfb125cd50ab50dabe99726e66ab71
Component: engine
34 lines
591 B
Go
34 lines
591 B
Go
package container // import "github.com/docker/docker/integration/container"
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/docker/docker/internal/test/environment"
|
|
)
|
|
|
|
var testEnv *environment.Execution
|
|
|
|
func TestMain(m *testing.M) {
|
|
var err error
|
|
testEnv, err = environment.New()
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
os.Exit(1)
|
|
}
|
|
err = environment.EnsureFrozenImagesLinux(testEnv)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
testEnv.Print()
|
|
os.Exit(m.Run())
|
|
}
|
|
|
|
func setupTest(t *testing.T) func() {
|
|
environment.ProtectAll(t, testEnv)
|
|
return func() { testEnv.Clean(t) }
|
|
}
|