diff --git a/cli/command/checkpoint/create_test.go b/cli/command/checkpoint/create_test.go index 32c9d88a6f..19bd3920c0 100644 --- a/cli/command/checkpoint/create_test.go +++ b/cli/command/checkpoint/create_test.go @@ -5,9 +5,9 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/checkpoint/list_test.go b/cli/command/checkpoint/list_test.go index 26dd963a8c..373460d3be 100644 --- a/cli/command/checkpoint/list_test.go +++ b/cli/command/checkpoint/list_test.go @@ -4,9 +4,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/checkpoint/remove_test.go b/cli/command/checkpoint/remove_test.go index 976aa07892..6100d75e41 100644 --- a/cli/command/checkpoint/remove_test.go +++ b/cli/command/checkpoint/remove_test.go @@ -4,9 +4,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/config/create_test.go b/cli/command/config/create_test.go index 7a6b2f54d3..7bde47e694 100644 --- a/cli/command/config/create_test.go +++ b/cli/command/config/create_test.go @@ -7,10 +7,10 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/config/inspect_test.go b/cli/command/config/inspect_test.go index 0431ffd652..5ff280fd2a 100644 --- a/cli/command/config/inspect_test.go +++ b/cli/command/config/inspect_test.go @@ -6,12 +6,12 @@ import ( "testing" "time" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/config/ls_test.go b/cli/command/config/ls_test.go index f58e815a5b..ac351cc725 100644 --- a/cli/command/config/ls_test.go +++ b/cli/command/config/ls_test.go @@ -6,13 +6,13 @@ import ( "time" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/config/remove_test.go b/cli/command/config/remove_test.go index 28cc41f670..f7142a2566 100644 --- a/cli/command/config/remove_test.go +++ b/cli/command/config/remove_test.go @@ -5,8 +5,8 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/container/attach_test.go b/cli/command/container/attach_test.go index a33eeeeb54..8f87463af7 100644 --- a/cli/command/container/attach_test.go +++ b/cli/command/container/attach_test.go @@ -4,9 +4,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" ) diff --git a/cli/command/container/exec_test.go b/cli/command/container/exec_test.go index 0eed2ff0f7..bf4fd3f35c 100644 --- a/cli/command/container/exec_test.go +++ b/cli/command/container/exec_test.go @@ -4,9 +4,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/require" ) diff --git a/cli/command/container/opts_test.go b/cli/command/container/opts_test.go index b3a59d3999..6758751e99 100644 --- a/cli/command/container/opts_test.go +++ b/cli/command/container/opts_test.go @@ -11,9 +11,9 @@ import ( "testing" "time" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types/container" networktypes "github.com/docker/docker/api/types/network" - "github.com/docker/docker/pkg/testutil" "github.com/docker/docker/runconfig" "github.com/docker/go-connections/nat" "github.com/pkg/errors" diff --git a/cli/command/idresolver/idresolver_test.go b/cli/command/idresolver/idresolver_test.go index f740c13eff..98bd306d16 100644 --- a/cli/command/idresolver/idresolver_test.go +++ b/cli/command/idresolver/idresolver_test.go @@ -5,7 +5,7 @@ import ( "github.com/docker/docker/api/types/swarm" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" "github.com/pkg/errors" "github.com/stretchr/testify/assert" "golang.org/x/net/context" diff --git a/cli/command/image/build/context_test.go b/cli/command/image/build/context_test.go index 8bcbea48dd..a15b535ad7 100644 --- a/cli/command/image/build/context_test.go +++ b/cli/command/image/build/context_test.go @@ -11,8 +11,8 @@ import ( "strings" "testing" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/pkg/archive" - "github.com/docker/docker/pkg/testutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/cli/command/image/build_test.go b/cli/command/image/build_test.go index 3664b91b7c..325c82343e 100644 --- a/cli/command/image/build_test.go +++ b/cli/command/image/build_test.go @@ -10,7 +10,7 @@ import ( "testing" "github.com/docker/cli/cli/command" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/pkg/archive" "github.com/stretchr/testify/assert" diff --git a/cli/command/image/history_test.go b/cli/command/image/history_test.go index 7053735aa3..eb656e5cf4 100644 --- a/cli/command/image/history_test.go +++ b/cli/command/image/history_test.go @@ -6,9 +6,9 @@ import ( "testing" "time" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types/image" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/image/import_test.go b/cli/command/image/import_test.go index 87cc89693c..7f9bc2d8dc 100644 --- a/cli/command/image/import_test.go +++ b/cli/command/image/import_test.go @@ -6,9 +6,9 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/image/inspect_test.go b/cli/command/image/inspect_test.go index 0bcb65836c..4e94d06231 100644 --- a/cli/command/image/inspect_test.go +++ b/cli/command/image/inspect_test.go @@ -5,9 +5,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/image/list_test.go b/cli/command/image/list_test.go index 58b7a71bdb..1755bb3e3d 100644 --- a/cli/command/image/list_test.go +++ b/cli/command/image/list_test.go @@ -6,9 +6,9 @@ import ( "testing" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/image/load_test.go b/cli/command/image/load_test.go index bebe40cb07..5f05bca47b 100644 --- a/cli/command/image/load_test.go +++ b/cli/command/image/load_test.go @@ -7,9 +7,9 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/image/prune_test.go b/cli/command/image/prune_test.go index b52601608f..12f51b60fe 100644 --- a/cli/command/image/prune_test.go +++ b/cli/command/image/prune_test.go @@ -5,10 +5,10 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/image/pull_test.go b/cli/command/image/pull_test.go index 7b24cdbb08..157b391fdd 100644 --- a/cli/command/image/pull_test.go +++ b/cli/command/image/pull_test.go @@ -5,8 +5,8 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/image/push_test.go b/cli/command/image/push_test.go index 1ead5b1549..48d78b7d03 100644 --- a/cli/command/image/push_test.go +++ b/cli/command/image/push_test.go @@ -6,9 +6,9 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/image/remove_test.go b/cli/command/image/remove_test.go index a813f8f107..e89e6ddaf8 100644 --- a/cli/command/image/remove_test.go +++ b/cli/command/image/remove_test.go @@ -5,9 +5,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/image/save_test.go b/cli/command/image/save_test.go index 424c2c9a42..f402da7e84 100644 --- a/cli/command/image/save_test.go +++ b/cli/command/image/save_test.go @@ -7,8 +7,8 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/cli/command/image/tag_test.go b/cli/command/image/tag_test.go index c86bd22b36..0698522969 100644 --- a/cli/command/image/tag_test.go +++ b/cli/command/image/tag_test.go @@ -4,8 +4,8 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/network/connect_test.go b/cli/command/network/connect_test.go index 577dd8c25a..064aa041c8 100644 --- a/cli/command/network/connect_test.go +++ b/cli/command/network/connect_test.go @@ -4,9 +4,9 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types/network" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" "golang.org/x/net/context" diff --git a/cli/command/network/create_test.go b/cli/command/network/create_test.go index 76c760d0ad..dda68046db 100644 --- a/cli/command/network/create_test.go +++ b/cli/command/network/create_test.go @@ -5,10 +5,10 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/network" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/cli/command/network/disconnect_test.go b/cli/command/network/disconnect_test.go index 9b915a19b5..e3920e9777 100644 --- a/cli/command/network/disconnect_test.go +++ b/cli/command/network/disconnect_test.go @@ -4,8 +4,8 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "golang.org/x/net/context" ) diff --git a/cli/command/node/demote_test.go b/cli/command/node/demote_test.go index d786cd47a2..bf86e5227e 100644 --- a/cli/command/node/demote_test.go +++ b/cli/command/node/demote_test.go @@ -4,12 +4,12 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/node/inspect_test.go b/cli/command/node/inspect_test.go index b841b0639d..739a4783be 100644 --- a/cli/command/node/inspect_test.go +++ b/cli/command/node/inspect_test.go @@ -5,13 +5,13 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/node/list_test.go b/cli/command/node/list_test.go index fee29e284b..b3a42df460 100644 --- a/cli/command/node/list_test.go +++ b/cli/command/node/list_test.go @@ -5,13 +5,13 @@ import ( "testing" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/node/promote_test.go b/cli/command/node/promote_test.go index 2399b2ee8c..4c66342346 100644 --- a/cli/command/node/promote_test.go +++ b/cli/command/node/promote_test.go @@ -4,12 +4,12 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/node/ps_test.go b/cli/command/node/ps_test.go index 8733e5e0f4..836a130f76 100644 --- a/cli/command/node/ps_test.go +++ b/cli/command/node/ps_test.go @@ -6,12 +6,12 @@ import ( "testing" "time" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/node/remove_test.go b/cli/command/node/remove_test.go index e0f3f238e6..78fc4f76fa 100644 --- a/cli/command/node/remove_test.go +++ b/cli/command/node/remove_test.go @@ -4,8 +4,8 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/node/update_test.go b/cli/command/node/update_test.go index 3abb720c1c..e1aa28a806 100644 --- a/cli/command/node/update_test.go +++ b/cli/command/node/update_test.go @@ -4,12 +4,12 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/registry_test.go b/cli/command/registry_test.go index 5e52e470a1..3f3d5f579f 100644 --- a/cli/command/registry_test.go +++ b/cli/command/registry_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/assert" "golang.org/x/net/context" - // Prevents a circular import with "github.com/docker/cli/cli/internal/test" + // Prevents a circular import with "github.com/docker/cli/internal/test" . "github.com/docker/cli/cli/command" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) diff --git a/cli/command/secret/create_test.go b/cli/command/secret/create_test.go index 0887601ab6..f9f70cfedd 100644 --- a/cli/command/secret/create_test.go +++ b/cli/command/secret/create_test.go @@ -7,10 +7,10 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/secret/inspect_test.go b/cli/command/secret/inspect_test.go index eef789d80b..188f6a7c4c 100644 --- a/cli/command/secret/inspect_test.go +++ b/cli/command/secret/inspect_test.go @@ -6,12 +6,12 @@ import ( "testing" "time" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/secret/ls_test.go b/cli/command/secret/ls_test.go index cced136106..2509e24dc3 100644 --- a/cli/command/secret/ls_test.go +++ b/cli/command/secret/ls_test.go @@ -7,13 +7,13 @@ import ( "time" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/secret/remove_test.go b/cli/command/secret/remove_test.go index f3e427f7d7..accb3ea042 100644 --- a/cli/command/secret/remove_test.go +++ b/cli/command/secret/remove_test.go @@ -5,8 +5,8 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/service/client_test.go b/cli/command/service/client_test.go index a886ff6a6d..ebdfe7ea74 100644 --- a/cli/command/service/client_test.go +++ b/cli/command/service/client_test.go @@ -6,7 +6,7 @@ import ( "github.com/docker/docker/client" "golang.org/x/net/context" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" ) type fakeClient struct { diff --git a/cli/command/service/list_test.go b/cli/command/service/list_test.go index 297f5f9b17..679c733701 100644 --- a/cli/command/service/list_test.go +++ b/cli/command/service/list_test.go @@ -3,7 +3,7 @@ package service import ( "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/gotestyourself/gotestyourself/golden" diff --git a/cli/command/service/ps_test.go b/cli/command/service/ps_test.go index 083c58f91f..1913202d33 100644 --- a/cli/command/service/ps_test.go +++ b/cli/command/service/ps_test.go @@ -3,7 +3,7 @@ package service import ( "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/cli/opts" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" diff --git a/cli/command/service/rollback_test.go b/cli/command/service/rollback_test.go index 48be5076d7..c063676645 100644 --- a/cli/command/service/rollback_test.go +++ b/cli/command/service/rollback_test.go @@ -6,10 +6,10 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/stretchr/testify/assert" "golang.org/x/net/context" ) diff --git a/cli/command/stack/deploy_composefile_test.go b/cli/command/stack/deploy_composefile_test.go index 2e6906f69d..684e688c03 100644 --- a/cli/command/stack/deploy_composefile_test.go +++ b/cli/command/stack/deploy_composefile_test.go @@ -6,9 +6,9 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test/network" + "github.com/docker/cli/internal/test/network" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/fs" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/stack/deploy_test.go b/cli/command/stack/deploy_test.go index f91a825f9b..f10fecd1af 100644 --- a/cli/command/stack/deploy_test.go +++ b/cli/command/stack/deploy_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/docker/cli/cli/compose/convert" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/stretchr/testify/assert" diff --git a/cli/command/stack/list_test.go b/cli/command/stack/list_test.go index 0ae5bc78ce..90d32e0f99 100644 --- a/cli/command/stack/list_test.go +++ b/cli/command/stack/list_test.go @@ -4,12 +4,12 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/stack/ps_test.go b/cli/command/stack/ps_test.go index 249e1b656a..282e5e01da 100644 --- a/cli/command/stack/ps_test.go +++ b/cli/command/stack/ps_test.go @@ -6,12 +6,12 @@ import ( "time" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/stack/remove_test.go b/cli/command/stack/remove_test.go index 88ad8a07d3..c44977c0c6 100644 --- a/cli/command/stack/remove_test.go +++ b/cli/command/stack/remove_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/stack/services_test.go b/cli/command/stack/services_test.go index fcc82ec885..2f6d6e0e00 100644 --- a/cli/command/stack/services_test.go +++ b/cli/command/stack/services_test.go @@ -5,12 +5,12 @@ import ( "testing" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/pkg/errors" "github.com/stretchr/testify/assert" diff --git a/cli/command/swarm/ca_test.go b/cli/command/swarm/ca_test.go index a1a77d59c2..cb2668293a 100644 --- a/cli/command/swarm/ca_test.go +++ b/cli/command/swarm/ca_test.go @@ -7,9 +7,9 @@ import ( "testing" "time" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/cli/command/swarm/init_test.go b/cli/command/swarm/init_test.go index 5991c3dd54..24a1b90717 100644 --- a/cli/command/swarm/init_test.go +++ b/cli/command/swarm/init_test.go @@ -5,7 +5,7 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/gotestyourself/gotestyourself/golden" diff --git a/cli/command/swarm/join_test.go b/cli/command/swarm/join_test.go index d9f5215b7b..69546cd8cf 100644 --- a/cli/command/swarm/join_test.go +++ b/cli/command/swarm/join_test.go @@ -5,10 +5,10 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/swarm/join_token_test.go b/cli/command/swarm/join_token_test.go index da1b795321..6ab503113a 100644 --- a/cli/command/swarm/join_token_test.go +++ b/cli/command/swarm/join_token_test.go @@ -5,13 +5,13 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/swarm/leave_test.go b/cli/command/swarm/leave_test.go index b5b672fe47..cd8aeb8297 100644 --- a/cli/command/swarm/leave_test.go +++ b/cli/command/swarm/leave_test.go @@ -5,8 +5,8 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/swarm/unlock_key_test.go b/cli/command/swarm/unlock_key_test.go index 0dc9fb5f08..97c04fc628 100644 --- a/cli/command/swarm/unlock_key_test.go +++ b/cli/command/swarm/unlock_key_test.go @@ -5,13 +5,13 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/swarm/unlock_test.go b/cli/command/swarm/unlock_test.go index 6663df1dba..c7aee0a3c7 100644 --- a/cli/command/swarm/unlock_test.go +++ b/cli/command/swarm/unlock_test.go @@ -6,10 +6,10 @@ import ( "testing" "github.com/docker/cli/cli/command" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/swarm/update_test.go b/cli/command/swarm/update_test.go index 3c928a2e0d..e2a0033916 100644 --- a/cli/command/swarm/update_test.go +++ b/cli/command/swarm/update_test.go @@ -6,13 +6,13 @@ import ( "testing" "time" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/system/prune_test.go b/cli/command/system/prune_test.go index 669166c998..0d694ce066 100644 --- a/cli/command/system/prune_test.go +++ b/cli/command/system/prune_test.go @@ -3,7 +3,7 @@ package system import ( "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/task/print_test.go b/cli/command/task/print_test.go index 19e02c6d18..04ae1bb0ef 100644 --- a/cli/command/task/print_test.go +++ b/cli/command/task/print_test.go @@ -6,10 +6,10 @@ import ( "github.com/docker/cli/cli/command/formatter" "github.com/docker/cli/cli/command/idresolver" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "golang.org/x/net/context" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" + . "github.com/docker/cli/internal/test/builders" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/gotestyourself/gotestyourself/golden" diff --git a/cli/command/volume/create_test.go b/cli/command/volume/create_test.go index cf84195f45..d7c6cb5857 100644 --- a/cli/command/volume/create_test.go +++ b/cli/command/volume/create_test.go @@ -6,10 +6,10 @@ import ( "strings" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/volume/inspect_test.go b/cli/command/volume/inspect_test.go index fccccf4442..934e9b27d8 100644 --- a/cli/command/volume/inspect_test.go +++ b/cli/command/volume/inspect_test.go @@ -5,12 +5,12 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/volume/list_test.go b/cli/command/volume/list_test.go index 0eab71dc45..264e1010a1 100644 --- a/cli/command/volume/list_test.go +++ b/cli/command/volume/list_test.go @@ -5,14 +5,14 @@ import ( "testing" "github.com/docker/cli/cli/config/configfile" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" volumetypes "github.com/docker/docker/api/types/volume" "github.com/pkg/errors" // Import builders to get the builder function as package function - . "github.com/docker/cli/cli/internal/test/builders" - "github.com/docker/docker/pkg/testutil" + . "github.com/docker/cli/internal/test/builders" + "github.com/docker/cli/internal/test/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/stretchr/testify/assert" ) diff --git a/cli/command/volume/prune_test.go b/cli/command/volume/prune_test.go index ccb5b15e39..d913f535db 100644 --- a/cli/command/volume/prune_test.go +++ b/cli/command/volume/prune_test.go @@ -8,10 +8,10 @@ import ( "testing" "github.com/docker/cli/cli/command" - "github.com/docker/cli/cli/internal/test" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/filters" - "github.com/docker/docker/pkg/testutil" "github.com/gotestyourself/gotestyourself/golden" "github.com/gotestyourself/gotestyourself/skip" "github.com/pkg/errors" diff --git a/cli/command/volume/remove_test.go b/cli/command/volume/remove_test.go index c10b18cc47..fdfb1d788f 100644 --- a/cli/command/volume/remove_test.go +++ b/cli/command/volume/remove_test.go @@ -4,8 +4,8 @@ import ( "io/ioutil" "testing" - "github.com/docker/cli/cli/internal/test" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test" + "github.com/docker/cli/internal/test/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" ) diff --git a/cli/compose/loader/volume_test.go b/cli/compose/loader/volume_test.go index f1b90fe8ea..a116683327 100644 --- a/cli/compose/loader/volume_test.go +++ b/cli/compose/loader/volume_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/docker/cli/cli/compose/types" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test/testutil" "github.com/stretchr/testify/assert" ) diff --git a/cli/config/config_test.go b/cli/config/config_test.go index c885d3e724..25ed97cdf1 100644 --- a/cli/config/config_test.go +++ b/cli/config/config_test.go @@ -10,8 +10,8 @@ import ( "github.com/docker/cli/cli/config/configfile" "github.com/docker/cli/cli/config/credentials" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/pkg/homedir" - "github.com/docker/docker/pkg/testutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/cli/config/credentials/native_store_test.go b/cli/config/credentials/native_store_test.go index 582c2bd598..c85e3f0d18 100644 --- a/cli/config/credentials/native_store_test.go +++ b/cli/config/credentials/native_store_test.go @@ -8,10 +8,10 @@ import ( "strings" "testing" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker-credential-helpers/client" "github.com/docker/docker-credential-helpers/credentials" "github.com/docker/docker/api/types" - "github.com/docker/docker/pkg/testutil" "github.com/pkg/errors" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/cli/internal/test/builders/config.go b/internal/test/builders/config.go similarity index 100% rename from cli/internal/test/builders/config.go rename to internal/test/builders/config.go diff --git a/cli/internal/test/builders/doc.go b/internal/test/builders/doc.go similarity index 100% rename from cli/internal/test/builders/doc.go rename to internal/test/builders/doc.go diff --git a/cli/internal/test/builders/node.go b/internal/test/builders/node.go similarity index 100% rename from cli/internal/test/builders/node.go rename to internal/test/builders/node.go diff --git a/cli/internal/test/builders/secret.go b/internal/test/builders/secret.go similarity index 100% rename from cli/internal/test/builders/secret.go rename to internal/test/builders/secret.go diff --git a/cli/internal/test/builders/service.go b/internal/test/builders/service.go similarity index 100% rename from cli/internal/test/builders/service.go rename to internal/test/builders/service.go diff --git a/cli/internal/test/builders/swarm.go b/internal/test/builders/swarm.go similarity index 100% rename from cli/internal/test/builders/swarm.go rename to internal/test/builders/swarm.go diff --git a/cli/internal/test/builders/task.go b/internal/test/builders/task.go similarity index 100% rename from cli/internal/test/builders/task.go rename to internal/test/builders/task.go diff --git a/cli/internal/test/builders/volume.go b/internal/test/builders/volume.go similarity index 100% rename from cli/internal/test/builders/volume.go rename to internal/test/builders/volume.go diff --git a/cli/internal/test/cli.go b/internal/test/cli.go similarity index 100% rename from cli/internal/test/cli.go rename to internal/test/cli.go diff --git a/cli/internal/test/doc.go b/internal/test/doc.go similarity index 100% rename from cli/internal/test/doc.go rename to internal/test/doc.go diff --git a/cli/internal/test/network/client.go b/internal/test/network/client.go similarity index 100% rename from cli/internal/test/network/client.go rename to internal/test/network/client.go diff --git a/cli/internal/test/store.go b/internal/test/store.go similarity index 100% rename from cli/internal/test/store.go rename to internal/test/store.go diff --git a/internal/test/testutil/assert.go b/internal/test/testutil/assert.go new file mode 100644 index 0000000000..cf5d2c9876 --- /dev/null +++ b/internal/test/testutil/assert.go @@ -0,0 +1,15 @@ +package testutil + +import ( + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +// ErrorContains checks that the error is not nil, and contains the expected +// substring. +// TODO: replace with testify if https://github.com/stretchr/testify/pull/486 +// is accepted. +func ErrorContains(t require.TestingT, err error, expectedError string) { + require.Error(t, err) + assert.Contains(t, err.Error(), expectedError) +} diff --git a/opts/mount_test.go b/opts/mount_test.go index 72aaa6258e..aba18a226f 100644 --- a/opts/mount_test.go +++ b/opts/mount_test.go @@ -4,8 +4,8 @@ import ( "os" "testing" + "github.com/docker/cli/internal/test/testutil" mounttypes "github.com/docker/docker/api/types/mount" - "github.com/docker/docker/pkg/testutil" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/opts/network_test.go b/opts/network_test.go index ac0b2115a1..d19823dc1d 100644 --- a/opts/network_test.go +++ b/opts/network_test.go @@ -3,7 +3,7 @@ package opts import ( "testing" - "github.com/docker/docker/pkg/testutil" + "github.com/docker/cli/internal/test/testutil" "github.com/stretchr/testify/assert" ) diff --git a/opts/port_test.go b/opts/port_test.go index f84b58453b..fb4ffe47c2 100644 --- a/opts/port_test.go +++ b/opts/port_test.go @@ -3,8 +3,8 @@ package opts import ( "testing" + "github.com/docker/cli/internal/test/testutil" "github.com/docker/docker/api/types/swarm" - "github.com/docker/docker/pkg/testutil" "github.com/stretchr/testify/assert" ) diff --git a/vendor/github.com/docker/docker/pkg/testutil/helpers.go b/vendor/github.com/docker/docker/pkg/testutil/helpers.go deleted file mode 100644 index c291148712..0000000000 --- a/vendor/github.com/docker/docker/pkg/testutil/helpers.go +++ /dev/null @@ -1,33 +0,0 @@ -package testutil - -import ( - "strings" - "unicode" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -// ErrorContains checks that the error is not nil, and contains the expected -// substring. -func ErrorContains(t require.TestingT, err error, expectedError string) { - require.Error(t, err) - assert.Contains(t, err.Error(), expectedError) -} - -// EqualNormalizedString compare the actual value to the expected value after applying the specified -// transform function. It fails the test if these two transformed string are not equal. -// For example `EqualNormalizedString(t, RemoveSpace, "foo\n", "foo")` wouldn't fail the test as -// spaces (and thus '\n') are removed before comparing the string. -func EqualNormalizedString(t require.TestingT, transformFun func(rune) rune, actual, expected string) { - require.Equal(t, strings.Map(transformFun, expected), strings.Map(transformFun, actual)) -} - -// RemoveSpace returns -1 if the specified runes is considered as a space (unicode) -// and the rune itself otherwise. -func RemoveSpace(r rune) rune { - if unicode.IsSpace(r) { - return -1 - } - return r -} diff --git a/vendor/github.com/docker/docker/pkg/testutil/pkg.go b/vendor/github.com/docker/docker/pkg/testutil/pkg.go deleted file mode 100644 index 110b2e6a79..0000000000 --- a/vendor/github.com/docker/docker/pkg/testutil/pkg.go +++ /dev/null @@ -1 +0,0 @@ -package testutil diff --git a/vendor/github.com/docker/docker/pkg/testutil/utils.go b/vendor/github.com/docker/docker/pkg/testutil/utils.go deleted file mode 100644 index 0522dde2b1..0000000000 --- a/vendor/github.com/docker/docker/pkg/testutil/utils.go +++ /dev/null @@ -1,218 +0,0 @@ -package testutil - -import ( - "archive/tar" - "errors" - "fmt" - "io" - "io/ioutil" - "os" - "os/exec" - "path/filepath" - "reflect" - "strings" - "syscall" - "time" - - "github.com/docker/docker/pkg/stringutils" - "github.com/docker/docker/pkg/system" -) - -// IsKilled process the specified error and returns whether the process was killed or not. -func IsKilled(err error) bool { - if exitErr, ok := err.(*exec.ExitError); ok { - status, ok := exitErr.Sys().(syscall.WaitStatus) - if !ok { - return false - } - // status.ExitStatus() is required on Windows because it does not - // implement Signal() nor Signaled(). Just check it had a bad exit - // status could mean it was killed (and in tests we do kill) - return (status.Signaled() && status.Signal() == os.Kill) || status.ExitStatus() != 0 - } - return false -} - -func runCommandWithOutput(cmd *exec.Cmd) (output string, exitCode int, err error) { - out, err := cmd.CombinedOutput() - exitCode = system.ProcessExitCode(err) - output = string(out) - return -} - -// RunCommandPipelineWithOutput runs the array of commands with the output -// of each pipelined with the following (like cmd1 | cmd2 | cmd3 would do). -// It returns the final output, the exitCode different from 0 and the error -// if something bad happened. -func RunCommandPipelineWithOutput(cmds ...*exec.Cmd) (output string, exitCode int, err error) { - if len(cmds) < 2 { - return "", 0, errors.New("pipeline does not have multiple cmds") - } - - // connect stdin of each cmd to stdout pipe of previous cmd - for i, cmd := range cmds { - if i > 0 { - prevCmd := cmds[i-1] - cmd.Stdin, err = prevCmd.StdoutPipe() - - if err != nil { - return "", 0, fmt.Errorf("cannot set stdout pipe for %s: %v", cmd.Path, err) - } - } - } - - // start all cmds except the last - for _, cmd := range cmds[:len(cmds)-1] { - if err = cmd.Start(); err != nil { - return "", 0, fmt.Errorf("starting %s failed with error: %v", cmd.Path, err) - } - } - - defer func() { - var pipeErrMsgs []string - // wait all cmds except the last to release their resources - for _, cmd := range cmds[:len(cmds)-1] { - if pipeErr := cmd.Wait(); pipeErr != nil { - pipeErrMsgs = append(pipeErrMsgs, fmt.Sprintf("command %s failed with error: %v", cmd.Path, pipeErr)) - } - } - if len(pipeErrMsgs) > 0 && err == nil { - err = fmt.Errorf("pipelineError from Wait: %v", strings.Join(pipeErrMsgs, ", ")) - } - }() - - // wait on last cmd - return runCommandWithOutput(cmds[len(cmds)-1]) -} - -// ConvertSliceOfStringsToMap converts a slices of string in a map -// with the strings as key and an empty string as values. -func ConvertSliceOfStringsToMap(input []string) map[string]struct{} { - output := make(map[string]struct{}) - for _, v := range input { - output[v] = struct{}{} - } - return output -} - -// CompareDirectoryEntries compares two sets of FileInfo (usually taken from a directory) -// and returns an error if different. -func CompareDirectoryEntries(e1 []os.FileInfo, e2 []os.FileInfo) error { - var ( - e1Entries = make(map[string]struct{}) - e2Entries = make(map[string]struct{}) - ) - for _, e := range e1 { - e1Entries[e.Name()] = struct{}{} - } - for _, e := range e2 { - e2Entries[e.Name()] = struct{}{} - } - if !reflect.DeepEqual(e1Entries, e2Entries) { - return fmt.Errorf("entries differ") - } - return nil -} - -// ListTar lists the entries of a tar. -func ListTar(f io.Reader) ([]string, error) { - tr := tar.NewReader(f) - var entries []string - - for { - th, err := tr.Next() - if err == io.EOF { - // end of tar archive - return entries, nil - } - if err != nil { - return entries, err - } - entries = append(entries, th.Name) - } -} - -// RandomTmpDirPath provides a temporary path with rand string appended. -// does not create or checks if it exists. -func RandomTmpDirPath(s string, platform string) string { - tmp := "/tmp" - if platform == "windows" { - tmp = os.Getenv("TEMP") - } - path := filepath.Join(tmp, fmt.Sprintf("%s.%s", s, stringutils.GenerateRandomAlphaOnlyString(10))) - if platform == "windows" { - return filepath.FromSlash(path) // Using \ - } - return filepath.ToSlash(path) // Using / -} - -// ConsumeWithSpeed reads chunkSize bytes from reader before sleeping -// for interval duration. Returns total read bytes. Send true to the -// stop channel to return before reading to EOF on the reader. -func ConsumeWithSpeed(reader io.Reader, chunkSize int, interval time.Duration, stop chan bool) (n int, err error) { - buffer := make([]byte, chunkSize) - for { - var readBytes int - readBytes, err = reader.Read(buffer) - n += readBytes - if err != nil { - if err == io.EOF { - err = nil - } - return - } - select { - case <-stop: - return - case <-time.After(interval): - } - } -} - -// ParseCgroupPaths parses 'procCgroupData', which is output of '/proc//cgroup', and returns -// a map which cgroup name as key and path as value. -func ParseCgroupPaths(procCgroupData string) map[string]string { - cgroupPaths := map[string]string{} - for _, line := range strings.Split(procCgroupData, "\n") { - parts := strings.Split(line, ":") - if len(parts) != 3 { - continue - } - cgroupPaths[parts[1]] = parts[2] - } - return cgroupPaths -} - -// ChannelBuffer holds a chan of byte array that can be populate in a goroutine. -type ChannelBuffer struct { - C chan []byte -} - -// Write implements Writer. -func (c *ChannelBuffer) Write(b []byte) (int, error) { - c.C <- b - return len(b), nil -} - -// Close closes the go channel. -func (c *ChannelBuffer) Close() error { - close(c.C) - return nil -} - -// ReadTimeout reads the content of the channel in the specified byte array with -// the specified duration as timeout. -func (c *ChannelBuffer) ReadTimeout(p []byte, n time.Duration) (int, error) { - select { - case b := <-c.C: - return copy(p[0:], b), nil - case <-time.After(n): - return -1, fmt.Errorf("timeout reading from channel") - } -} - -// ReadBody read the specified ReadCloser content and returns it -func ReadBody(b io.ReadCloser) ([]byte, error) { - defer b.Close() - return ioutil.ReadAll(b) -}