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

integration-cli: make some tests less noisy and easier debuggable #40115

Merged
merged 5 commits into from
Oct 24, 2019

Conversation

thaJeztah
Copy link
Member

see individual commits for details

@thaJeztah
Copy link
Member Author

welp! why does CI not show the TestCp tests? on other PR's, I can see them running (e.g. TestDockerSuite/TestCpFromCaseC in https://ci.docker.com/public/job/moby/job/PR-40111/1/execution/node/220/log/?consoleFull), but on this PR they're missing https://ci.docker.com/public/job/moby/job/PR-40115/2/execution/node/265/log/?consoleFull

Is something in the filter we use in the Jenkinsfile causing them to not be found?

TEST_INTEGRATION_DEST=2 CONTAINER_NAME=${CONTAINER_NAME}-2 TEST_SKIP_INTEGRATION=1 TESTFLAGS="-test.run Test(DockerSuite|DockerNetworkSuite|DockerHubPullSuite|DockerRegistrySuite|DockerSchema1RegistrySuite|DockerRegistryAuthTokenSuite|DockerRegistryAuthHtpasswdSuite)/" run_tests &

@thaJeztah
Copy link
Member Author

OK something definitely weird; running locally, the tests are included;

make TEST_SKIP_INTEGRATION=1 TESTFLAGS="-test.run TestDockerSuite/" test-integration

...
=== RUN   TestDockerSuite/TestContainersInMultipleNetworks
=== RUN   TestDockerSuite/TestContainersInUserDefinedNetwork
=== RUN   TestDockerSuite/TestContainersNetworkIsolation
=== RUN   TestDockerSuite/TestCopyAndRestart
=== RUN   TestDockerSuite/TestCopyCreatedContainer
=== RUN   TestDockerSuite/TestCpAbsolutePath
=== RUN   TestDockerSuite/TestCpAbsoluteSymlink
=== RUN   TestDockerSuite/TestCpCheckDestOwnership
=== RUN   TestDockerSuite/TestCpFromCaseA
=== RUN   TestDockerSuite/TestCpFromCaseB
=== RUN   TestDockerSuite/TestCpFromCaseC
=== RUN   TestDockerSuite/TestCpFromCaseD
=== RUN   TestDockerSuite/TestCpFromCaseE
=== RUN   TestDockerSuite/TestCpFromCaseF
=== RUN   TestDockerSuite/TestCpFromCaseG
=== RUN   TestDockerSuite/TestCpFromCaseH
=== RUN   TestDockerSuite/TestCpFromCaseI
=== RUN   TestDockerSuite/TestCpFromCaseJ
=== RUN   TestDockerSuite/TestCpFromSymlinkDestination
=== RUN   TestDockerSuite/TestCpFromSymlinkToDirectory
=== RUN   TestDockerSuite/TestCpGarbagePath
=== RUN   TestDockerSuite/TestCpLocalOnly
=== RUN   TestDockerSuite/TestCpNameHasColon
=== RUN   TestDockerSuite/TestCpRelativePath
=== RUN   TestDockerSuite/TestCpSpecialFiles
=== RUN   TestDockerSuite/TestCpSymlinkComponent
=== RUN   TestDockerSuite/TestCpSymlinkFromConToHostFollowSymlink
=== RUN   TestDockerSuite/TestCpToCaseA
=== RUN   TestDockerSuite/TestCpToCaseB
=== RUN   TestDockerSuite/TestCpToCaseC
=== RUN   TestDockerSuite/TestCpToCaseD
=== RUN   TestDockerSuite/TestCpToCaseE
=== RUN   TestDockerSuite/TestCpToCaseF
=== RUN   TestDockerSuite/TestCpToCaseG
=== RUN   TestDockerSuite/TestCpToCaseH
=== RUN   TestDockerSuite/TestCpToCaseI
=== RUN   TestDockerSuite/TestCpToCaseJ
=== RUN   TestDockerSuite/TestCpToContainerWithPermissions
...

While on this PR, the only tests that are run from the TestDockerSuite are:

=== RUN   TestDockerSuite/TestAPIClientVersionOldNotSupported
 === RUN   TestDockerSuite/TestAPICreateDeletePredefinedNetworks
 === RUN   TestDockerSuite/TestAPIErrorJSON
 === RUN   TestDockerSuite/TestAPIErrorNotFoundJSON
 === RUN   TestDockerSuite/TestAPIErrorNotFoundPlainText
 === RUN   TestDockerSuite/TestAPIErrorPlainText
 === RUN   TestDockerSuite/TestAPIGetEnabledCORS
 === RUN   TestDockerSuite/TestAPIImagesDelete
 === RUN   TestDockerSuite/TestAPIImagesFilter
 === RUN   TestDockerSuite/TestAPIImagesHistory
 === RUN   TestDockerSuite/TestAPIImagesImportBadSrc
 === RUN   TestDockerSuite/TestAPIImagesSaveAndLoad
 === RUN   TestDockerSuite/TestAPIImagesSearchJSONContentType
 === RUN   TestDockerSuite/TestAPIImagesSizeCompatibility
 === RUN   TestDockerSuite/TestAPINetworkConnectDisconnect
 === RUN   TestDockerSuite/TestAPINetworkCreateCheckDuplicate
 === RUN   TestDockerSuite/TestAPINetworkFilter
 === RUN   TestDockerSuite/TestAPINetworkGetDefaults
 === RUN   TestDockerSuite/TestAPINetworkIPAMMultipleBridgeNetworks
 === RUN   TestDockerSuite/TestAPINetworkInspectBridge
 === RUN   TestDockerSuite/TestAPINetworkInspectUserDefinedNetwork
 === RUN   TestDockerSuite/TestAPIOptionsRoute
 === RUN   TestDockerSuite/TestAPIStatsContainerNotFound
 === RUN   TestDockerSuite/TestAPIStatsNetworkStats
 === RUN   TestDockerSuite/TestAPIStatsNetworkStatsVersioning
 === RUN   TestDockerSuite/TestAPIStatsNoStreamConnectedContainers
 === RUN   TestDockerSuite/TestAPIStatsNoStreamGetCpu
 === RUN   TestDockerSuite/TestAPIStatsStoppedContainerInGoroutines
 === RUN   TestDockerSuite/TestAppArmorDeniesChmodProc
 === RUN   TestDockerSuite/TestAppArmorDeniesPtrace
 === RUN   TestDockerSuite/TestAppArmorTraceSelf
 === RUN   TestDockerSuite/TestAttachAfterDetach
 === RUN   TestDockerSuite/TestAttachClosedOnContainerStop
 === RUN   TestDockerSuite/TestAttachDetach
 === RUN   TestDockerSuite/TestAttachDisconnect
 === RUN   TestDockerSuite/TestAttachMultipleAndRestart
 === RUN   TestDockerSuite/TestAttachPausedContainer
 === RUN   TestDockerSuite/TestAttachTTYWithoutStdin
 === RUN   TestDockerSuite/TestBuildAPIBuildGitWithF
 === RUN   TestDockerSuite/TestBuildAPIDockerFileRemote
 === RUN   TestDockerSuite/TestBuildAPIDoubleDockerfile
 === RUN   TestDockerSuite/TestBuildAPILowerDockerfile
 === RUN   TestDockerSuite/TestBuildAPIRemoteTarballContext
 === RUN   TestDockerSuite/TestBuildAPIRemoteTarballContextWithCustomDockerfile
 === RUN   TestDockerSuite/TestBuildAPIUnnormalizedTarPaths
 === RUN   TestDockerSuite/TestBuildAddAndCopyFileWithWhitespace
 === RUN   TestDockerSuite/TestBuildAddBadLinks
 === RUN   TestDockerSuite/TestBuildAddBadLinksVolume
 === RUN   TestDockerSuite/TestBuildAddBrokenTar
 === RUN   TestDockerSuite/TestBuildAddCacheOnFileChange
 === RUN   TestDockerSuite/TestBuildAddChangeOwnership
 === RUN   TestDockerSuite/TestBuildAddCurrentDirWithCache
 === RUN   TestDockerSuite/TestBuildAddCurrentDirWithoutCache
 === RUN   TestDockerSuite/TestBuildAddDirContentToExistingDir
 === RUN   TestDockerSuite/TestBuildAddDirContentToRoot
 === RUN   TestDockerSuite/TestBuildAddFileNotFound
 === RUN   TestDockerSuite/TestBuildAddLocalAndRemoteFilesWithAndWithoutCache
 === RUN   TestDockerSuite/TestBuildAddMultipleLocalFileWithAndWithoutCache
 === RUN   TestDockerSuite/TestBuildAddNonTar
 === RUN   TestDockerSuite/TestBuildAddOrCopyEtcToRootShouldNotConflict
 === RUN   TestDockerSuite/TestBuildAddPreservesFilesSpecialBits
 === RUN   TestDockerSuite/TestBuildAddRemoteFileMTime
 === RUN   TestDockerSuite/TestBuildAddRemoteFileWithAndWithoutCache
 === RUN   TestDockerSuite/TestBuildAddRemoteNoDecompress
 === RUN   TestDockerSuite/TestBuildAddScript
 === RUN   TestDockerSuite/TestBuildAddSingleFileToExistDir
 === RUN   TestDockerSuite/TestBuildAddSingleFileToNonExistingDir
 === RUN   TestDockerSuite/TestBuildAddSingleFileToRoot
 === RUN   TestDockerSuite/TestBuildAddSingleFileToWorkdir
 === RUN   TestDockerSuite/TestBuildAddTar
 === RUN   TestDockerSuite/TestBuildAddTarXz
 === RUN   TestDockerSuite/TestBuildAddTarXzGz
 === RUN   TestDockerSuite/TestBuildAddToSymlinkDest
 === RUN   TestDockerSuite/TestBuildAddWholeDirToRoot
 === RUN   TestDockerSuite/TestBuildBlankName
 === RUN   TestDockerSuite/TestBuildBuildTimeArg
 === RUN   TestDockerSuite/TestBuildBuildTimeArgBuiltinArg
 === RUN   TestDockerSuite/TestBuildBuildTimeArgCacheHit
 === RUN   TestDockerSuite/TestBuildBuildTimeArgCacheMissExtraArg
 === RUN   TestDockerSuite/TestBuildBuildTimeArgCacheMissSameArgDiffVal
 === RUN   TestDockerSuite/TestBuildBuildTimeArgDefaultOverride
 === RUN   TestDockerSuite/TestBuildBuildTimeArgDefinitionWithNoEnvInjection
 === RUN   TestDockerSuite/TestBuildBuildTimeArgEmptyValVariants
 === RUN   TestDockerSuite/TestBuildBuildTimeArgEnv
 === RUN   TestDockerSuite/TestBuildBuildTimeArgExpansion
 === RUN   TestDockerSuite/TestBuildBuildTimeArgExpansionOverride
 === RUN   TestDockerSuite/TestBuildBuildTimeArgHistory
 === RUN   TestDockerSuite/TestBuildBuildTimeArgOverrideArgDefinedBeforeEnv
 === RUN   TestDockerSuite/TestBuildBuildTimeArgOverrideEnvDefinedBeforeArg
 === RUN   TestDockerSuite/TestBuildBuildTimeArgQuotedValVariants
 === RUN   TestDockerSuite/TestBuildBuildTimeArgUnconsumedArg
 === RUN   TestDockerSuite/TestBuildBuildTimeArgUntrustedDefinedAfterUse
 === RUN   TestDockerSuite/TestBuildCacheAdd
 === RUN   TestDockerSuite/TestBuildCacheBrokenSymlink
 === RUN   TestDockerSuite/TestBuildCacheFrom
 === RUN   TestDockerSuite/TestBuildCacheFromEqualDiffIDsLength
 === RUN   TestDockerSuite/TestBuildCacheRootSource
 === RUN   TestDockerSuite/TestBuildCancellationKillsSleep
 === RUN   TestDockerSuite/TestBuildChownOnCopy
 === RUN   TestDockerSuite/TestBuildChownSingleFile
 === RUN   TestDockerSuite/TestBuildCleanupCmdOnEntrypoint
 === RUN   TestDockerSuite/TestBuildClearCmd
 === RUN   TestDockerSuite/TestBuildCmd
 === RUN   TestDockerSuite/TestBuildCmdJSONNoShDashC
 === RUN   TestDockerSuite/TestBuildCmdShDashC
 === RUN   TestDockerSuite/TestBuildCmdShellArgsEscaped
 === RUN   TestDockerSuite/TestBuildCmdSpaces
 === RUN   TestDockerSuite/TestBuildCommentsShebangs
 === RUN   TestDockerSuite/TestBuildConditionalCache
 === RUN   TestDockerSuite/TestBuildContChar
 === RUN   TestDockerSuite/TestBuildContainerWithCgroupParent
 === RUN   TestDockerSuite/TestBuildContextCleanup
 === RUN   TestDockerSuite/TestBuildContextCleanupFailedBuild
 === RUN   TestDockerSuite/TestBuildContextTarGzip
 === RUN   TestDockerSuite/TestBuildContextTarNoCompression
 === RUN   TestDockerSuite/TestBuildCopyAddMultipleFiles
 === RUN   TestDockerSuite/TestBuildCopyCacheOnFileChange
 === RUN   TestDockerSuite/TestBuildCopyDirButNotFile
 === RUN   TestDockerSuite/TestBuildCopyDirContentToExistDir
 === RUN   TestDockerSuite/TestBuildCopyDirContentToRoot
 === RUN   TestDockerSuite/TestBuildCopyFileDotWithWorkdir
 === RUN   TestDockerSuite/TestBuildCopyFileWithWhitespaceOnWindows
 === RUN   TestDockerSuite/TestBuildCopyFromForbidWindowsRelativePaths
 === RUN   TestDockerSuite/TestBuildCopyFromForbidWindowsSystemPaths
 === RUN   TestDockerSuite/TestBuildCopyFromWindowsIsCaseInsensitive
 === RUN   TestDockerSuite/TestBuildCopySingleFileToExistDir
 === RUN   TestDockerSuite/TestBuildCopySingleFileToNonExistDir
 === RUN   TestDockerSuite/TestBuildCopySingleFileToRoot
 === RUN   TestDockerSuite/TestBuildCopySingleFileToWorkdir
 === RUN   TestDockerSuite/TestBuildCopyWholeDirToRoot
 === RUN   TestDockerSuite/TestBuildCopyWildcard
 === RUN   TestDockerSuite/TestBuildCopyWildcardCache
 === RUN   TestDockerSuite/TestBuildCopyWildcardInName
 === RUN   TestDockerSuite/TestBuildDeleteCommittedFile
 === RUN   TestDockerSuite/TestBuildDockerfileStdin
 === RUN   TestDockerSuite/TestBuildDockerfileStdinConflict
 === RUN   TestDockerSuite/TestBuildDockerfileStdinDockerignore
 === RUN   TestDockerSuite/TestBuildDockerfileStdinDockerignoreIgnored
 === RUN   TestDockerSuite/TestBuildDockerfileStdinNoExtraFiles
 === RUN   TestDockerSuite/TestBuildDockerignore

@thaJeztah
Copy link
Member Author

Problem seems to have resolved itself, only now validate is failing; looks like master is broken because a PR was merged that didn't add godoc to exported methods (which wasn't previously caught by the linter rules)

Before:

    make TEST_FILTER=TestServiceLogs test-integration
    ...
    --- PASS: TestDockerSwarmSuite/TestServiceLogs (14.63s)
             docker_cli_service_logs_test.go:49: log for "TestServiceLogs1": "TestServiceLogs1.1.rjyqj1v08llu@625d614f901a    | hello1\n"
             docker_cli_service_logs_test.go:49: log for "TestServiceLogs2": "TestServiceLogs2.1.fyaljkh9tmp3@625d614f901a    | hello2\n"

After:

    make TEST_FILTER=TestServiceLogs test-integration
    ...
    --- PASS: TestDockerSwarmSuite/TestServiceLogs (14.63s)

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Before:

    --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate (24.21s)
         docker_api_containers_test.go:2100: case 0 - config: {volume  /foo false  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 1 - config: {volume  /foo/ false  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 2 - config: {volume test1 /foo false  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 3 - config: {volume test2 /foo true  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 4 - config: {volume test3 /foo false  <nil> 0xc000876640 <nil>}
         docker_api_containers_test.go:2100: case 5 - config: {bind /tmp/test-mounts-api-1770842294 /foo false  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 6 - config: {bind /tmp/test-mounts-api-1770842294 /foo true  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 7 - config: {bind /tmp/test-mounts-api-3832384157 /foo false  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 8 - config: {bind /tmp/test-mounts-api-3832384157 /foo true  <nil> <nil> <nil>}
         docker_api_containers_test.go:2100: case 9 - config: {bind /tmp/test-mounts-api-3832384157 /foo true  0xc000876aa0 <nil> <nil>}
         docker_api_containers_test.go:2100: case 10 - config: {volume  /foo false  <nil> 0xc000876ac0 <nil>}
         docker_api_containers_test.go:2100: case 11 - config: {volume  /foo/ false  <nil> 0xc000876ae0 <nil>}
         docker_api_containers_test.go:2100: case 12 - config: {volume test4 /foo false  <nil> 0xc000876b00 <nil>}
         docker_api_containers_test.go:2100: case 13 - config: {volume test5 /foo true  <nil> 0xc000876b20 <nil>}

After:

    --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate (63.59s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/0_config:_{volume__/foo_false__<nil>_<nil>_<nil>} (2.98s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/1_config:_{volume__/foo/_false__<nil>_<nil>_<nil>} (2.11s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/2_config:_{volume_test1_/foo_false__<nil>_<nil>_<nil>} (2.26s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/3_config:_{volume_test2_/foo_true__<nil>_<nil>_<nil>} (7.78s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/4_config:_{volume_test3_/foo_false__<nil>_0xc00000ecc0_<nil>} (25.19s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/5_config:_{bind_/tmp/test-mounts-api-1123034866_/foo_false__<nil>_<nil>_<nil>} (2.21s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/6_config:_{bind_/tmp/test-mounts-api-1123034866_/foo_true__<nil>_<nil>_<nil>} (2.21s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/7_config:_{bind_/tmp/test-mounts-api-3533158313_/foo_false__<nil>_<nil>_<nil>} (2.16s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/8_config:_{bind_/tmp/test-mounts-api-3533158313_/foo_true__<nil>_<nil>_<nil>} (2.18s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/9_config:_{bind_/tmp/test-mounts-api-3533158313_/foo_true__0xc00000f760_<nil>_<nil>} (2.18s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/10_config:_{volume__/foo_false__<nil>_0xc00000f780_<nil>} (2.25s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/11_config:_{volume__/foo/_false__<nil>_0xc00000f7e0_<nil>} (2.37s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/12_config:_{volume_test4_/foo_false__<nil>_0xc00000f800_<nil>} (2.28s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsCreate/13_config:_{volume_test5_/foo_true__<nil>_0xc00000f820_<nil>} (2.44s)

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Before:

     --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation (0.52s)
         docker_api_containers_test.go:1927: case 0
         docker_api_containers_test.go:1927: case 1
         docker_api_containers_test.go:1927: case 2
         docker_api_containers_test.go:1927: case 3
         docker_api_containers_test.go:1927: case 4
         docker_api_containers_test.go:1927: case 5
         docker_api_containers_test.go:1927: case 6
         docker_api_containers_test.go:1927: case 7
         docker_api_containers_test.go:1927: case 8
         docker_api_containers_test.go:1927: case 9
         docker_api_containers_test.go:1927: case 10
         docker_api_containers_test.go:1927: case 11
         docker_api_containers_test.go:1927: case 12
         docker_api_containers_test.go:1927: case 13
         docker_api_containers_test.go:1927: case 14
         docker_api_containers_test.go:1927: case 15

After:

    --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation (1.13s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_0 (0.01s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_1 (0.00s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_2 (0.00s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_3 (0.00s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_4 (0.00s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_5 (0.11s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_6 (0.12s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_7 (0.13s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_8 (0.00s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_9 (0.06s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_10 (0.08s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_11 (0.10s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_12 (0.18s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_13 (0.12s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_14 (0.14s)
        --- PASS: TestDockerSuite/TestContainersAPICreateMountsValidation/case_15 (0.00s)

Signed-off-by: Sebastiaan van Stijn <[email protected]>
Now that we marked these utilities as helpers, it should be
possible to find which test-case failed (if any), and we
can skip logging in the "happy path".

This makes these tests less noisy, which makes it easier
to find actually important information in the output:

     --- PASS: TestDockerSuite/TestCpFromCaseC (0.96s)
         docker_cli_cp_utils_test.go:244: checking that file "/tmp/test-cp-from-case-c450122079/file2" contains "file2\n"
         docker_cli_cp_utils_test.go:192: running `docker cp  962b1f3311e742b0842e13b2ad350214cea25883999fd26e87e8c9ddf40d5eb4:/root/file1 /tmp/test-cp-from-case-c450122079/file2`
         docker_cli_cp_utils_test.go:244: checking that file "/tmp/test-cp-from-case-c450122079/file2" contains "file1\n"

Some of these tests should probably be rewritten to use subtests,
but that's something for a follow-up.

Signed-off-by: Sebastiaan van Stijn <[email protected]>
@thaJeztah thaJeztah force-pushed the integration_cli_denoise branch from 479e5dc to 3ddb410 Compare October 21, 2019 22:15
@thaJeztah
Copy link
Member Author

@tiborvass @kolyshkin ptal; all green now 👍

} else {
assert.NilError(c, err)
}
x := x
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we enable Parallel, otherwise you can get surprising failures (ran into that a while back); see https://blog.golang.org/subtests, which also shows this

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I learned the hard way. Scratching my head why things were randomly failing 😅

@thaJeztah
Copy link
Member Author

@kolyshkin @cpuguy83 ptal

Copy link
Member

@cpuguy83 cpuguy83 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cpuguy83 cpuguy83 merged commit 352d840 into moby:master Oct 24, 2019
@thaJeztah thaJeztah deleted the integration_cli_denoise branch October 24, 2019 22:25
@thaJeztah thaJeztah added this to the 20.03.0 milestone Apr 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/testing kind/refactor PR's that refactor, or clean-up code status/2-code-review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants