Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Checklist] Move integration-cli tests to API tests #34623

Open
4 of 8 tasks
dnephin opened this issue Aug 24, 2017 · 15 comments
Open
4 of 8 tasks

[Checklist] Move integration-cli tests to API tests #34623

dnephin opened this issue Aug 24, 2017 · 15 comments
Labels
area/testing roadmap status/needs-attention Calls for a collective discussion during a review session

Comments

@dnephin
Copy link
Member

dnephin commented Aug 24, 2017

Related to #32866

This issue is a checklist for prioritizing specific tests that need to be removed from the integration-cli suite, and moved to the new API integration suite.

Deprioritized (test was fixed in place)

  • DockerSwarmSuite.TestServiceLogs
  • DockerSwarmSuite.TestSwarmNetworkPluginV2

If any test also requires additional testing of the CLI please add them to the docker/cli list as well: docker/cli#201

@dnephin
Copy link
Member Author

dnephin commented Aug 24, 2017

@andrewhsu @tiborvass If you discover any test that fail in the integration test suite, please add them here (or comment and I can add them).

@andrewhsu
Copy link
Member

@andrewhsu

@andrewhsu
Copy link
Member

For reference, the problem with these tests are that they always fail with the latest code from docker/cli. Just a problem with the test, not a problem with the runtime code as demonstrated in docker/docker-ce#140

@andrewhsu
Copy link
Member

Current situation for running the test-integration tests from moby/moby 184cea5 with a cli compiled from docker/cli e636a53 (which is the latest git commits from the respective master branches as of this morning) have more failures. Analyzing the list of failures with a helper script that checks for the 8 expected failures:

$ ./check_failures.sh https://jenkins.dockerproject.org/job/docker-integration-tests/108/consoleText
FOR: https://jenkins.dockerproject.org/job/docker-integration-tests/108/consoleText

Passed (thought would fail):
DockerSwarmSuite.TestServiceLogs
DockerSwarmSuite.TestSwarmNetworkPluginV2
DockerSwarmSuite.TestSwarmServicePsMultipleServiceIDs

Failed (should fail)
DockerSuite.TestRmiContainerImageNotFound
DockerSuite.TestRmiImageIDForceWithRunningContainersAndMultipleTags
DockerSuite.TestRunAttachDetachFromInvalidFlag
DockerSuite.TestRunWithNanoCPUs
DockerSuite.TestUpdateWithNanoCPUs

Failed (thought would pass):
DockerDaemonSuite.TestVolumePlugin
DockerNetworkSuite.TestConntrackFlowsLeak
DockerRegistrySuite.TestCreateByDigest
DockerRegistrySuite.TestRunByDigest
DockerRegistrySuite.TestRunImplicitPullWithNoTag
DockerSuite.TestRenameInvalidName
DockerTrustSuite.TestTrustedCreate
DockerTrustSuite.TestTrustedCreateFromBadTrustServer
DockerTrustSuite.TestTrustedIsolatedCreate
DockerTrustSuite.TestTrustedRun
DockerTrustSuite.TestTrustedRunFromBadTrustServer

Some of the errors in the Failed (thought would pass) sections may be legit bugs. Possibly DockerNetworkSuite.TestConntrackFlowsLeak. We're doing some analysis on them now.

@seemethere
Copy link
Contributor

seemethere commented Aug 31, 2017

Confirmed TestConntrackFlowsLeak, issue #34693

Edit: issue has been moved to docker/cli#488

@dnephin
Copy link
Member Author

dnephin commented Aug 31, 2017

It looks like most of these failures are fixed by docker/cli#488

The only exception is TestRenameInvalidName, which needs to be deleted, it's testing the CLI output strings which is just a problem with the test. We already test that in `docker/cli. I will open a PR to remove it.

@seemethere
Copy link
Contributor

Can confirm that docker/cli#488 remedies all issues aside from known failures and TestRenameInvalidName

@dnephin
Copy link
Member Author

dnephin commented Aug 31, 2017

#34695 fixes TestRenameInvalidName

@andrewhsu
Copy link
Member

I think the 5 DockerSuite tests are the only ones that still fail on a regular basis with the code from master branch of docker/cli and moby/moby.

@seemethere
Copy link
Contributor

Can confirm, from this morning (September 1, 2017) builds:

❯ bash ~/scripts/check_failures.sh https://jenkins.dockerproject.org/job/docker-integration-tests/110/consoleText
FOR: https://jenkins.dockerproject.org/job/docker-integration-tests/110/consoleText

Passed (thought would fail):
DockerSwarmSuite.TestServiceLogs
DockerSwarmSuite.TestSwarmNetworkPluginV2
DockerSwarmSuite.TestSwarmServicePsMultipleServiceIDs

Failed (should fail)
DockerSuite.TestRmiContainerImageNotFound
DockerSuite.TestRmiImageIDForceWithRunningContainersAndMultipleTags
DockerSuite.TestRunAttachDetachFromInvalidFlag
DockerSuite.TestRunWithNanoCPUs
DockerSuite.TestUpdateWithNanoCPUs

Failed (thought would pass):
DockerSuite.TestRenameInvalidName

@thaJeztah
Copy link
Member

ping @cyli @n4ss could you help with porting the DockerTrustSuite tests? Looks like they still have to be disabled in the Docker CE repository CI, when running with a new Docker CLI.

@thaJeztah thaJeztah added the status/needs-attention Calls for a collective discussion during a review session label Feb 20, 2018
@seemethere
Copy link
Contributor

seemethere commented Feb 26, 2018

@thaJeztah @cyli @n4ss This is a major pain point for us when cutting new branches / doing nightly testing for Docker CE.

ping @andrewhsu

@n4ss
Copy link

n4ss commented Feb 26, 2018

@thaJeztah @seemethere yep sure, I'll port them!

@thaJeztah
Copy link
Member

thaJeztah commented Feb 27, 2018

@n4ss actually ... I suspect those tests need the CLI code, so should probably be moved to the docker/cli repository (I wasn't really thinking when adding that comment); here's the list of tests that need to be looked into;

DockerTrust tests (see docker/docker-ce#397, and #34623 (comment))

  • DockerTrustSuite.TestTrustedBuildTagFromReleasesRole
  • DockerTrustSuite.TestTrustedBuildTagIgnoresOtherDelegationRoles
  • DockerTrustSuite.TestTrustedPullReadsFromReleasesRole
  • DockerTrustSuite.TestTrustedPullIgnoresOtherDelegationRoles
  • DockerTrustSuite.TestTrustedPush
  • DockerTrustSuite.TestTrustedPushWithIncorrectPassphraseForNonRoot

@vdemeester
Copy link
Member

@thaJeztah yes, the DockerTrustSuite should be ported to docker/cli and removed from moby/moby as they are "cli-only". @n4ss if you need help porting them, feel free to ping me 😉

@vdemeester vdemeester self-assigned this Mar 1, 2018
@vdemeester vdemeester removed their assignment Oct 2, 2018
@thaJeztah thaJeztah added this to To do in Improving CI Jun 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/testing roadmap status/needs-attention Calls for a collective discussion during a review session
Projects
Improving CI
  
To do
Development

No branches or pull requests

6 participants