Skip to content

[test-integration] improvements #31410

@vdemeester

Description

@vdemeester

Several improvements can be done on the integration test side of docker/docker. This issue is there to list them and track the work on it.

  • Remove utils_test.go, latest runCommandWithOutput appearance
  • Remove docker_utils_test.go
  • Use API for environment instead of cli
  • Make all test suite manage their own deamon. This should allow to use always the same method (instead of currently either dockerCmd or s.d.Cmd) and this would fix start integration-cli daemon in go rather than bash #17129
    Using cli.Docker(...) instead of dockerCmd and cli.Docker(..., cli.Daemon(s.d)) instead of s.d.Cmd.
  • Replace request deprecated function (SockRequest, SockRequestRaw) usage to the new ones (Get, Post, Put, Do, …). @vdemeester — most of those could also use the client's package
  • Freeze test-integration-cli and create test-integration that only does api tests. cli test are docker related tests and should be on another repository (owned by docker). @vdemeester Introduce test-integration target (and deprecate/freeze test-integration-cli) #33344
  • Extract suites in their own packages
    • start with the API suite that is different enough from the other
    • Create an ExperimentalTestSuite and remove the current experimental build (experimental is not a different binary anymore, we just need a suite where the deamon is with --experimental). @vdemeester
    • Update this to insert other potential suites
  • Maintain integration test suite (probably should be an external issue in the future)
    • Make test-integration more self-contained (limit the number of external service dependency like the hub)
    • [x] docker/docker-e2e integration @vdemeester
  • List and remove integration tests that could be unit test. One example is some cli-only tests. These should be removed once [tests] cli unit tests #31217 is taken care of. I'll also list the one I think could be replaced by unit-test in another issue.

/cc @icecrime @thaJeztah @docker/core-engine-maintainers

Metadata

Metadata

Assignees

Labels

area/testingkind/enhancementEnhancements are not bugs or new features but can improve usability or performance.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions