=== RUN   TestVisitAll
--- PASS: TestVisitAll (0.00s)
=== RUN   TestVendorAndVersion
=== RUN   TestVendorAndVersion/vendor
=== RUN   TestVendorAndVersion/vendor#01
--- PASS: TestVendorAndVersion (0.00s)
    --- PASS: TestVendorAndVersion/vendor (0.00s)
    --- PASS: TestVendorAndVersion/vendor#01 (0.00s)
=== RUN   TestInvalidPlugin
--- PASS: TestInvalidPlugin (0.00s)
=== RUN   TestCommandAliases
--- PASS: TestCommandAliases (0.00s)
=== RUN   TestDecoratedName
--- PASS: TestDecoratedName (0.00s)
=== RUN   TestRequiresNoArgs
Error: no error
Error: "dummy" accepts no arguments.
See 'dummy --help'.

Usage:  dummy [flags]


--- PASS: TestRequiresNoArgs (0.00s)
=== RUN   TestRequiresMinArgs
Error: no error
Error: "dummy" requires at least 1 argument.
See 'dummy --help'.

Usage:  dummy [flags]


Error: "dummy" requires at least 2 arguments.
See 'dummy --help'.

Usage:  dummy [flags]


--- PASS: TestRequiresMinArgs (0.00s)
=== RUN   TestRequiresMaxArgs
Error: no error
Error: "dummy" requires at most 1 argument.
See 'dummy --help'.

Usage:  dummy [flags]


Error: "dummy" requires at most 2 arguments.
See 'dummy --help'.

Usage:  dummy [flags]


--- PASS: TestRequiresMaxArgs (0.00s)
=== RUN   TestRequiresRangeArgs
Error: no error
Error: no error
Error: "dummy" requires at least 0 and at most 1 argument.
See 'dummy --help'.

Usage:  dummy [flags]


Error: "dummy" requires at least 0 and at most 2 arguments.
See 'dummy --help'.

Usage:  dummy [flags]


Error: "dummy" requires at least 1 and at most 2 arguments.
See 'dummy --help'.

Usage:  dummy [flags]


--- PASS: TestRequiresRangeArgs (0.00s)
=== RUN   TestExactArgs
Error: no error
Error: "dummy" requires exactly 1 argument.
See 'dummy --help'.

Usage:  dummy [flags]


Error: "dummy" requires exactly 2 arguments.
See 'dummy --help'.

Usage:  dummy [flags]


--- PASS: TestExactArgs (0.00s)
PASS
ok  	github.com/docker/cli/cli	0.008s
=== RUN   TestWithContentTrustFromEnv
--- PASS: TestWithContentTrustFromEnv (0.00s)
=== RUN   TestNewAPIClientFromFlags
--- PASS: TestNewAPIClientFromFlags (0.00s)
=== RUN   TestNewAPIClientFromFlagsForDefaultSchema
--- PASS: TestNewAPIClientFromFlagsForDefaultSchema (0.00s)
=== RUN   TestNewAPIClientFromFlagsWithCustomHeaders
--- PASS: TestNewAPIClientFromFlagsWithCustomHeaders (0.00s)
=== RUN   TestNewAPIClientFromFlagsWithAPIVersionFromEnv
--- PASS: TestNewAPIClientFromFlagsWithAPIVersionFromEnv (0.00s)
=== RUN   TestInitializeFromClient
=== RUN   TestInitializeFromClient/successful_ping
=== RUN   TestInitializeFromClient/failed_ping,_no_API_version
=== RUN   TestInitializeFromClient/failed_ping,_with_API_version
--- PASS: TestInitializeFromClient (0.00s)
    --- PASS: TestInitializeFromClient/successful_ping (0.00s)
    --- PASS: TestInitializeFromClient/failed_ping,_no_API_version (0.00s)
    --- PASS: TestInitializeFromClient/failed_ping,_with_API_version (0.00s)
=== RUN   TestInitializeFromClientHangs
--- PASS: TestInitializeFromClientHangs (0.00s)
=== RUN   TestExperimentalCLI
=== RUN   TestExperimentalCLI/default
=== RUN   TestExperimentalCLI/experimental
--- PASS: TestExperimentalCLI (0.00s)
    --- PASS: TestExperimentalCLI/default (0.00s)
    --- PASS: TestExperimentalCLI/experimental (0.00s)
=== RUN   TestNewDockerCliAndOperators
--- PASS: TestNewDockerCliAndOperators (0.00s)
=== RUN   TestInitializeShouldAlwaysCreateTheContextStore
--- PASS: TestInitializeShouldAlwaysCreateTheContextStore (0.00s)
=== RUN   TestHooksEnabled
=== RUN   TestHooksEnabled/disabled_by_default
=== RUN   TestHooksEnabled/enabled_in_configFile
=== RUN   TestHooksEnabled/env_var_overrides_configFile
=== RUN   TestHooksEnabled/legacy_env_var_overrides_configFile
--- PASS: TestHooksEnabled (0.00s)
    --- PASS: TestHooksEnabled/disabled_by_default (0.00s)
    --- PASS: TestHooksEnabled/enabled_in_configFile (0.00s)
    --- PASS: TestHooksEnabled/env_var_overrides_configFile (0.00s)
    --- PASS: TestHooksEnabled/legacy_env_var_overrides_configFile (0.00s)
=== RUN   TestDockerContextMetadataKeepAdditionalFields
--- PASS: TestDockerContextMetadataKeepAdditionalFields (0.00s)
=== RUN   TestDefaultContextInitializer
--- PASS: TestDefaultContextInitializer (0.00s)
=== RUN   TestExportDefaultImport
--- PASS: TestExportDefaultImport (0.02s)
=== RUN   TestListDefaultContext
--- PASS: TestListDefaultContext (0.00s)
=== RUN   TestGetDefaultContextStorageInfo
--- PASS: TestGetDefaultContextStorageInfo (0.00s)
=== RUN   TestGetDefaultContextMetadata
--- PASS: TestGetDefaultContextMetadata (0.00s)
=== RUN   TestErrCreateDefault
--- PASS: TestErrCreateDefault (0.00s)
=== RUN   TestErrRemoveDefault
--- PASS: TestErrRemoveDefault (0.00s)
=== RUN   TestErrTLSDataError
--- PASS: TestErrTLSDataError (0.00s)
=== RUN   TestGetFullCommandName
=== PAUSE TestGetFullCommandName
=== RUN   TestGetCommandName
=== PAUSE TestGetCommandName
=== RUN   TestStdioAttributes
=== PAUSE TestStdioAttributes
=== RUN   TestAttributesFromError
=== PAUSE TestAttributesFromError
=== RUN   TestGetDefaultAuthConfig
--- PASS: TestGetDefaultAuthConfig (0.00s)
=== RUN   TestGetDefaultAuthConfig_HelperError
--- PASS: TestGetDefaultAuthConfig_HelperError (0.00s)
=== RUN   TestStringSliceReplaceAt
--- PASS: TestStringSliceReplaceAt (0.00s)
=== RUN   TestValidateOutputPath
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/dir/file
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/dir
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/dir/
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/notexist
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/notexist/
=== RUN   TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/notexist/file
--- PASS: TestValidateOutputPath (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001 (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/dir/file (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/dir (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/dir/ (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/notexist (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/notexist/ (0.00s)
    --- PASS: TestValidateOutputPath//tmp/TestValidateOutputPath1147905445/001/notexist/file (0.00s)
=== RUN   TestPromptForInput
=== RUN   TestPromptForInput/case=cancelling_the_context
=== RUN   TestPromptForInput/case=user_input_should_be_properly_trimmed
--- PASS: TestPromptForInput (0.00s)
    --- PASS: TestPromptForInput/case=cancelling_the_context (0.00s)
    --- PASS: TestPromptForInput/case=user_input_should_be_properly_trimmed (0.00s)
=== RUN   TestPromptForConfirmation
=== RUN   TestPromptForConfirmation/case=SIGINT
=== RUN   TestPromptForConfirmation/case=no
=== RUN   TestPromptForConfirmation/case=yes
=== RUN   TestPromptForConfirmation/case=any
=== RUN   TestPromptForConfirmation/case=with_space
=== RUN   TestPromptForConfirmation/case=reader_closed
--- PASS: TestPromptForConfirmation (0.00s)
    --- PASS: TestPromptForConfirmation/case=SIGINT (0.00s)
    --- PASS: TestPromptForConfirmation/case=no (0.00s)
    --- PASS: TestPromptForConfirmation/case=yes (0.00s)
    --- PASS: TestPromptForConfirmation/case=any (0.00s)
    --- PASS: TestPromptForConfirmation/case=with_space (0.00s)
    --- PASS: TestPromptForConfirmation/case=reader_closed (0.00s)
=== CONT  TestGetFullCommandName
=== CONT  TestStdioAttributes
=== RUN   TestGetFullCommandName/rootCmd
=== CONT  TestGetCommandName
=== PAUSE TestGetFullCommandName/rootCmd
=== CONT  TestAttributesFromError
=== RUN   TestAttributesFromError/no_error
=== PAUSE TestAttributesFromError/no_error
=== RUN   TestAttributesFromError/non-0_exit_code
=== PAUSE TestAttributesFromError/non-0_exit_code
=== RUN   TestAttributesFromError/canceled
=== RUN   TestStdioAttributes/#00
=== PAUSE TestStdioAttributes/#00
=== RUN   TestStdioAttributes/#01
=== PAUSE TestStdioAttributes/#01
=== CONT  TestStdioAttributes/#00
=== RUN   TestGetCommandName/rootCmd
=== PAUSE TestGetCommandName/rootCmd
=== RUN   TestGetCommandName/childCmd
=== PAUSE TestGetCommandName/childCmd
=== RUN   TestGetCommandName/grandchildCmd
=== PAUSE TestGetCommandName/grandchildCmd
=== CONT  TestGetCommandName/rootCmd
=== CONT  TestStdioAttributes/#01
--- PASS: TestStdioAttributes (0.00s)
    --- PASS: TestStdioAttributes/#00 (0.00s)
    --- PASS: TestStdioAttributes/#01 (0.00s)
=== RUN   TestGetFullCommandName/childCmd
=== PAUSE TestGetFullCommandName/childCmd
=== RUN   TestGetFullCommandName/grandChild
=== PAUSE TestGetFullCommandName/grandChild
=== CONT  TestGetFullCommandName/rootCmd
=== CONT  TestGetCommandName/grandchildCmd
=== CONT  TestGetCommandName/childCmd
--- PASS: TestGetCommandName (0.00s)
    --- PASS: TestGetCommandName/rootCmd (0.00s)
    --- PASS: TestGetCommandName/grandchildCmd (0.00s)
    --- PASS: TestGetCommandName/childCmd (0.00s)
=== PAUSE TestAttributesFromError/canceled
=== CONT  TestAttributesFromError/no_error
=== CONT  TestGetFullCommandName/grandChild
=== CONT  TestGetFullCommandName/childCmd
--- PASS: TestGetFullCommandName (0.00s)
    --- PASS: TestGetFullCommandName/rootCmd (0.00s)
    --- PASS: TestGetFullCommandName/grandChild (0.00s)
    --- PASS: TestGetFullCommandName/childCmd (0.00s)
=== CONT  TestAttributesFromError/canceled
=== CONT  TestAttributesFromError/non-0_exit_code
--- PASS: TestAttributesFromError (0.00s)
    --- PASS: TestAttributesFromError/no_error (0.00s)
    --- PASS: TestAttributesFromError/canceled (0.00s)
    --- PASS: TestAttributesFromError/non-0_exit_code (0.00s)
PASS
ok  	github.com/docker/cli/cli/command	0.035s
=== RUN   TestBuilderPromptTermination
Error: prompt terminated
Usage:
  prune [flags]

Flags:
  -a, --all                  Remove all unused build cache, not just dangling ones
      --filter filter        Provide filter values (e.g. "until=24h")
  -f, --force                Do not prompt for confirmation
  -h, --help                 help for prune
      --keep-storage bytes   Amount of disk space to keep for cache

--- PASS: TestBuilderPromptTermination (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/builder	0.008s
=== RUN   TestCheckpointCreateErrors
Error: "create" requires exactly 2 arguments.
See 'create --help'.

Usage:  create [OPTIONS] CONTAINER CHECKPOINT [flags]

Create a checkpoint from a running container
Error: "create" requires exactly 2 arguments.
See 'create --help'.

Usage:  create [OPTIONS] CONTAINER CHECKPOINT [flags]

Create a checkpoint from a running container
Error: error creating checkpoint for container foo
--- PASS: TestCheckpointCreateErrors (0.00s)
=== RUN   TestCheckpointCreateWithOptions
--- PASS: TestCheckpointCreateWithOptions (0.00s)
=== RUN   TestCheckpointContextFormatWrite
--- PASS: TestCheckpointContextFormatWrite (0.00s)
=== RUN   TestCheckpointListErrors
Error: "ls" requires exactly 1 argument.
See 'ls --help'.

Usage:  ls [OPTIONS] CONTAINER [flags]

List checkpoints for a container
Error: "ls" requires exactly 1 argument.
See 'ls --help'.

Usage:  ls [OPTIONS] CONTAINER [flags]

List checkpoints for a container
Error: error getting checkpoints for container foo
--- PASS: TestCheckpointListErrors (0.00s)
=== RUN   TestCheckpointListWithOptions
--- PASS: TestCheckpointListWithOptions (0.00s)
=== RUN   TestCheckpointRemoveErrors
Error: "rm" requires exactly 2 arguments.
See 'rm --help'.

Usage:  rm [OPTIONS] CONTAINER CHECKPOINT [flags]

Remove a checkpoint
Error: "rm" requires exactly 2 arguments.
See 'rm --help'.

Usage:  rm [OPTIONS] CONTAINER CHECKPOINT [flags]

Remove a checkpoint
Error: error deleting checkpoint
--- PASS: TestCheckpointRemoveErrors (0.00s)
=== RUN   TestCheckpointRemoveWithOptions
--- PASS: TestCheckpointRemoveWithOptions (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/checkpoint	0.008s
?   	github.com/docker/cli/cli/command/commands	[no test files]
?   	github.com/docker/cli/cli/command/completion	[no test files]
=== RUN   TestConfigCreateErrors
Error: "create" requires exactly 2 arguments.
See 'create --help'.

Usage:  create [OPTIONS] CONFIG file|- [flags]

Create a config from a file or STDIN
Error: "create" requires exactly 2 arguments.
See 'create --help'.

Usage:  create [OPTIONS] CONFIG file|- [flags]

Create a config from a file or STDIN
Error: error creating config
--- PASS: TestConfigCreateErrors (0.00s)
=== RUN   TestConfigCreateWithName
--- PASS: TestConfigCreateWithName (0.00s)
=== RUN   TestConfigCreateWithLabels
--- PASS: TestConfigCreateWithLabels (0.00s)
=== RUN   TestConfigCreateWithTemplatingDriver
--- PASS: TestConfigCreateWithTemplatingDriver (0.00s)
=== RUN   TestConfigContextFormatWrite
=== RUN   TestConfigContextFormatWrite/{{InvalidFunction}}
=== RUN   TestConfigContextFormatWrite/{{nil}}
=== RUN   TestConfigContextFormatWrite/table_{{.ID}}_{{.Name}}_{{.CreatedAt}}_{{.UpdatedAt}}
=== RUN   TestConfigContextFormatWrite/table_{{.Name}}
=== RUN   TestConfigContextFormatWrite/{{.ID}}-{{.Name}}
--- PASS: TestConfigContextFormatWrite (0.00s)
    --- PASS: TestConfigContextFormatWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestConfigContextFormatWrite/{{nil}} (0.00s)
    --- PASS: TestConfigContextFormatWrite/table_{{.ID}}_{{.Name}}_{{.CreatedAt}}_{{.UpdatedAt}} (0.00s)
    --- PASS: TestConfigContextFormatWrite/table_{{.Name}} (0.00s)
    --- PASS: TestConfigContextFormatWrite/{{.ID}}-{{.Name}} (0.00s)
=== RUN   TestConfigInspectErrors
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect [OPTIONS] CONFIG [CONFIG...] [flags]

Display detailed information on one or more configs
Error: Status: Status: error while inspecting the config, Code: 1, Code: 1
Error: Status: Status: template parsing error: template: :1: function "invalid" not defined, Code: 64, Code: 1
Error: Status: Status: error while inspecting the config, Code: 1, Code: 1
--- PASS: TestConfigInspectErrors (0.00s)
=== RUN   TestConfigInspectWithoutFormat
--- PASS: TestConfigInspectWithoutFormat (0.00s)
=== RUN   TestConfigInspectWithFormat
--- PASS: TestConfigInspectWithFormat (0.00s)
=== RUN   TestConfigInspectPretty
--- PASS: TestConfigInspectPretty (0.00s)
=== RUN   TestConfigListErrors
Error: "ls" accepts no arguments.
See 'ls --help'.

Usage:  ls [OPTIONS] [flags]

List configs
Error: error listing configs
--- PASS: TestConfigListErrors (0.00s)
=== RUN   TestConfigList
--- PASS: TestConfigList (0.00s)
=== RUN   TestConfigListWithQuietOption
--- PASS: TestConfigListWithQuietOption (0.00s)
=== RUN   TestConfigListWithConfigFormat
--- PASS: TestConfigListWithConfigFormat (0.00s)
=== RUN   TestConfigListWithFormat
--- PASS: TestConfigListWithFormat (0.00s)
=== RUN   TestConfigListWithFilter
--- PASS: TestConfigListWithFilter (0.00s)
=== RUN   TestConfigRemoveErrors
Error: "rm" requires at least 1 argument.
See 'rm --help'.

Usage:  rm CONFIG [CONFIG...] [flags]

Remove one or more configs
Error: error removing config
--- PASS: TestConfigRemoveErrors (0.00s)
=== RUN   TestConfigRemoveWithName
--- PASS: TestConfigRemoveWithName (0.00s)
=== RUN   TestConfigRemoveContinueAfterError
Error: error removing config: foo
--- PASS: TestConfigRemoveContinueAfterError (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/config	0.016s
=== RUN   TestNewAttachCommandErrors
Error: something went wrong
Error: You cannot attach to a stopped container, start it first
Error: You cannot attach to a paused container, unpause it first
Error: You cannot attach to a restarting container, wait until it is running
--- PASS: TestNewAttachCommandErrors (0.00s)
=== RUN   TestGetExitStatus
--- PASS: TestGetExitStatus (0.00s)
=== RUN   TestRunCopyWithInvalidArguments
=== RUN   TestRunCopyWithInvalidArguments/copy_between_container
=== RUN   TestRunCopyWithInvalidArguments/copy_without_a_container
--- PASS: TestRunCopyWithInvalidArguments (0.00s)
    --- PASS: TestRunCopyWithInvalidArguments/copy_between_container (0.00s)
    --- PASS: TestRunCopyWithInvalidArguments/copy_without_a_container (0.00s)
=== RUN   TestRunCopyFromContainerToStdout
--- PASS: TestRunCopyFromContainerToStdout (0.00s)
=== RUN   TestRunCopyFromContainerToFilesystem
--- PASS: TestRunCopyFromContainerToFilesystem (0.00s)
=== RUN   TestRunCopyFromContainerToFilesystemMissingDestinationDirectory
--- PASS: TestRunCopyFromContainerToFilesystemMissingDestinationDirectory (0.00s)
=== RUN   TestRunCopyToContainerFromFileWithTrailingSlash
--- PASS: TestRunCopyToContainerFromFileWithTrailingSlash (0.00s)
=== RUN   TestRunCopyToContainerSourceDoesNotExist
--- PASS: TestRunCopyToContainerSourceDoesNotExist (0.00s)
=== RUN   TestSplitCpArg
=== RUN   TestSplitCpArg/absolute_path_with_colon
=== RUN   TestSplitCpArg/relative_path_with_colon
=== RUN   TestSplitCpArg/absolute_path_with_drive
    cp_test.go:183: testcase.os != "" && testcase.os != runtime.GOOS
=== RUN   TestSplitCpArg/no_separator
=== RUN   TestSplitCpArg/with_separator
--- PASS: TestSplitCpArg (0.00s)
    --- PASS: TestSplitCpArg/absolute_path_with_colon (0.00s)
    --- PASS: TestSplitCpArg/relative_path_with_colon (0.00s)
    --- SKIP: TestSplitCpArg/absolute_path_with_drive (0.00s)
    --- PASS: TestSplitCpArg/no_separator (0.00s)
    --- PASS: TestSplitCpArg/with_separator (0.00s)
=== RUN   TestRunCopyFromContainerToFilesystemIrregularDestination
--- PASS: TestRunCopyFromContainerToFilesystemIrregularDestination (0.00s)
=== RUN   TestCIDFileNoOPWithNoFilename
--- PASS: TestCIDFileNoOPWithNoFilename (0.00s)
=== RUN   TestNewCIDFileWhenFileAlreadyExists
--- PASS: TestNewCIDFileWhenFileAlreadyExists (0.00s)
=== RUN   TestCIDFileCloseWithNoWrite
--- PASS: TestCIDFileCloseWithNoWrite (0.00s)
=== RUN   TestCIDFileCloseWithWrite
--- PASS: TestCIDFileCloseWithWrite (0.00s)
=== RUN   TestCreateContainerImagePullPolicy
=== RUN   TestCreateContainerImagePullPolicy/missing
=== RUN   TestCreateContainerImagePullPolicy/always
=== RUN   TestCreateContainerImagePullPolicy/never
--- PASS: TestCreateContainerImagePullPolicy (0.00s)
    --- PASS: TestCreateContainerImagePullPolicy/missing (0.00s)
    --- PASS: TestCreateContainerImagePullPolicy/always (0.00s)
    --- PASS: TestCreateContainerImagePullPolicy/never (0.00s)
=== RUN   TestCreateContainerImagePullPolicyInvalid
=== RUN   TestCreateContainerImagePullPolicyInvalid/busybox:latest
=== RUN   TestCreateContainerImagePullPolicyInvalid/--network=foo
--- PASS: TestCreateContainerImagePullPolicyInvalid (0.00s)
    --- PASS: TestCreateContainerImagePullPolicyInvalid/busybox:latest (0.00s)
    --- PASS: TestCreateContainerImagePullPolicyInvalid/--network=foo (0.00s)
=== RUN   TestNewCreateCommandWithContentTrustErrors
Error: client is offline
Error: Error: remote trust data does not exist for docker.io/library/image:  does not have trust data for 
Error: No valid trust data for tag
--- PASS: TestNewCreateCommandWithContentTrustErrors (0.00s)
=== RUN   TestNewCreateCommandWithWarnings
=== RUN   TestNewCreateCommandWithWarnings/container-create-without-oom-kill-disable
=== RUN   TestNewCreateCommandWithWarnings/container-create-oom-kill-disable-false
=== RUN   TestNewCreateCommandWithWarnings/container-create-oom-kill-without-memory-limit
=== RUN   TestNewCreateCommandWithWarnings/container-create-oom-kill-true-without-memory-limit
=== RUN   TestNewCreateCommandWithWarnings/container-create-oom-kill-true-with-memory-limit
=== RUN   TestNewCreateCommandWithWarnings/container-create-localhost-dns
=== RUN   TestNewCreateCommandWithWarnings/container-create-localhost-dns-ipv6
--- PASS: TestNewCreateCommandWithWarnings (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-without-oom-kill-disable (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-oom-kill-disable-false (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-oom-kill-without-memory-limit (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-oom-kill-true-without-memory-limit (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-oom-kill-true-with-memory-limit (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-localhost-dns (0.00s)
    --- PASS: TestNewCreateCommandWithWarnings/container-create-localhost-dns-ipv6 (0.00s)
=== RUN   TestCreateContainerWithProxyConfig
--- PASS: TestCreateContainerWithProxyConfig (0.00s)
=== RUN   TestParseExec
--- PASS: TestParseExec (0.00s)
=== RUN   TestParseExecNoSuchFile
--- PASS: TestParseExecNoSuchFile (0.00s)
=== RUN   TestRunExec
=== RUN   TestRunExec/successful_detach
=== RUN   TestRunExec/inspect_error
=== RUN   TestRunExec/missing_exec_ID
--- PASS: TestRunExec (0.00s)
    --- PASS: TestRunExec/successful_detach (0.00s)
    --- PASS: TestRunExec/inspect_error (0.00s)
    --- PASS: TestRunExec/missing_exec_ID (0.00s)
=== RUN   TestGetExecExitStatus
--- PASS: TestGetExecExitStatus (0.00s)
=== RUN   TestNewExecCommandErrors
Error: something went wrong
--- PASS: TestNewExecCommandErrors (0.00s)
=== RUN   TestContainerExportOutputToFile
--- PASS: TestContainerExportOutputToFile (0.00s)
=== RUN   TestContainerExportOutputToIrregularFile
Error: failed to export container: invalid output path: "/dev/random" must be a directory or a regular file: got a device
--- PASS: TestContainerExportOutputToIrregularFile (0.00s)
=== RUN   TestDiffContextFormatWrite
=== RUN   TestDiffContextFormatWrite/table_{{.Type}}_{{.Path}}
=== RUN   TestDiffContextFormatWrite/table_{{.Path}}
=== RUN   TestDiffContextFormatWrite/{{.Type}}:_{{.Path}}
--- PASS: TestDiffContextFormatWrite (0.00s)
    --- PASS: TestDiffContextFormatWrite/table_{{.Type}}_{{.Path}} (0.00s)
    --- PASS: TestDiffContextFormatWrite/table_{{.Path}} (0.00s)
    --- PASS: TestDiffContextFormatWrite/{{.Type}}:_{{.Path}} (0.00s)
=== RUN   TestContainerStatsContext
--- PASS: TestContainerStatsContext (0.00s)
=== RUN   TestContainerStatsContextWrite
--- PASS: TestContainerStatsContextWrite (0.00s)
=== RUN   TestContainerStatsContextWriteWindows
=== RUN   TestContainerStatsContextWriteWindows/table_{{.MemUsage}}
=== RUN   TestContainerStatsContextWriteWindows/{{.Container}}__{{.CPUPerc}}
=== RUN   TestContainerStatsContextWriteWindows/{{.Container}}__{{.MemPerc}}__{{.PIDs}}
--- PASS: TestContainerStatsContextWriteWindows (0.00s)
    --- PASS: TestContainerStatsContextWriteWindows/table_{{.MemUsage}} (0.00s)
    --- PASS: TestContainerStatsContextWriteWindows/{{.Container}}__{{.CPUPerc}} (0.00s)
    --- PASS: TestContainerStatsContextWriteWindows/{{.Container}}__{{.MemPerc}}__{{.PIDs}} (0.00s)
=== RUN   TestContainerStatsContextWriteWithNoStats
=== RUN   TestContainerStatsContextWriteWithNoStats/{{.Container}}
=== RUN   TestContainerStatsContextWriteWithNoStats/table_{{.Container}}
=== RUN   TestContainerStatsContextWriteWithNoStats/table_{{.Container}}_{{.CPUPerc}}
--- PASS: TestContainerStatsContextWriteWithNoStats (0.00s)
    --- PASS: TestContainerStatsContextWriteWithNoStats/{{.Container}} (0.00s)
    --- PASS: TestContainerStatsContextWriteWithNoStats/table_{{.Container}} (0.00s)
    --- PASS: TestContainerStatsContextWriteWithNoStats/table_{{.Container}}_{{.CPUPerc}} (0.00s)
=== RUN   TestContainerStatsContextWriteWithNoStatsWindows
=== RUN   TestContainerStatsContextWriteWithNoStatsWindows/{{.Container}}
=== RUN   TestContainerStatsContextWriteWithNoStatsWindows/table_{{.Container}}_{{.MemUsage}}
=== RUN   TestContainerStatsContextWriteWithNoStatsWindows/table_{{.Container}}_{{.CPUPerc}}_{{.MemUsage}}
--- PASS: TestContainerStatsContextWriteWithNoStatsWindows (0.00s)
    --- PASS: TestContainerStatsContextWriteWithNoStatsWindows/{{.Container}} (0.00s)
    --- PASS: TestContainerStatsContextWriteWithNoStatsWindows/table_{{.Container}}_{{.MemUsage}} (0.00s)
    --- PASS: TestContainerStatsContextWriteWithNoStatsWindows/table_{{.Container}}_{{.CPUPerc}}_{{.MemUsage}} (0.00s)
=== RUN   TestContainerStatsContextWriteTrunc
--- PASS: TestContainerStatsContextWriteTrunc (0.00s)
=== RUN   TestContainerListBuildContainerListOptions
--- PASS: TestContainerListBuildContainerListOptions (0.00s)
=== RUN   TestContainerListErrors
Error: failed to parse template: template: :1: function "invalid" not defined
Error: failed to execute template: template: :1:2: executing "" at <join>: wrong number of args for join: want 2 got 0
Error: error listing containers
--- PASS: TestContainerListErrors (0.00s)
=== RUN   TestContainerListWithoutFormat
--- PASS: TestContainerListWithoutFormat (0.00s)
=== RUN   TestContainerListNoTrunc
--- PASS: TestContainerListNoTrunc (0.00s)
=== RUN   TestContainerListNamesMultipleTime
--- PASS: TestContainerListNamesMultipleTime (0.00s)
=== RUN   TestContainerListFormatTemplateWithArg
--- PASS: TestContainerListFormatTemplateWithArg (0.00s)
=== RUN   TestContainerListFormatSizeSetsOption
=== RUN   TestContainerListFormatSizeSetsOption/detect_with_all_fields
=== RUN   TestContainerListFormatSizeSetsOption/detect_with_explicit_field
=== RUN   TestContainerListFormatSizeSetsOption/detect_no_size
=== RUN   TestContainerListFormatSizeSetsOption/override_enable
=== RUN   TestContainerListFormatSizeSetsOption/override_disable
--- PASS: TestContainerListFormatSizeSetsOption (0.00s)
    --- PASS: TestContainerListFormatSizeSetsOption/detect_with_all_fields (0.00s)
    --- PASS: TestContainerListFormatSizeSetsOption/detect_with_explicit_field (0.00s)
    --- PASS: TestContainerListFormatSizeSetsOption/detect_no_size (0.00s)
    --- PASS: TestContainerListFormatSizeSetsOption/override_enable (0.00s)
    --- PASS: TestContainerListFormatSizeSetsOption/override_disable (0.00s)
=== RUN   TestContainerListWithConfigFormat
--- PASS: TestContainerListWithConfigFormat (0.00s)
=== RUN   TestContainerListWithFormat
=== RUN   TestContainerListWithFormat/with_format
=== RUN   TestContainerListWithFormat/with_format_and_quiet
--- PASS: TestContainerListWithFormat (0.00s)
    --- PASS: TestContainerListWithFormat/with_format (0.00s)
    --- PASS: TestContainerListWithFormat/with_format_and_quiet (0.00s)
=== RUN   TestRunLogs
=== RUN   TestRunLogs/successful_logs
--- PASS: TestRunLogs (0.00s)
    --- PASS: TestRunLogs/successful_logs (0.00s)
=== RUN   TestValidateAttach
--- PASS: TestValidateAttach (0.00s)
=== RUN   TestParseRunLinks
--- PASS: TestParseRunLinks (0.00s)
=== RUN   TestParseRunAttach
=== RUN   TestParseRunAttach/#00
=== RUN   TestParseRunAttach/-i
=== RUN   TestParseRunAttach/-a_stdin
=== RUN   TestParseRunAttach/-a_stdin_-a_stdout
=== RUN   TestParseRunAttach/-a_stdin_-a_stdout_-a_stderr
--- PASS: TestParseRunAttach (0.00s)
    --- PASS: TestParseRunAttach/#00 (0.00s)
    --- PASS: TestParseRunAttach/-i (0.00s)
    --- PASS: TestParseRunAttach/-a_stdin (0.00s)
    --- PASS: TestParseRunAttach/-a_stdin_-a_stdout (0.00s)
    --- PASS: TestParseRunAttach/-a_stdin_-a_stdout_-a_stderr (0.00s)
=== RUN   TestParseRunWithInvalidArgs
=== RUN   TestParseRunWithInvalidArgs/-a_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-a_invalid_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-a_invalid_-a_stdout_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-a_stdout_-a_stderr_-z_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-a_stdin_-z_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-a_stdout_-z_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-a_stderr_-z_ubuntu_bash
=== RUN   TestParseRunWithInvalidArgs/-z_--rm_ubuntu_bash
--- PASS: TestParseRunWithInvalidArgs (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_invalid_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_invalid_-a_stdout_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_stdout_-a_stderr_-z_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_stdin_-z_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_stdout_-z_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-a_stderr_-z_ubuntu_bash (0.00s)
    --- PASS: TestParseRunWithInvalidArgs/-z_--rm_ubuntu_bash (0.00s)
=== RUN   TestParseWithVolumes
--- PASS: TestParseWithVolumes (0.00s)
=== RUN   TestParseWithMacAddress
--- PASS: TestParseWithMacAddress (0.00s)
=== RUN   TestRunFlagsParseWithMemory
--- PASS: TestRunFlagsParseWithMemory (0.00s)
=== RUN   TestParseWithMemorySwap
--- PASS: TestParseWithMemorySwap (0.00s)
=== RUN   TestParseHostname
--- PASS: TestParseHostname (0.00s)
=== RUN   TestParseHostnameDomainname
--- PASS: TestParseHostnameDomainname (0.00s)
=== RUN   TestParseWithExpose
--- PASS: TestParseWithExpose (0.00s)
=== RUN   TestParseDevice
=== RUN   TestParseDevice/[/dev/snd]
=== RUN   TestParseDevice/[/dev/snd:rw]
=== RUN   TestParseDevice/[/dev/snd:/something]
=== RUN   TestParseDevice/[/dev/snd:/something:rw]
=== RUN   TestParseDevice/[vendor.com/class=name]
=== RUN   TestParseDevice/[vendor.com/class=name_/dev/snd:/something:rw]
--- PASS: TestParseDevice (0.00s)
    --- PASS: TestParseDevice/[/dev/snd] (0.00s)
    --- PASS: TestParseDevice/[/dev/snd:rw] (0.00s)
    --- PASS: TestParseDevice/[/dev/snd:/something] (0.00s)
    --- PASS: TestParseDevice/[/dev/snd:/something:rw] (0.00s)
    --- PASS: TestParseDevice/[vendor.com/class=name] (0.00s)
    --- PASS: TestParseDevice/[vendor.com/class=name_/dev/snd:/something:rw] (0.00s)
=== RUN   TestParseNetworkConfig
=== RUN   TestParseNetworkConfig/single-network-legacy
=== RUN   TestParseNetworkConfig/single-network-advanced
=== RUN   TestParseNetworkConfig/single-network-legacy-with-options
=== RUN   TestParseNetworkConfig/multiple-network-advanced-mixed
=== RUN   TestParseNetworkConfig/single-network-advanced-with-options
=== RUN   TestParseNetworkConfig/multiple-networks
=== RUN   TestParseNetworkConfig/advanced-options-with-standalone-mac-address-flag
=== RUN   TestParseNetworkConfig/conflict-network
=== RUN   TestParseNetworkConfig/conflict-options-alias
=== RUN   TestParseNetworkConfig/conflict-options-ip
=== RUN   TestParseNetworkConfig/conflict-options-ip6
=== RUN   TestParseNetworkConfig/invalid-mixed-network-types
=== RUN   TestParseNetworkConfig/conflict-options-link-local-ip
=== RUN   TestParseNetworkConfig/conflict-options-mac-address
=== RUN   TestParseNetworkConfig/invalid-mac-address
--- PASS: TestParseNetworkConfig (0.00s)
    --- PASS: TestParseNetworkConfig/single-network-legacy (0.00s)
    --- PASS: TestParseNetworkConfig/single-network-advanced (0.00s)
    --- PASS: TestParseNetworkConfig/single-network-legacy-with-options (0.00s)
    --- PASS: TestParseNetworkConfig/multiple-network-advanced-mixed (0.00s)
    --- PASS: TestParseNetworkConfig/single-network-advanced-with-options (0.00s)
    --- PASS: TestParseNetworkConfig/multiple-networks (0.00s)
    --- PASS: TestParseNetworkConfig/advanced-options-with-standalone-mac-address-flag (0.00s)
    --- PASS: TestParseNetworkConfig/conflict-network (0.00s)
    --- PASS: TestParseNetworkConfig/conflict-options-alias (0.00s)
    --- PASS: TestParseNetworkConfig/conflict-options-ip (0.00s)
    --- PASS: TestParseNetworkConfig/conflict-options-ip6 (0.00s)
    --- PASS: TestParseNetworkConfig/invalid-mixed-network-types (0.00s)
    --- PASS: TestParseNetworkConfig/conflict-options-link-local-ip (0.00s)
    --- PASS: TestParseNetworkConfig/conflict-options-mac-address (0.00s)
    --- PASS: TestParseNetworkConfig/invalid-mac-address (0.00s)
=== RUN   TestParseModes
--- PASS: TestParseModes (0.00s)
=== RUN   TestRunFlagsParseShmSize
--- PASS: TestRunFlagsParseShmSize (0.00s)
=== RUN   TestParseRestartPolicy
=== RUN   TestParseRestartPolicy/#00
=== RUN   TestParseRestartPolicy/no
=== RUN   TestParseRestartPolicy/:1
=== RUN   TestParseRestartPolicy/always
=== RUN   TestParseRestartPolicy/always:1
=== RUN   TestParseRestartPolicy/always:2:3
=== RUN   TestParseRestartPolicy/on-failure:1
=== RUN   TestParseRestartPolicy/on-failure:invalid
=== RUN   TestParseRestartPolicy/unless-stopped
=== RUN   TestParseRestartPolicy/unless-stopped:invalid
--- PASS: TestParseRestartPolicy (0.00s)
    --- PASS: TestParseRestartPolicy/#00 (0.00s)
    --- PASS: TestParseRestartPolicy/no (0.00s)
    --- PASS: TestParseRestartPolicy/:1 (0.00s)
    --- PASS: TestParseRestartPolicy/always (0.00s)
    --- PASS: TestParseRestartPolicy/always:1 (0.00s)
    --- PASS: TestParseRestartPolicy/always:2:3 (0.00s)
    --- PASS: TestParseRestartPolicy/on-failure:1 (0.00s)
    --- PASS: TestParseRestartPolicy/on-failure:invalid (0.00s)
    --- PASS: TestParseRestartPolicy/unless-stopped (0.00s)
    --- PASS: TestParseRestartPolicy/unless-stopped:invalid (0.00s)
=== RUN   TestParseRestartPolicyAutoRemove
--- PASS: TestParseRestartPolicyAutoRemove (0.00s)
=== RUN   TestParseHealth
--- PASS: TestParseHealth (0.00s)
=== RUN   TestParseLoggingOpts
--- PASS: TestParseLoggingOpts (0.00s)
=== RUN   TestParseEnvfileVariables
--- PASS: TestParseEnvfileVariables (0.00s)
=== RUN   TestParseEnvfileVariablesWithBOMUnicode
--- PASS: TestParseEnvfileVariablesWithBOMUnicode (0.00s)
=== RUN   TestParseLabelfileVariables
--- PASS: TestParseLabelfileVariables (0.00s)
=== RUN   TestParseEntryPoint
--- PASS: TestParseEntryPoint (0.00s)
=== RUN   TestValidateDevice
--- PASS: TestValidateDevice (0.00s)
=== RUN   TestParseSystemPaths
--- PASS: TestParseSystemPaths (0.00s)
=== RUN   TestConvertToStandardNotation
--- PASS: TestConvertToStandardNotation (0.00s)
=== RUN   TestNewPortCommandOutput
=== RUN   TestNewPortCommandOutput/container-port-ipv4
=== RUN   TestNewPortCommandOutput/container-port-ipv6
=== RUN   TestNewPortCommandOutput/container-port-ipv6-and-ipv4
=== RUN   TestNewPortCommandOutput/container-port-ipv6-and-ipv4-443-udp
=== RUN   TestNewPortCommandOutput/container-port-all-ports
--- PASS: TestNewPortCommandOutput (0.00s)
    --- PASS: TestNewPortCommandOutput/container-port-ipv4 (0.00s)
    --- PASS: TestNewPortCommandOutput/container-port-ipv6 (0.00s)
    --- PASS: TestNewPortCommandOutput/container-port-ipv6-and-ipv4 (0.00s)
    --- PASS: TestNewPortCommandOutput/container-port-ipv6-and-ipv4-443-udp (0.00s)
    --- PASS: TestNewPortCommandOutput/container-port-all-ports (0.00s)
=== RUN   TestContainerPrunePromptTermination
Error: prompt terminated
Usage:
  prune [OPTIONS] [flags]

Flags:
      --filter filter   Provide filter values (e.g. "until=<timestamp>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

--- PASS: TestContainerPrunePromptTermination (0.00s)
=== RUN   TestRemoveForce
=== RUN   TestRemoveForce/without_force
Error: Error: no such container: nosuchcontainer
=== RUN   TestRemoveForce/with_force
--- PASS: TestRemoveForce (0.00s)
    --- PASS: TestRemoveForce/without_force (0.00s)
    --- PASS: TestRemoveForce/with_force (0.00s)
=== RUN   TestRunLabel
--- PASS: TestRunLabel (0.00s)
=== RUN   TestRunAttachTermination
--- PASS: TestRunAttachTermination (0.00s)
=== RUN   TestRunCommandWithContentTrustErrors
Error: Status: , Code: 125
Error: Status: , Code: 125
Error: Status: , Code: 125
--- PASS: TestRunCommandWithContentTrustErrors (0.00s)
=== RUN   TestRunContainerImagePullPolicyInvalid
=== RUN   TestRunContainerImagePullPolicyInvalid/busybox:latest
=== RUN   TestRunContainerImagePullPolicyInvalid/--network=foo
--- PASS: TestRunContainerImagePullPolicyInvalid (0.00s)
    --- PASS: TestRunContainerImagePullPolicyInvalid/busybox:latest (0.00s)
    --- PASS: TestRunContainerImagePullPolicyInvalid/--network=foo (0.00s)
=== RUN   TestForwardSignals
--- PASS: TestForwardSignals (0.00s)
=== RUN   TestIgnoredSignals
=== RUN   TestIgnoredSignals/SIGPIPE
=== RUN   TestIgnoredSignals/SIGCHLD
=== RUN   TestIgnoredSignals/SIGURG
--- PASS: TestIgnoredSignals (0.00s)
    --- PASS: TestIgnoredSignals/SIGPIPE (0.00s)
    --- PASS: TestIgnoredSignals/SIGCHLD (0.00s)
    --- PASS: TestIgnoredSignals/SIGURG (0.00s)
=== RUN   TestCalculateMemUsageUnixNoCache
--- PASS: TestCalculateMemUsageUnixNoCache (0.00s)
=== RUN   TestCalculateMemPercentUnixNoCache
=== RUN   TestCalculateMemPercentUnixNoCache/Limit_is_set
=== RUN   TestCalculateMemPercentUnixNoCache/No_limit,_no_cgroup_data
--- PASS: TestCalculateMemPercentUnixNoCache (0.00s)
    --- PASS: TestCalculateMemPercentUnixNoCache/Limit_is_set (0.00s)
    --- PASS: TestCalculateMemPercentUnixNoCache/No_limit,_no_cgroup_data (0.00s)
=== RUN   TestCalculateBlockIO
--- PASS: TestCalculateBlockIO (0.00s)
=== RUN   TestInitTtySizeErrors
Error: context canceled
--- PASS: TestInitTtySizeErrors (1.50s)
=== RUN   TestWaitExitOrRemoved
time="2024-07-03T22:57:35Z" level=error msg="Error waiting for container: removal failed"
time="2024-07-03T22:57:35Z" level=error msg="error waiting for container: no such container: non-existent-container-id"
--- PASS: TestWaitExitOrRemoved (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/container	1.546s
=== RUN   TestCreate
=== RUN   TestCreate/#00
=== RUN   TestCreate/default
=== RUN   TestCreate/_
=== RUN   TestCreate/existing-context
=== RUN   TestCreate/invalid-docker-host
--- PASS: TestCreate (0.00s)
    --- PASS: TestCreate/#00 (0.00s)
    --- PASS: TestCreate/default (0.00s)
    --- PASS: TestCreate/_ (0.00s)
    --- PASS: TestCreate/existing-context (0.00s)
    --- PASS: TestCreate/invalid-docker-host (0.00s)
=== RUN   TestCreateOrchestratorEmpty
--- PASS: TestCreateOrchestratorEmpty (0.00s)
=== RUN   TestCreateFromContext
=== RUN   TestCreateFromContext/no-override
=== RUN   TestCreateFromContext/override-description
--- PASS: TestCreateFromContext (0.00s)
    --- PASS: TestCreateFromContext/no-override (0.00s)
    --- PASS: TestCreateFromContext/override-description (0.00s)
=== RUN   TestCreateFromCurrent
=== RUN   TestCreateFromCurrent/no-override
=== RUN   TestCreateFromCurrent/override-description
--- PASS: TestCreateFromCurrent (0.01s)
    --- PASS: TestCreateFromCurrent/no-override (0.00s)
    --- PASS: TestCreateFromCurrent/override-description (0.00s)
=== RUN   TestExportImportWithFile
--- PASS: TestExportImportWithFile (0.00s)
=== RUN   TestExportImportPipe
--- PASS: TestExportImportPipe (0.00s)
=== RUN   TestExportExistingFile
--- PASS: TestExportExistingFile (0.00s)
=== RUN   TestInspect
--- PASS: TestInspect (0.00s)
=== RUN   TestList
--- PASS: TestList (0.00s)
=== RUN   TestListJSON
=== RUN   TestListJSON/format={{json_.}}
=== RUN   TestListJSON/format=json
=== RUN   TestListJSON/format={{_json_.Name_}}
--- PASS: TestListJSON (0.01s)
    --- PASS: TestListJSON/format={{json_.}} (0.00s)
    --- PASS: TestListJSON/format=json (0.01s)
    --- PASS: TestListJSON/format={{_json_.Name_}} (0.00s)
=== RUN   TestListQuiet
--- PASS: TestListQuiet (0.00s)
=== RUN   TestListError
--- PASS: TestListError (0.00s)
=== RUN   TestRemove
--- PASS: TestRemove (0.00s)
=== RUN   TestRemoveNotAContext
--- PASS: TestRemoveNotAContext (0.00s)
=== RUN   TestRemoveCurrent
--- PASS: TestRemoveCurrent (0.00s)
=== RUN   TestRemoveCurrentForce
--- PASS: TestRemoveCurrentForce (0.00s)
=== RUN   TestRemoveDefault
--- PASS: TestRemoveDefault (0.00s)
=== RUN   TestShow
--- PASS: TestShow (0.00s)
=== RUN   TestUpdateDescriptionOnly
--- PASS: TestUpdateDescriptionOnly (0.00s)
=== RUN   TestUpdateDockerOnly
--- PASS: TestUpdateDockerOnly (0.00s)
=== RUN   TestUpdateInvalidDockerHost
--- PASS: TestUpdateInvalidDockerHost (0.00s)
=== RUN   TestUse
--- PASS: TestUse (0.00s)
=== RUN   TestUseNoExist
--- PASS: TestUseNoExist (0.00s)
=== RUN   TestUseDefaultWithoutConfigFile
--- PASS: TestUseDefaultWithoutConfigFile (0.00s)
=== RUN   TestUseHostOverride
--- PASS: TestUseHostOverride (0.00s)
=== RUN   TestUseHostOverrideEmpty
--- PASS: TestUseHostOverrideEmpty (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/context	0.080s
=== RUN   TestContainerPsContext
--- PASS: TestContainerPsContext (0.00s)
=== RUN   TestContainerContextWrite
=== RUN   TestContainerContextWrite/{{InvalidFunction}}
=== RUN   TestContainerContextWrite/{{nil}}
=== RUN   TestContainerContextWrite/table_{{.ID}}_{{.Image}}_{{.Command}}_{{.RunningFor}}_{{.Status}}_{{.Ports}}_{{.Names}}\t{{.Size}}
=== RUN   TestContainerContextWrite/table_{{.ID}}_{{.Image}}_{{.Command}}_{{.RunningFor}}_{{.Status}}_{{.Ports}}_{{.Names}}
=== RUN   TestContainerContextWrite/table_{{.Image}}
=== RUN   TestContainerContextWrite/table_{{.Image}}#01
=== RUN   TestContainerContextWrite/{{.ID}}
=== RUN   TestContainerContextWrite/{{.ID}}#01
=== RUN   TestContainerContextWrite/table_{{.State}}
=== RUN   TestContainerContextWrite/container_id:_{{.ID}}_image:_{{.Image}}_command:_{{.Command}}_created_at:_{{.CreatedAt}}_state:_{{-_pad_.State_1_0}}_status:_{{-_pad_.Status_1_0}}_names:_{{.Names}}_labels:_{{-_pad_.Labels_1_0}}_ports:_{{-_pad_.Ports_1_0}}_
=== RUN   TestContainerContextWrite/container_id:_{{.ID}}_image:_{{.Image}}_command:_{{.Command}}_created_at:_{{.CreatedAt}}_state:_{{-_pad_.State_1_0}}_status:_{{-_pad_.Status_1_0}}_names:_{{.Names}}_labels:_{{-_pad_.Labels_1_0}}_ports:_{{-_pad_.Ports_1_0}}_size:_{{.Size}}\n
=== RUN   TestContainerContextWrite/container_id:_{{.ID}}
=== RUN   TestContainerContextWrite/{{.Image}}
=== RUN   TestContainerContextWrite/{{.Image}}#01
=== RUN   TestContainerContextWrite/table_{{truncate_.ID_5}}\t{{json_.Image}}_{{.RunningFor}}/{{title_.Status}}/{{pad_.Ports_2_2}}.{{upper_.Names}}_{{lower_.Status}}
=== RUN   TestContainerContextWrite/table_{{split_.Image_":"}}
--- PASS: TestContainerContextWrite (0.00s)
    --- PASS: TestContainerContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestContainerContextWrite/{{nil}} (0.00s)
    --- PASS: TestContainerContextWrite/table_{{.ID}}_{{.Image}}_{{.Command}}_{{.RunningFor}}_{{.Status}}_{{.Ports}}_{{.Names}}\t{{.Size}} (0.00s)
    --- PASS: TestContainerContextWrite/table_{{.ID}}_{{.Image}}_{{.Command}}_{{.RunningFor}}_{{.Status}}_{{.Ports}}_{{.Names}} (0.00s)
    --- PASS: TestContainerContextWrite/table_{{.Image}} (0.00s)
    --- PASS: TestContainerContextWrite/table_{{.Image}}#01 (0.00s)
    --- PASS: TestContainerContextWrite/{{.ID}} (0.00s)
    --- PASS: TestContainerContextWrite/{{.ID}}#01 (0.00s)
    --- PASS: TestContainerContextWrite/table_{{.State}} (0.00s)
    --- PASS: TestContainerContextWrite/container_id:_{{.ID}}_image:_{{.Image}}_command:_{{.Command}}_created_at:_{{.CreatedAt}}_state:_{{-_pad_.State_1_0}}_status:_{{-_pad_.Status_1_0}}_names:_{{.Names}}_labels:_{{-_pad_.Labels_1_0}}_ports:_{{-_pad_.Ports_1_0}}_ (0.00s)
    --- PASS: TestContainerContextWrite/container_id:_{{.ID}}_image:_{{.Image}}_command:_{{.Command}}_created_at:_{{.CreatedAt}}_state:_{{-_pad_.State_1_0}}_status:_{{-_pad_.Status_1_0}}_names:_{{.Names}}_labels:_{{-_pad_.Labels_1_0}}_ports:_{{-_pad_.Ports_1_0}}_size:_{{.Size}}\n (0.00s)
    --- PASS: TestContainerContextWrite/container_id:_{{.ID}} (0.00s)
    --- PASS: TestContainerContextWrite/{{.Image}} (0.00s)
    --- PASS: TestContainerContextWrite/{{.Image}}#01 (0.00s)
    --- PASS: TestContainerContextWrite/table_{{truncate_.ID_5}}\t{{json_.Image}}_{{.RunningFor}}/{{title_.Status}}/{{pad_.Ports_2_2}}.{{upper_.Names}}_{{lower_.Status}} (0.00s)
    --- PASS: TestContainerContextWrite/table_{{split_.Image_":"}} (0.00s)
=== RUN   TestContainerContextWriteWithNoContainers
=== RUN   TestContainerContextWriteWithNoContainers/{{.Image}}
=== RUN   TestContainerContextWriteWithNoContainers/table_{{.Image}}
=== RUN   TestContainerContextWriteWithNoContainers/{{.Image}}#01
=== RUN   TestContainerContextWriteWithNoContainers/table_{{.Image}}#01
=== RUN   TestContainerContextWriteWithNoContainers/table_{{.Image}}_{{.Size}}
=== RUN   TestContainerContextWriteWithNoContainers/table_{{.Image}}_{{.Size}}#01
--- PASS: TestContainerContextWriteWithNoContainers (0.00s)
    --- PASS: TestContainerContextWriteWithNoContainers/{{.Image}} (0.00s)
    --- PASS: TestContainerContextWriteWithNoContainers/table_{{.Image}} (0.00s)
    --- PASS: TestContainerContextWriteWithNoContainers/{{.Image}}#01 (0.00s)
    --- PASS: TestContainerContextWriteWithNoContainers/table_{{.Image}}#01 (0.00s)
    --- PASS: TestContainerContextWriteWithNoContainers/table_{{.Image}}_{{.Size}} (0.00s)
    --- PASS: TestContainerContextWriteWithNoContainers/table_{{.Image}}_{{.Size}}#01 (0.00s)
=== RUN   TestContainerContextWriteJSON
--- PASS: TestContainerContextWriteJSON (0.00s)
=== RUN   TestContainerContextWriteJSONField
--- PASS: TestContainerContextWriteJSONField (0.00s)
=== RUN   TestContainerBackCompat
--- PASS: TestContainerBackCompat (0.00s)
=== RUN   TestDisplayablePorts
--- PASS: TestDisplayablePorts (0.00s)
=== RUN   TestDiskUsageContextFormatWrite
=== RUN   TestDiskUsageContextFormatWrite/table_{{.Type}}_{{.TotalCount}}_{{.Active}}_{{.Size}}_{{.Reclaimable}}
=== RUN   TestDiskUsageContextFormatWrite/table
=== RUN   TestDiskUsageContextFormatWrite/{{range_.Images}}type:_Image_repository:_{{_.Repository_}}_tag:_{{.Tag}}_digest:_{{.Digest}}_image_id:_{{.ID}}_created_at:_{{.CreatedAt}}_virtual_size:_{{.Size}}__{{end_-}}_{{range_.Containers}}type:_Container_container_id:_{{.ID}}_image:_{{.Image}}_command:_{{.Command}}_created_at:_{{.CreatedAt}}_state:_{{-_pad_.State_1_0}}_status:_{{-_pad_.Status_1_0}}_names:_{{.Names}}_labels:_{{-_pad_.Labels_1_0}}_ports:_{{-_pad_.Ports_1_0}}_size:_{{.Size}}\n_{{end_-}}_{{range_.Volumes}}type:_Volume_name:_{{.Name}}\ndriver:_{{.Driver}}\n_{{end_-}}_{{range_.BuildCache}}type:_Build_Cache_build_cache_id:_{{.ID}}_parent_id:_{{.Parent}}_build_cache_type:_{{.CacheType}}_description:_{{.Description}}_created_at:_{{.CreatedAt}}_created_since:_{{.CreatedSince}}_last_used_at:_{{.LastUsedAt}}_last_used_since:_{{.LastUsedSince}}_usage_count:_{{.UsageCount}}_in_use:_{{.InUse}}_shared:_{{.Shared}}__{{end_-}}
=== RUN   TestDiskUsageContextFormatWrite/{{json_.}}
=== RUN   TestDiskUsageContextFormatWrite/{{InvalidFunction}}
=== RUN   TestDiskUsageContextFormatWrite/{{nil}}
=== RUN   TestDiskUsageContextFormatWrite/table_{{.Type}}_{{.TotalCount}}_{{.Active}}_{{.Size}}_{{.Reclaimable}}#01
=== RUN   TestDiskUsageContextFormatWrite/table_{{.Type}}_{{.Active}}
=== RUN   TestDiskUsageContextFormatWrite/type:_{{.Type}}_total:_{{.TotalCount}}_active:_{{.Active}}_size:_{{.Size}}_reclaimable:_{{.Reclaimable}}_
--- PASS: TestDiskUsageContextFormatWrite (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/table_{{.Type}}_{{.TotalCount}}_{{.Active}}_{{.Size}}_{{.Reclaimable}} (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/table (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/{{range_.Images}}type:_Image_repository:_{{_.Repository_}}_tag:_{{.Tag}}_digest:_{{.Digest}}_image_id:_{{.ID}}_created_at:_{{.CreatedAt}}_virtual_size:_{{.Size}}__{{end_-}}_{{range_.Containers}}type:_Container_container_id:_{{.ID}}_image:_{{.Image}}_command:_{{.Command}}_created_at:_{{.CreatedAt}}_state:_{{-_pad_.State_1_0}}_status:_{{-_pad_.Status_1_0}}_names:_{{.Names}}_labels:_{{-_pad_.Labels_1_0}}_ports:_{{-_pad_.Ports_1_0}}_size:_{{.Size}}\n_{{end_-}}_{{range_.Volumes}}type:_Volume_name:_{{.Name}}\ndriver:_{{.Driver}}\n_{{end_-}}_{{range_.BuildCache}}type:_Build_Cache_build_cache_id:_{{.ID}}_parent_id:_{{.Parent}}_build_cache_type:_{{.CacheType}}_description:_{{.Description}}_created_at:_{{.CreatedAt}}_created_since:_{{.CreatedSince}}_last_used_at:_{{.LastUsedAt}}_last_used_since:_{{.LastUsedSince}}_usage_count:_{{.UsageCount}}_in_use:_{{.InUse}}_shared:_{{.Shared}}__{{end_-}} (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/{{json_.}} (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/{{nil}} (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/table_{{.Type}}_{{.TotalCount}}_{{.Active}}_{{.Size}}_{{.Reclaimable}}#01 (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/table_{{.Type}}_{{.Active}} (0.00s)
    --- PASS: TestDiskUsageContextFormatWrite/type:_{{.Type}}_total:_{{.TotalCount}}_active:_{{.Active}}_size:_{{.Size}}_reclaimable:_{{.Reclaimable}}_ (0.00s)
=== RUN   TestEllipsis
--- PASS: TestEllipsis (0.00s)
=== RUN   TestFormat
--- PASS: TestFormat (0.00s)
=== RUN   TestContext
=== RUN   TestContext/json_format
=== RUN   TestContext/table_format
--- PASS: TestContext (0.00s)
    --- PASS: TestContext/json_format (0.00s)
    --- PASS: TestContext/table_format (0.00s)
=== RUN   TestImageContext
--- PASS: TestImageContext (0.00s)
=== RUN   TestImageContextWrite
=== RUN   TestImageContextWrite/{{InvalidFunction}}
=== RUN   TestImageContextWrite/{{nil}}
=== RUN   TestImageContextWrite/table_{{.Repository}}_{{.Tag}}_{{.ID}}_{{if_.CreatedSince_}}{{.CreatedSince}}{{else}}N/A{{end}}_{{.Size}}
=== RUN   TestImageContextWrite/table_{{.Repository}}
=== RUN   TestImageContextWrite/table_{{.Repository}}_{{.Digest}}
=== RUN   TestImageContextWrite/table_{{.Repository}}#01
=== RUN   TestImageContextWrite/table_{{.Digest}}
=== RUN   TestImageContextWrite/{{.ID}}
=== RUN   TestImageContextWrite/table_{{.Repository}}_{{.Tag}}_{{.Digest}}_{{.ID}}_{{if_.CreatedSince_}}{{.CreatedSince}}{{else}}N/A{{end}}_{{.Size}}
=== RUN   TestImageContextWrite/{{.ID}}#01
=== RUN   TestImageContextWrite/repository:_{{_.Repository_}}_tag:_{{.Tag}}_image_id:_{{.ID}}_created_at:_{{.CreatedAt}}_virtual_size:_{{.Size}}_
=== RUN   TestImageContextWrite/repository:_{{_.Repository_}}_tag:_{{.Tag}}_digest:_{{.Digest}}_image_id:_{{.ID}}_created_at:_{{.CreatedAt}}_virtual_size:_{{.Size}}_
=== RUN   TestImageContextWrite/image_id:_{{.ID}}
=== RUN   TestImageContextWrite/{{.Repository}}
=== RUN   TestImageContextWrite/{{.Repository}}#01
--- PASS: TestImageContextWrite (0.00s)
    --- PASS: TestImageContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestImageContextWrite/{{nil}} (0.00s)
    --- PASS: TestImageContextWrite/table_{{.Repository}}_{{.Tag}}_{{.ID}}_{{if_.CreatedSince_}}{{.CreatedSince}}{{else}}N/A{{end}}_{{.Size}} (0.00s)
    --- PASS: TestImageContextWrite/table_{{.Repository}} (0.00s)
    --- PASS: TestImageContextWrite/table_{{.Repository}}_{{.Digest}} (0.00s)
    --- PASS: TestImageContextWrite/table_{{.Repository}}#01 (0.00s)
    --- PASS: TestImageContextWrite/table_{{.Digest}} (0.00s)
    --- PASS: TestImageContextWrite/{{.ID}} (0.00s)
    --- PASS: TestImageContextWrite/table_{{.Repository}}_{{.Tag}}_{{.Digest}}_{{.ID}}_{{if_.CreatedSince_}}{{.CreatedSince}}{{else}}N/A{{end}}_{{.Size}} (0.00s)
    --- PASS: TestImageContextWrite/{{.ID}}#01 (0.00s)
    --- PASS: TestImageContextWrite/repository:_{{_.Repository_}}_tag:_{{.Tag}}_image_id:_{{.ID}}_created_at:_{{.CreatedAt}}_virtual_size:_{{.Size}}_ (0.00s)
    --- PASS: TestImageContextWrite/repository:_{{_.Repository_}}_tag:_{{.Tag}}_digest:_{{.Digest}}_image_id:_{{.ID}}_created_at:_{{.CreatedAt}}_virtual_size:_{{.Size}}_ (0.00s)
    --- PASS: TestImageContextWrite/image_id:_{{.ID}} (0.00s)
    --- PASS: TestImageContextWrite/{{.Repository}} (0.00s)
    --- PASS: TestImageContextWrite/{{.Repository}}#01 (0.00s)
=== RUN   TestImageContextWriteWithNoImage
=== RUN   TestImageContextWriteWithNoImage/{{.Repository}}
=== RUN   TestImageContextWriteWithNoImage/table_{{.Repository}}
=== RUN   TestImageContextWriteWithNoImage/{{.Repository}}#01
=== RUN   TestImageContextWriteWithNoImage/table_{{.Repository}}_{{.Digest}}
--- PASS: TestImageContextWriteWithNoImage (0.00s)
    --- PASS: TestImageContextWriteWithNoImage/{{.Repository}} (0.00s)
    --- PASS: TestImageContextWriteWithNoImage/table_{{.Repository}} (0.00s)
    --- PASS: TestImageContextWriteWithNoImage/{{.Repository}}#01 (0.00s)
    --- PASS: TestImageContextWriteWithNoImage/table_{{.Repository}}_{{.Digest}} (0.00s)
=== RUN   TestMarshalMap
--- PASS: TestMarshalMap (0.00s)
=== RUN   TestMarshalMapBad
--- PASS: TestMarshalMapBad (0.00s)
=== RUN   TestVolumeContext
--- PASS: TestVolumeContext (0.00s)
=== RUN   TestVolumeContextWrite
=== RUN   TestVolumeContextWrite/{{InvalidFunction}}
=== RUN   TestVolumeContextWrite/{{nil}}
=== RUN   TestVolumeContextWrite/table_{{.Driver}}_{{.Name}}
=== RUN   TestVolumeContextWrite/{{.Name}}
=== RUN   TestVolumeContextWrite/table_{{.Name}}
=== RUN   TestVolumeContextWrite/table_{{.Name}}#01
=== RUN   TestVolumeContextWrite/name:_{{.Name}}\ndriver:_{{.Driver}}\n
=== RUN   TestVolumeContextWrite/name:_{{.Name}}
=== RUN   TestVolumeContextWrite/{{.Name}}#01
--- PASS: TestVolumeContextWrite (0.00s)
    --- PASS: TestVolumeContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestVolumeContextWrite/{{nil}} (0.00s)
    --- PASS: TestVolumeContextWrite/table_{{.Driver}}_{{.Name}} (0.00s)
    --- PASS: TestVolumeContextWrite/{{.Name}} (0.00s)
    --- PASS: TestVolumeContextWrite/table_{{.Name}} (0.00s)
    --- PASS: TestVolumeContextWrite/table_{{.Name}}#01 (0.00s)
    --- PASS: TestVolumeContextWrite/name:_{{.Name}}\ndriver:_{{.Driver}}\n (0.00s)
    --- PASS: TestVolumeContextWrite/name:_{{.Name}} (0.00s)
    --- PASS: TestVolumeContextWrite/{{.Name}}#01 (0.00s)
=== RUN   TestVolumeContextWriteJSON
--- PASS: TestVolumeContextWriteJSON (0.00s)
=== RUN   TestVolumeContextWriteJSONField
--- PASS: TestVolumeContextWriteJSONField (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/formatter	(cached)
=== RUN   Test
--- PASS: Test (0.00s)
=== RUN   TestPanicDuringFlush
--- PASS: TestPanicDuringFlush (0.00s)
=== RUN   TestPanicDuringWrite
--- PASS: TestPanicDuringWrite (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/formatter/tabwriter	(cached)
=== RUN   TestResolveError
--- PASS: TestResolveError (0.00s)
=== RUN   TestResolveWithNoResolveOption
--- PASS: TestResolveWithNoResolveOption (0.00s)
=== RUN   TestResolveWithCache
--- PASS: TestResolveWithCache (0.00s)
=== RUN   TestResolveNode
--- PASS: TestResolveNode (0.00s)
=== RUN   TestResolveService
--- PASS: TestResolveService (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/idresolver	(cached)
=== RUN   TestRunBuildDockerfileFromStdinWithCompress
--- PASS: TestRunBuildDockerfileFromStdinWithCompress (0.00s)
=== RUN   TestRunBuildResetsUidAndGidInContext
--- PASS: TestRunBuildResetsUidAndGidInContext (0.00s)
=== RUN   TestRunBuildDockerfileOutsideContext
--- PASS: TestRunBuildDockerfileOutsideContext (0.00s)
=== RUN   TestRunBuildFromGitHubSpecialCase
Error: unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /tmp/docker-build-git1181851467/Dockerfile: no such file or directory
--- PASS: TestRunBuildFromGitHubSpecialCase (0.85s)
=== RUN   TestRunBuildFromLocalGitHubDir
--- PASS: TestRunBuildFromLocalGitHubDir (0.00s)
=== RUN   TestRunBuildWithSymlinkedContext
--- PASS: TestRunBuildWithSymlinkedContext (0.00s)
=== RUN   TestHistoryContext_ID
--- PASS: TestHistoryContext_ID (0.00s)
=== RUN   TestHistoryContext_CreatedSince
--- PASS: TestHistoryContext_CreatedSince (0.00s)
=== RUN   TestHistoryContext_CreatedBy
--- PASS: TestHistoryContext_CreatedBy (0.00s)
=== RUN   TestHistoryContext_Size
--- PASS: TestHistoryContext_Size (0.00s)
=== RUN   TestHistoryContext_Comment
--- PASS: TestHistoryContext_Comment (0.00s)
=== RUN   TestHistoryContext_Table
=== RUN   TestHistoryContext_Table/table_{{.ID}}_{{.CreatedSince}}_{{.CreatedBy}}_{{.Size}}_{{.Comment}}
=== RUN   TestHistoryContext_Table/table_{{.ID}}_{{.CreatedSince}}_{{.CreatedBy}}_{{.Size}}_{{.Comment}}#01
--- PASS: TestHistoryContext_Table (0.00s)
    --- PASS: TestHistoryContext_Table/table_{{.ID}}_{{.CreatedSince}}_{{.CreatedBy}}_{{.Size}}_{{.Comment}} (0.00s)
    --- PASS: TestHistoryContext_Table/table_{{.ID}}_{{.CreatedSince}}_{{.CreatedBy}}_{{.Size}}_{{.Comment}}#01 (0.00s)
=== RUN   TestNewHistoryCommandErrors
Error: "history" requires exactly 1 argument.
See 'history --help'.

Usage:  history [OPTIONS] IMAGE [flags]

Show the history of an image
Error: something went wrong
--- PASS: TestNewHistoryCommandErrors (0.00s)
=== RUN   TestNewHistoryCommandSuccess
=== RUN   TestNewHistoryCommandSuccess/simple
=== RUN   TestNewHistoryCommandSuccess/quiet
=== RUN   TestNewHistoryCommandSuccess/non-human
=== RUN   TestNewHistoryCommandSuccess/quiet-no-trunc
--- PASS: TestNewHistoryCommandSuccess (0.00s)
    --- PASS: TestNewHistoryCommandSuccess/simple (0.00s)
    --- PASS: TestNewHistoryCommandSuccess/quiet (0.00s)
    --- PASS: TestNewHistoryCommandSuccess/non-human (0.00s)
    --- PASS: TestNewHistoryCommandSuccess/quiet-no-trunc (0.00s)
=== RUN   TestNewImportCommandErrors
Error: "import" requires at least 1 argument.
See 'import --help'.

Usage:  import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] [flags]

Import the contents from a tarball to create a filesystem image
Error: something went wrong
--- PASS: TestNewImportCommandErrors (0.00s)
=== RUN   TestNewImportCommandInvalidFile
Error: open testdata/import-command-success.unexistent-file: no such file or directory
--- PASS: TestNewImportCommandInvalidFile (0.00s)
=== RUN   TestNewImportCommandSuccess
--- PASS: TestNewImportCommandSuccess (0.00s)
=== RUN   TestNewInspectCommandErrors
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect [OPTIONS] IMAGE [IMAGE...] [flags]

Display detailed information on one or more images
--- PASS: TestNewInspectCommandErrors (0.00s)
=== RUN   TestNewInspectCommandSuccess
=== RUN   TestNewInspectCommandSuccess/simple
=== RUN   TestNewInspectCommandSuccess/format
=== RUN   TestNewInspectCommandSuccess/simple-many
--- PASS: TestNewInspectCommandSuccess (0.00s)
    --- PASS: TestNewInspectCommandSuccess/simple (0.00s)
    --- PASS: TestNewInspectCommandSuccess/format (0.00s)
    --- PASS: TestNewInspectCommandSuccess/simple-many (0.00s)
=== RUN   TestNewImagesCommandErrors
Error: "images" requires at most 1 argument.
See 'images --help'.

Usage:  images [OPTIONS] [REPOSITORY[:TAG]] [flags]

List images
Error: something went wrong
--- PASS: TestNewImagesCommandErrors (0.00s)
=== RUN   TestNewImagesCommandSuccess
--- PASS: TestNewImagesCommandSuccess (0.00s)
=== RUN   TestNewListCommandAlias
--- PASS: TestNewListCommandAlias (0.00s)
=== RUN   TestNewListCommandAmbiguous
--- PASS: TestNewListCommandAmbiguous (0.00s)
=== RUN   TestNewLoadCommandErrors
Error: "load" accepts no arguments.
See 'load --help'.

Usage:  load [OPTIONS] [flags]

Load an image from a tar archive or STDIN
Error: requested load from stdin, but stdin is empty
Error: something went wrong
--- PASS: TestNewLoadCommandErrors (0.00s)
=== RUN   TestNewLoadCommandInvalidInput
Error: open *: no such file or directory
--- PASS: TestNewLoadCommandInvalidInput (0.00s)
=== RUN   TestNewLoadCommandSuccess
--- PASS: TestNewLoadCommandSuccess (0.00s)
=== RUN   TestNewPruneCommandErrors
Error: "prune" accepts no arguments.
See 'prune --help'.

Usage:  prune [OPTIONS] [flags]

Remove unused images
Error: something went wrong
--- PASS: TestNewPruneCommandErrors (0.00s)
=== RUN   TestNewPruneCommandSuccess
=== RUN   TestNewPruneCommandSuccess/all
=== RUN   TestNewPruneCommandSuccess/force-deleted
=== RUN   TestNewPruneCommandSuccess/label-filter
=== RUN   TestNewPruneCommandSuccess/force-untagged
--- PASS: TestNewPruneCommandSuccess (0.00s)
    --- PASS: TestNewPruneCommandSuccess/all (0.00s)
    --- PASS: TestNewPruneCommandSuccess/force-deleted (0.00s)
    --- PASS: TestNewPruneCommandSuccess/label-filter (0.00s)
    --- PASS: TestNewPruneCommandSuccess/force-untagged (0.00s)
=== RUN   TestPrunePromptTermination
Error: prompt terminated
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused images, not just dangling ones
      --filter filter   Provide filter values (e.g. "until=<timestamp>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

--- PASS: TestPrunePromptTermination (0.00s)
=== RUN   TestNewPullCommandErrors
Error: "pull" requires exactly 1 argument.
See 'pull --help'.

Usage:  pull [OPTIONS] NAME[:TAG|@DIGEST] [flags]

Download an image from a registry
Error: invalid reference format: repository name (library/UPPERCASE_REPO) must be lowercase
Error: tag can't be used with --all-tags/-a
--- PASS: TestNewPullCommandErrors (0.00s)
=== RUN   TestNewPullCommandSuccess
--- PASS: TestNewPullCommandSuccess (0.01s)
=== RUN   TestNewPullCommandWithContentTrustErrors
Error: client is offline
Error: Error: remote trust data does not exist for docker.io/library/image:  does not have trust data for 
Error: No valid trust data for tag
--- PASS: TestNewPullCommandWithContentTrustErrors (0.00s)
=== RUN   TestNewPushCommandErrors
Error: "push" requires exactly 1 argument.
See 'push --help'.

Usage:  push [OPTIONS] NAME[:TAG] [flags]

Upload an image to a registry
Error: invalid reference format: repository name (library/UPPERCASE_REPO) must be lowercase
Error: Failed to push
--- PASS: TestNewPushCommandErrors (0.00s)
=== RUN   TestNewPushCommandSuccess
=== RUN   TestNewPushCommandSuccess/push
=== RUN   TestNewPushCommandSuccess/push_quiet
--- PASS: TestNewPushCommandSuccess (0.00s)
    --- PASS: TestNewPushCommandSuccess/push (0.00s)
    --- PASS: TestNewPushCommandSuccess/push_quiet (0.00s)
=== RUN   TestNewRemoveCommandAlias
--- PASS: TestNewRemoveCommandAlias (0.00s)
=== RUN   TestNewRemoveCommandErrors
=== RUN   TestNewRemoveCommandErrors/wrong_args
Error: "rmi" requires at least 1 argument.
See 'rmi --help'.

Usage:  rmi [OPTIONS] IMAGE [IMAGE...] [flags]

Remove one or more images
=== RUN   TestNewRemoveCommandErrors/ImageRemove_fail_with_force_option
Error: error removing image
=== RUN   TestNewRemoveCommandErrors/ImageRemove_fail
Error: error removing image
--- PASS: TestNewRemoveCommandErrors (0.00s)
    --- PASS: TestNewRemoveCommandErrors/wrong_args (0.00s)
    --- PASS: TestNewRemoveCommandErrors/ImageRemove_fail_with_force_option (0.00s)
    --- PASS: TestNewRemoveCommandErrors/ImageRemove_fail (0.00s)
=== RUN   TestNewRemoveCommandSuccess
=== RUN   TestNewRemoveCommandSuccess/Image_Deleted
=== RUN   TestNewRemoveCommandSuccess/Image_not_found_with_force_option
=== RUN   TestNewRemoveCommandSuccess/Image_Untagged
=== RUN   TestNewRemoveCommandSuccess/Image_Deleted_and_Untagged
--- PASS: TestNewRemoveCommandSuccess (0.00s)
    --- PASS: TestNewRemoveCommandSuccess/Image_Deleted (0.00s)
    --- PASS: TestNewRemoveCommandSuccess/Image_not_found_with_force_option (0.00s)
    --- PASS: TestNewRemoveCommandSuccess/Image_Untagged (0.00s)
    --- PASS: TestNewRemoveCommandSuccess/Image_Deleted_and_Untagged (0.00s)
=== RUN   TestNewSaveCommandErrors
Error: "save" requires at least 1 argument.
See 'save --help'.

Usage:  save [OPTIONS] IMAGE [IMAGE...] [flags]

Save one or more images to a tar archive (streamed to STDOUT by default)
Error: cowardly refusing to save to a terminal. Use the -o flag or redirect
Error: error saving image
Error: failed to save image: invalid output path: directory "fakedir" does not exist
Error: failed to save image: invalid output path: "/dev/null" must be a directory or a regular file: got a device
--- PASS: TestNewSaveCommandErrors (0.00s)
=== RUN   TestNewSaveCommandSuccess
--- PASS: TestNewSaveCommandSuccess (0.00s)
=== RUN   TestCliNewTagCommandErrors
Error: "tag" requires exactly 2 arguments.
See 'tag --help'.

Usage:  tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] [flags]

Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
Error: "tag" requires exactly 2 arguments.
See 'tag --help'.

Usage:  tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] [flags]

Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
Error: "tag" requires exactly 2 arguments.
See 'tag --help'.

Usage:  tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] [flags]

Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
--- PASS: TestCliNewTagCommandErrors (0.00s)
=== RUN   TestCliNewTagCommand
--- PASS: TestCliNewTagCommand (0.00s)
=== RUN   TestENVTrustServer
--- PASS: TestENVTrustServer (0.00s)
=== RUN   TestHTTPENVTrustServer
--- PASS: TestHTTPENVTrustServer (0.00s)
=== RUN   TestOfficialTrustServer
--- PASS: TestOfficialTrustServer (0.00s)
=== RUN   TestNonOfficialTrustServer
--- PASS: TestNonOfficialTrustServer (0.00s)
=== RUN   TestAddTargetToAllSignableRolesError
--- PASS: TestAddTargetToAllSignableRolesError (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/image	0.917s
=== RUN   TestGetContextFromLocalDirNoDockerfile
--- PASS: TestGetContextFromLocalDirNoDockerfile (0.00s)
=== RUN   TestGetContextFromLocalDirNotExistingDir
--- PASS: TestGetContextFromLocalDirNotExistingDir (0.01s)
=== RUN   TestGetContextFromLocalDirNotExistingDockerfile
--- PASS: TestGetContextFromLocalDirNotExistingDockerfile (0.00s)
=== RUN   TestGetContextFromLocalDirWithNoDirectory
--- PASS: TestGetContextFromLocalDirWithNoDirectory (0.00s)
=== RUN   TestGetContextFromLocalDirWithDockerfile
--- PASS: TestGetContextFromLocalDirWithDockerfile (0.00s)
=== RUN   TestGetContextFromLocalDirLocalFile
--- PASS: TestGetContextFromLocalDirLocalFile (0.00s)
=== RUN   TestGetContextFromLocalDirWithCustomDockerfile
--- PASS: TestGetContextFromLocalDirWithCustomDockerfile (0.00s)
=== RUN   TestGetContextFromReaderString
--- PASS: TestGetContextFromReaderString (0.00s)
=== RUN   TestGetContextFromReaderStringConflict
--- PASS: TestGetContextFromReaderStringConflict (0.00s)
=== RUN   TestGetContextFromReaderTar
--- PASS: TestGetContextFromReaderTar (0.00s)
=== RUN   TestValidateContextDirectoryEmptyContext
--- PASS: TestValidateContextDirectoryEmptyContext (0.00s)
=== RUN   TestValidateContextDirectoryContextWithNoFiles
--- PASS: TestValidateContextDirectoryContextWithNoFiles (0.00s)
=== RUN   TestValidateContextDirectoryWithOneFile
--- PASS: TestValidateContextDirectoryWithOneFile (0.00s)
=== RUN   TestValidateContextDirectoryWithOneFileExcludes
--- PASS: TestValidateContextDirectoryWithOneFileExcludes (0.00s)
=== RUN   TestIsArchive
--- PASS: TestIsArchive (0.00s)
=== RUN   TestDetectArchiveReader
--- PASS: TestDetectArchiveReader (0.00s)
=== RUN   TestWildcardMatches
--- PASS: TestWildcardMatches (0.00s)
=== RUN   TestPatternMatches
--- PASS: TestPatternMatches (0.00s)
=== RUN   TestExclusionPatternMatchesPatternBefore
--- PASS: TestExclusionPatternMatchesPatternBefore (0.00s)
=== RUN   TestPatternMatchesFolderExclusions
--- PASS: TestPatternMatchesFolderExclusions (0.00s)
=== RUN   TestPatternMatchesFolderWithSlashExclusions
--- PASS: TestPatternMatchesFolderWithSlashExclusions (0.00s)
=== RUN   TestPatternMatchesFolderWildcardExclusions
--- PASS: TestPatternMatchesFolderWildcardExclusions (0.00s)
=== RUN   TestExclusionPatternMatchesPatternAfter
--- PASS: TestExclusionPatternMatchesPatternAfter (0.00s)
=== RUN   TestExclusionPatternMatchesWholeDirectory
--- PASS: TestExclusionPatternMatchesWholeDirectory (0.00s)
=== RUN   TestMatchesWithNoPatterns
--- PASS: TestMatchesWithNoPatterns (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/image/build	(cached)
=== RUN   TestTemplateInspectorDefault
--- PASS: TestTemplateInspectorDefault (0.00s)
=== RUN   TestTemplateInspectorEmpty
--- PASS: TestTemplateInspectorEmpty (0.00s)
=== RUN   TestTemplateInspectorTemplateError
--- PASS: TestTemplateInspectorTemplateError (0.00s)
=== RUN   TestTemplateInspectorRawFallback
--- PASS: TestTemplateInspectorRawFallback (0.00s)
=== RUN   TestTemplateInspectorRawFallbackError
--- PASS: TestTemplateInspectorRawFallbackError (0.00s)
=== RUN   TestTemplateInspectorMultiple
--- PASS: TestTemplateInspectorMultiple (0.00s)
=== RUN   TestIndentedInspectorDefault
--- PASS: TestIndentedInspectorDefault (0.00s)
=== RUN   TestIndentedInspectorMultiple
--- PASS: TestIndentedInspectorMultiple (0.00s)
=== RUN   TestIndentedInspectorEmpty
--- PASS: TestIndentedInspectorEmpty (0.00s)
=== RUN   TestIndentedInspectorRawElements
--- PASS: TestIndentedInspectorRawElements (0.00s)
=== RUN   TestTemplateInspectorRawFallbackNumber
--- PASS: TestTemplateInspectorRawFallbackNumber (0.00s)
=== RUN   TestNewTemplateInspectorFromString
=== RUN   TestNewTemplateInspectorFromString/empty_template_outputs_json_by_default
=== RUN   TestNewTemplateInspectorFromString/json_specific_value_outputs_json
=== RUN   TestNewTemplateInspectorFromString/template_is_applied
--- PASS: TestNewTemplateInspectorFromString (0.00s)
    --- PASS: TestNewTemplateInspectorFromString/empty_template_outputs_json_by_default (0.00s)
    --- PASS: TestNewTemplateInspectorFromString/json_specific_value_outputs_json (0.00s)
    --- PASS: TestNewTemplateInspectorFromString/template_is_applied (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/inspect	(cached)
=== RUN   TestManifestAnnotateError
Error: "annotate" requires exactly 2 arguments.
See 'annotate --help'.

Usage:  annotate [OPTIONS] MANIFEST_LIST MANIFEST [flags]

Add additional information to a local image manifest
Error: annotate: error parsing name for manifest list th!si'sa/fa!ke/li$t/name: invalid reference format
Error: annotate: error parsing name for manifest th!si'sa/fa!ke/im@ge/nam32: invalid reference format
--- PASS: TestManifestAnnotateError (0.00s)
=== RUN   TestManifestAnnotate
Error: manifest for image example.com/fake:0.0 does not exist in example.com/list:v1
Error: manifest entry for image has unsupported os/arch combination: freebsd/fake
--- PASS: TestManifestAnnotate (0.00s)
=== RUN   TestManifestCreateErrors
Error: "create" requires at least 2 arguments.
See 'create --help'.

Usage:  create MANIFEST_LIST MANIFEST [MANIFEST...] [flags]

Create a local manifest list for annotating and pushing to a registry
Error: error parsing name for manifest list th!si'sa/fa!ke/li$t/name: invalid reference format
--- PASS: TestManifestCreateErrors (0.00s)
=== RUN   TestManifestCreateAmend
--- PASS: TestManifestCreateAmend (0.02s)
=== RUN   TestManifestCreateRefuseAmend
Error: refusing to amend an existing manifest list with no --amend flag
--- PASS: TestManifestCreateRefuseAmend (0.00s)
=== RUN   TestManifestCreateNoManifest
Error: No such image: example.com/alpine:3.0
--- PASS: TestManifestCreateNoManifest (0.00s)
=== RUN   TestInspectCommandLocalManifestNotFound
Error: No such manifest: example.com/alpine:3.0
--- PASS: TestInspectCommandLocalManifestNotFound (0.00s)
=== RUN   TestInspectCommandNotFound
Error: No such manifest: example.com/alpine:3.0
--- PASS: TestInspectCommandNotFound (0.00s)
=== RUN   TestInspectCommandLocalManifest
--- PASS: TestInspectCommandLocalManifest (0.00s)
=== RUN   TestInspectcommandRemoteManifest
--- PASS: TestInspectcommandRemoteManifest (0.00s)
=== RUN   TestManifestPushErrors
Error: "push" requires exactly 1 argument.
See 'push --help'.

Usage:  push [OPTIONS] MANIFEST_LIST [flags]

Push a manifest list to a repository
Error: invalid reference format
--- PASS: TestManifestPushErrors (0.00s)
=== RUN   TestManifestPush
--- PASS: TestManifestPush (0.01s)
=== RUN   TestRmSeveralManifests
--- PASS: TestRmSeveralManifests (0.00s)
=== RUN   TestRmManifestNotCreated
Error: No such manifest: example.com/first:1
--- PASS: TestRmManifestNotCreated (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/manifest	0.045s
=== RUN   TestNetworkConnectErrors
Error: "connect" requires exactly 2 arguments.
See 'connect --help'.

Usage:  connect [OPTIONS] NETWORK CONTAINER [flags]

Connect a container to a network
Error: error connecting network
--- PASS: TestNetworkConnectErrors (0.00s)
=== RUN   TestNetworkConnectWithFlags
--- PASS: TestNetworkConnectWithFlags (0.00s)
=== RUN   TestNetworkCreateErrors
Error: "create" requires exactly 1 argument.
See 'create --help'.

Usage:  create [OPTIONS] NETWORK [flags]

Create a network
Error: error creating network
Error: invalid subnet: invalid CIDR address: 10.1.2.0.30.50
Error: invalid CIDR address: 255.255.0.0.30/24
Error: every ip-range or gateway must have a corresponding subnet
Error: every ip-range or gateway must have a corresponding subnet
Error: every ip-range or gateway must have a corresponding subnet
Error: multiple overlapping subnet configuration is not supported
Error: cannot configure multiple ranges (192.168.1.200/24, 192.168.1.0/24) on the same subnet (192.168.1.250/24)
Error: no matching subnet for range 255.255.200.0/24
Error: cannot configure multiple gateways (192.168.1.4, 192.168.1.1) for the same subnet (192.168.1.250/24)
Error: no matching subnet for gateway 192.168.4.1
Error: no matching subnet for aux-address 
--- PASS: TestNetworkCreateErrors (0.00s)
=== RUN   TestNetworkCreateWithFlags
--- PASS: TestNetworkCreateWithFlags (0.00s)
=== RUN   TestNetworkCreateIPv6
=== RUN   TestNetworkCreateIPv6/IPV6_default
=== RUN   TestNetworkCreateIPv6/IPV6_enabled
=== RUN   TestNetworkCreateIPv6/IPV6_enabled_(shorthand)
=== RUN   TestNetworkCreateIPv6/IPV6_disabled
--- PASS: TestNetworkCreateIPv6 (0.00s)
    --- PASS: TestNetworkCreateIPv6/IPV6_default (0.00s)
    --- PASS: TestNetworkCreateIPv6/IPV6_enabled (0.00s)
    --- PASS: TestNetworkCreateIPv6/IPV6_enabled_(shorthand) (0.00s)
    --- PASS: TestNetworkCreateIPv6/IPV6_disabled (0.00s)
=== RUN   TestNetworkDisconnectErrors
Error: "disconnect" requires exactly 2 arguments.
See 'disconnect --help'.

Usage:  disconnect [OPTIONS] NETWORK CONTAINER [flags]

Disconnect a container from a network
Error: error disconnecting network
--- PASS: TestNetworkDisconnectErrors (0.00s)
=== RUN   TestNetworkContext
--- PASS: TestNetworkContext (0.00s)
=== RUN   TestNetworkContextWrite
=== RUN   TestNetworkContextWrite/{{InvalidFunction}}
=== RUN   TestNetworkContextWrite/{{nil}}
=== RUN   TestNetworkContextWrite/table_{{.ID}}_{{.Name}}_{{.Driver}}_{{.Scope}}
=== RUN   TestNetworkContextWrite/{{.ID}}
=== RUN   TestNetworkContextWrite/table_{{.Name}}
=== RUN   TestNetworkContextWrite/table_{{.Name}}#01
=== RUN   TestNetworkContextWrite/network_id:_{{.ID}}\nname:_{{.Name}}\ndriver:_{{.Driver}}\nscope:_{{.Scope}}\n
=== RUN   TestNetworkContextWrite/network_id:_{{.ID}}
=== RUN   TestNetworkContextWrite/{{.Name}}
=== RUN   TestNetworkContextWrite/{{.Name}}_{{.CreatedAt}}
--- PASS: TestNetworkContextWrite (0.00s)
    --- PASS: TestNetworkContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestNetworkContextWrite/{{nil}} (0.00s)
    --- PASS: TestNetworkContextWrite/table_{{.ID}}_{{.Name}}_{{.Driver}}_{{.Scope}} (0.00s)
    --- PASS: TestNetworkContextWrite/{{.ID}} (0.00s)
    --- PASS: TestNetworkContextWrite/table_{{.Name}} (0.00s)
    --- PASS: TestNetworkContextWrite/table_{{.Name}}#01 (0.00s)
    --- PASS: TestNetworkContextWrite/network_id:_{{.ID}}\nname:_{{.Name}}\ndriver:_{{.Driver}}\nscope:_{{.Scope}}\n (0.00s)
    --- PASS: TestNetworkContextWrite/network_id:_{{.ID}} (0.00s)
    --- PASS: TestNetworkContextWrite/{{.Name}} (0.00s)
    --- PASS: TestNetworkContextWrite/{{.Name}}_{{.CreatedAt}} (0.00s)
=== RUN   TestNetworkContextWriteJSON
--- PASS: TestNetworkContextWriteJSON (0.00s)
=== RUN   TestNetworkContextWriteJSONField
--- PASS: TestNetworkContextWriteJSONField (0.00s)
=== RUN   TestNetworkListErrors
Error: error creating network
--- PASS: TestNetworkListErrors (0.00s)
=== RUN   TestNetworkList
=== RUN   TestNetworkList/network_list_with_flags
=== RUN   TestNetworkList/network_list_sort_order
--- PASS: TestNetworkList (0.00s)
    --- PASS: TestNetworkList/network_list_with_flags (0.00s)
    --- PASS: TestNetworkList/network_list_sort_order (0.00s)
=== RUN   TestNetworkPrunePromptTermination
Error: prompt terminated
Usage:
  prune [OPTIONS] [flags]

Flags:
      --filter filter   Provide filter values (e.g. "until=<timestamp>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

--- PASS: TestNetworkPrunePromptTermination (0.00s)
=== RUN   TestNetworkRemoveForce
=== RUN   TestNetworkRemoveForce/existing_network
=== RUN   TestNetworkRemoveForce/existing_network_(forced)
=== RUN   TestNetworkRemoveForce/non-existing_network
=== RUN   TestNetworkRemoveForce/non-existing_network_(forced)
=== RUN   TestNetworkRemoveForce/in-use_network
=== RUN   TestNetworkRemoveForce/in-use_network_(forced)
=== RUN   TestNetworkRemoveForce/multiple_networks
=== RUN   TestNetworkRemoveForce/multiple_networks_(forced)
=== RUN   TestNetworkRemoveForce/multiple_networks_2_(forced)
--- PASS: TestNetworkRemoveForce (0.00s)
    --- PASS: TestNetworkRemoveForce/existing_network (0.00s)
    --- PASS: TestNetworkRemoveForce/existing_network_(forced) (0.00s)
    --- PASS: TestNetworkRemoveForce/non-existing_network (0.00s)
    --- PASS: TestNetworkRemoveForce/non-existing_network_(forced) (0.00s)
    --- PASS: TestNetworkRemoveForce/in-use_network (0.00s)
    --- PASS: TestNetworkRemoveForce/in-use_network_(forced) (0.00s)
    --- PASS: TestNetworkRemoveForce/multiple_networks (0.00s)
    --- PASS: TestNetworkRemoveForce/multiple_networks_(forced) (0.00s)
    --- PASS: TestNetworkRemoveForce/multiple_networks_2_(forced) (0.00s)
=== RUN   TestNetworkRemovePromptTermination
Error: prompt terminated
Usage:
  rm NETWORK [NETWORK...] [flags]

Aliases:
  rm, remove

Flags:
  -f, --force   Do not error if the network does not exist
  -h, --help    help for rm

--- PASS: TestNetworkRemovePromptTermination (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/network	0.019s
=== RUN   TestNodeDemoteErrors
Error: "demote" requires at least 1 argument.
See 'demote --help'.

Usage:  demote NODE [NODE...] [flags]

Demote one or more nodes from manager in the swarm
Error: error inspecting the node
Error: error updating the node
--- PASS: TestNodeDemoteErrors (0.00s)
=== RUN   TestNodeDemoteNoChange
--- PASS: TestNodeDemoteNoChange (0.00s)
=== RUN   TestNodeDemoteMultipleNode
--- PASS: TestNodeDemoteMultipleNode (0.00s)
=== RUN   TestNodeContext
--- PASS: TestNodeContext (0.00s)
=== RUN   TestNodeContextWrite
=== RUN   TestNodeContextWrite/{{InvalidFunction}}
=== RUN   TestNodeContextWrite/{{nil}}
=== RUN   TestNodeContextWrite/table_{{.ID}}_{{if_.Self}}*{{else}}_{{_end_}}_{{.Hostname}}_{{.Status}}_{{.Availability}}_{{.ManagerStatus}}_{{.EngineVersion}}
=== RUN   TestNodeContextWrite/{{.ID}}
=== RUN   TestNodeContextWrite/table_{{.Hostname}}
=== RUN   TestNodeContextWrite/table_{{.Hostname}}#01
=== RUN   TestNodeContextWrite/table_{{.ID}}_{{.Hostname}}_{{.TLSStatus}}
=== RUN   TestNodeContextWrite/table_{{.ID}}_{{.Hostname}}_{{.TLSStatus}}#01
=== RUN   TestNodeContextWrite/node_id:_{{.ID}}\nhostname:_{{.Hostname}}\nstatus:_{{.Status}}\navailability:_{{.Availability}}\nmanager_status:_{{.ManagerStatus}}\n
=== RUN   TestNodeContextWrite/node_id:_{{.ID}}
=== RUN   TestNodeContextWrite/{{.Hostname}}__{{.TLSStatus}}
--- PASS: TestNodeContextWrite (0.00s)
    --- PASS: TestNodeContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestNodeContextWrite/{{nil}} (0.00s)
    --- PASS: TestNodeContextWrite/table_{{.ID}}_{{if_.Self}}*{{else}}_{{_end_}}_{{.Hostname}}_{{.Status}}_{{.Availability}}_{{.ManagerStatus}}_{{.EngineVersion}} (0.00s)
    --- PASS: TestNodeContextWrite/{{.ID}} (0.00s)
    --- PASS: TestNodeContextWrite/table_{{.Hostname}} (0.00s)
    --- PASS: TestNodeContextWrite/table_{{.Hostname}}#01 (0.00s)
    --- PASS: TestNodeContextWrite/table_{{.ID}}_{{.Hostname}}_{{.TLSStatus}} (0.00s)
    --- PASS: TestNodeContextWrite/table_{{.ID}}_{{.Hostname}}_{{.TLSStatus}}#01 (0.00s)
    --- PASS: TestNodeContextWrite/node_id:_{{.ID}}\nhostname:_{{.Hostname}}\nstatus:_{{.Status}}\navailability:_{{.Availability}}\nmanager_status:_{{.ManagerStatus}}\n (0.00s)
    --- PASS: TestNodeContextWrite/node_id:_{{.ID}} (0.00s)
    --- PASS: TestNodeContextWrite/{{.Hostname}}__{{.TLSStatus}} (0.00s)
=== RUN   TestNodeContextWriteJSON
--- PASS: TestNodeContextWriteJSON (0.00s)
=== RUN   TestNodeContextWriteJSONField
--- PASS: TestNodeContextWriteJSONField (0.00s)
=== RUN   TestNodeInspectWriteContext
--- PASS: TestNodeInspectWriteContext (0.00s)
=== RUN   TestNodeInspectErrors
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect [OPTIONS] self|NODE [NODE...] [flags]

Display detailed information on one or more nodes
Error: Status: Status: error asking for node info, Code: 1, Code: 1
Error: Status: Status: error inspecting the node, Code: 1, Code: 1
Error: Status: Status: error inspecting the node, Code: 1, Code: 1
Error: Status: error asking for node info, Code: 1
--- PASS: TestNodeInspectErrors (0.00s)
=== RUN   TestNodeInspectPretty
--- PASS: TestNodeInspectPretty (0.00s)
=== RUN   TestNodeListErrorOnAPIFailure
Error: error listing nodes
Error: error asking for node info
--- PASS: TestNodeListErrorOnAPIFailure (0.00s)
=== RUN   TestNodeList
--- PASS: TestNodeList (0.00s)
=== RUN   TestNodeListQuietShouldOnlyPrintIDs
--- PASS: TestNodeListQuietShouldOnlyPrintIDs (0.00s)
=== RUN   TestNodeListDefaultFormatFromConfig
--- PASS: TestNodeListDefaultFormatFromConfig (0.00s)
=== RUN   TestNodeListFormat
--- PASS: TestNodeListFormat (0.00s)
=== RUN   TestNodePromoteErrors
Error: "promote" requires at least 1 argument.
See 'promote --help'.

Usage:  promote NODE [NODE...] [flags]

Promote one or more nodes to manager in the swarm
Error: error inspecting the node
Error: error updating the node
--- PASS: TestNodePromoteErrors (0.00s)
=== RUN   TestNodePromoteNoChange
--- PASS: TestNodePromoteNoChange (0.00s)
=== RUN   TestNodePromoteMultipleNode
--- PASS: TestNodePromoteMultipleNode (0.00s)
=== RUN   TestNodePsErrors
Error: error asking for node info
Error: error inspecting the node
Error: error returning the task list
--- PASS: TestNodePsErrors (0.00s)
=== RUN   TestNodePs
--- PASS: TestNodePs (0.00s)
=== RUN   TestNodeRemoveErrors
Error: "rm" requires at least 1 argument.
See 'rm --help'.

Usage:  rm [OPTIONS] NODE [NODE...] [flags]

Remove one or more nodes from the swarm
Error: error removing the node
--- PASS: TestNodeRemoveErrors (0.00s)
=== RUN   TestNodeRemoveMultiple
--- PASS: TestNodeRemoveMultiple (0.00s)
=== RUN   TestNodeUpdateErrors
Error: "update" requires exactly 1 argument.
See 'update --help'.

Usage:  update [OPTIONS] NODE [flags]

Update a node
Error: "update" requires exactly 1 argument.
See 'update --help'.

Usage:  update [OPTIONS] NODE [flags]

Update a node
Error: error inspecting the node
Error: error updating the node
Error: key notpresent doesn't exist in node's labels
--- PASS: TestNodeUpdateErrors (0.00s)
=== RUN   TestNodeUpdate
--- PASS: TestNodeUpdate (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/node	0.024s
=== RUN   TestCreateErrors
Error: "create" requires at least 2 arguments.
See 'create --help'.

Usage:  create [OPTIONS] PLUGIN PLUGIN-DATA-DIR [flags]

Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.
Error: invalid reference format: repository name (library/INVALID_TAG) must be lowercase
Error: lstat /go/src/github.com/docker/cli/cli/command/plugin/nonexistent_context_dir: no such file or directory
--- PASS: TestCreateErrors (0.00s)
=== RUN   TestCreateErrorOnFileAsContextDir
Error: context must be a directory
--- PASS: TestCreateErrorOnFileAsContextDir (0.00s)
=== RUN   TestCreateErrorOnContextDirWithoutConfig
Error: open /tmp/plugin-create-test-1208581100/config.json: no such file or directory
--- PASS: TestCreateErrorOnContextDirWithoutConfig (0.00s)
=== RUN   TestCreateErrorOnInvalidConfig
Error: invalid character 'i' looking for beginning of value
--- PASS: TestCreateErrorOnInvalidConfig (0.00s)
=== RUN   TestCreateErrorFromDaemon
Error: error creating plugin
--- PASS: TestCreateErrorFromDaemon (0.00s)
=== RUN   TestCreatePlugin
--- PASS: TestCreatePlugin (0.00s)
=== RUN   TestPluginDisableErrors
Error: "disable" requires exactly 1 argument.
See 'disable --help'.

Usage:  disable [OPTIONS] PLUGIN [flags]

Disable a plugin
Error: "disable" requires exactly 1 argument.
See 'disable --help'.

Usage:  disable [OPTIONS] PLUGIN [flags]

Disable a plugin
Error: error disabling plugin
--- PASS: TestPluginDisableErrors (0.00s)
=== RUN   TestPluginDisable
--- PASS: TestPluginDisable (0.00s)
=== RUN   TestPluginEnableErrors
Error: "enable" requires exactly 1 argument.
See 'enable --help'.

Usage:  enable [OPTIONS] PLUGIN [flags]

Enable a plugin
Error: "enable" requires exactly 1 argument.
See 'enable --help'.

Usage:  enable [OPTIONS] PLUGIN [flags]

Enable a plugin
Error: failed to enable plugin
Error: negative timeout -1 is invalid
--- PASS: TestPluginEnableErrors (0.00s)
=== RUN   TestPluginEnable
--- PASS: TestPluginEnable (0.00s)
=== RUN   TestPluginContext
--- PASS: TestPluginContext (0.00s)
=== RUN   TestPluginContextWrite
=== RUN   TestPluginContextWrite/{{InvalidFunction}}
=== RUN   TestPluginContextWrite/{{nil}}
=== RUN   TestPluginContextWrite/table_{{.ID}}_{{.Name}}_{{.Description}}_{{.Enabled}}
=== RUN   TestPluginContextWrite/{{.ID}}
=== RUN   TestPluginContextWrite/table_{{.Name}}
=== RUN   TestPluginContextWrite/table_{{.Name}}#01
=== RUN   TestPluginContextWrite/plugin_id:_{{.ID}}\nname:_{{.Name}}\ndescription:_{{.Description}}\nenabled:_{{.Enabled}}\n
=== RUN   TestPluginContextWrite/plugin_id:_{{.ID}}
=== RUN   TestPluginContextWrite/{{.Name}}
--- PASS: TestPluginContextWrite (0.00s)
    --- PASS: TestPluginContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestPluginContextWrite/{{nil}} (0.00s)
    --- PASS: TestPluginContextWrite/table_{{.ID}}_{{.Name}}_{{.Description}}_{{.Enabled}} (0.00s)
    --- PASS: TestPluginContextWrite/{{.ID}} (0.00s)
    --- PASS: TestPluginContextWrite/table_{{.Name}} (0.00s)
    --- PASS: TestPluginContextWrite/table_{{.Name}}#01 (0.00s)
    --- PASS: TestPluginContextWrite/plugin_id:_{{.ID}}\nname:_{{.Name}}\ndescription:_{{.Description}}\nenabled:_{{.Enabled}}\n (0.00s)
    --- PASS: TestPluginContextWrite/plugin_id:_{{.ID}} (0.00s)
    --- PASS: TestPluginContextWrite/{{.Name}} (0.00s)
=== RUN   TestPluginContextWriteJSON
--- PASS: TestPluginContextWriteJSON (0.00s)
=== RUN   TestPluginContextWriteJSONField
--- PASS: TestPluginContextWriteJSONField (0.00s)
=== RUN   TestInspectErrors
=== RUN   TestInspectErrors/too_few_arguments
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect [OPTIONS] PLUGIN [PLUGIN...] [flags]

Display detailed information on one or more plugins
=== RUN   TestInspectErrors/error_inspecting_plugin
Error: Status: error inspecting plugin, Code: 1
=== RUN   TestInspectErrors/invalid_format
Error: Status: template parsing error: template: :1: function "invalid" not defined, Code: 64
--- PASS: TestInspectErrors (0.00s)
    --- PASS: TestInspectErrors/too_few_arguments (0.00s)
    --- PASS: TestInspectErrors/error_inspecting_plugin (0.00s)
    --- PASS: TestInspectErrors/invalid_format (0.00s)
=== RUN   TestInspect
=== RUN   TestInspect/inspect_single_plugin_with_format
=== RUN   TestInspect/inspect_single_plugin_without_format
=== RUN   TestInspect/inspect_multiple_plugins_with_format
--- PASS: TestInspect (0.01s)
    --- PASS: TestInspect/inspect_single_plugin_with_format (0.00s)
    --- PASS: TestInspect/inspect_single_plugin_without_format (0.00s)
    --- PASS: TestInspect/inspect_multiple_plugins_with_format (0.00s)
=== RUN   TestInstallErrors
Error: "install" requires at least 1 argument.
See 'install --help'.

Usage:  install [OPTIONS] PLUGIN [KEY=VALUE...] [flags]

Install a plugin
Error: invalid reference format: repository name (library/UPPERCASE_ALIAS) must be lowercase
Error: invalid reference format: repository name (library/UPPERCASE_REPONAME) must be lowercase
Error: error installing plugin
Error: (image) when fetching - Use "docker image pull"
--- PASS: TestInstallErrors (0.00s)
=== RUN   TestInstallContentTrustErrors
Error: client is offline
Error: Error: remote trust data does not exist for docker.io/library/plugin:  does not have trust data for 
Error: No valid trust data for tag
--- PASS: TestInstallContentTrustErrors (0.00s)
=== RUN   TestInstall
--- PASS: TestInstall (0.00s)
=== RUN   TestListErrors
Error: "ls" accepts no arguments.
See 'ls --help'.

Usage:  ls [OPTIONS] [flags]

List plugins
Error: error listing plugins
Error: template parsing error: template: :1: function "invalid" not defined
--- PASS: TestListErrors (0.00s)
=== RUN   TestList
--- PASS: TestList (0.01s)
=== RUN   TestRemoveErrors
Error: "rm" requires at least 1 argument.
See 'rm --help'.

Usage:  rm [OPTIONS] PLUGIN [PLUGIN...] [flags]

Remove one or more plugins
Error: error removing plugin
--- PASS: TestRemoveErrors (0.00s)
=== RUN   TestRemove
--- PASS: TestRemove (0.00s)
=== RUN   TestRemoveWithForceOption
--- PASS: TestRemoveWithForceOption (0.00s)
=== RUN   TestUpgradePromptTermination
Error: prompt terminated
Usage:
  upgrade [OPTIONS] PLUGIN [REMOTE] [flags]

Flags:
      --disable-content-trust   Skip image verification (default true)
      --grant-all-permissions   Grant all permissions necessary to run the plugin
  -h, --help                    help for upgrade
      --skip-remote-check       Do not check if specified remote plugin matches existing plugin image

--- PASS: TestUpgradePromptTermination (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/plugin	0.039s
=== RUN   TestSearchContext
--- PASS: TestSearchContext (0.00s)
=== RUN   TestSearchContextDescription
--- PASS: TestSearchContextDescription (0.00s)
=== RUN   TestSearchContextWrite
=== RUN   TestSearchContextWrite/Errors
=== RUN   TestSearchContextWrite/Nil_format
=== RUN   TestSearchContextWrite/JSON_format
=== RUN   TestSearchContextWrite/JSON_format,_single_field
=== RUN   TestSearchContextWrite/Table_format
=== RUN   TestSearchContextWrite/Table_format,_single_column
=== RUN   TestSearchContextWrite/Custom_format,_single_field
=== RUN   TestSearchContextWrite/Custom_Format,_two_columns
--- PASS: TestSearchContextWrite (0.01s)
    --- PASS: TestSearchContextWrite/Errors (0.00s)
    --- PASS: TestSearchContextWrite/Nil_format (0.00s)
    --- PASS: TestSearchContextWrite/JSON_format (0.00s)
    --- PASS: TestSearchContextWrite/JSON_format,_single_field (0.00s)
    --- PASS: TestSearchContextWrite/Table_format (0.00s)
    --- PASS: TestSearchContextWrite/Table_format,_single_column (0.00s)
    --- PASS: TestSearchContextWrite/Custom_format,_single_field (0.00s)
    --- PASS: TestSearchContextWrite/Custom_Format,_two_columns (0.00s)
=== RUN   TestLoginWithCredStoreCreds
--- PASS: TestLoginWithCredStoreCreds (0.00s)
=== RUN   TestRunLogin
=== RUN   TestRunLogin/valid_auth_from_store
=== RUN   TestRunLogin/expired_auth
=== RUN   TestRunLogin/valid_username_and_password
=== RUN   TestRunLogin/unknown_user
=== RUN   TestRunLogin/valid_token
--- PASS: TestRunLogin (0.00s)
    --- PASS: TestRunLogin/valid_auth_from_store (0.00s)
    --- PASS: TestRunLogin/expired_auth (0.00s)
    --- PASS: TestRunLogin/valid_username_and_password (0.00s)
    --- PASS: TestRunLogin/unknown_user (0.00s)
    --- PASS: TestRunLogin/valid_token (0.00s)
=== RUN   TestLoginTermination
--- PASS: TestLoginTermination (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/registry	0.020s
=== RUN   TestSecretCreateErrors
Error: "create" requires at least 1 and at most 2 arguments.
See 'create --help'.

Usage:  create [OPTIONS] SECRET [file|-] [flags]

Create a secret from a file or STDIN as content
Error: When using secret driver secret data must be empty
Error: error creating secret
--- PASS: TestSecretCreateErrors (0.00s)
=== RUN   TestSecretCreateWithName
--- PASS: TestSecretCreateWithName (0.00s)
=== RUN   TestSecretCreateWithDriver
--- PASS: TestSecretCreateWithDriver (0.00s)
=== RUN   TestSecretCreateWithTemplatingDriver
--- PASS: TestSecretCreateWithTemplatingDriver (0.00s)
=== RUN   TestSecretCreateWithLabels
--- PASS: TestSecretCreateWithLabels (0.00s)
=== RUN   TestSecretContextFormatWrite
=== RUN   TestSecretContextFormatWrite/{{InvalidFunction}}
=== RUN   TestSecretContextFormatWrite/{{nil}}
=== RUN   TestSecretContextFormatWrite/table_{{.ID}}_{{.Name}}_{{.Driver}}_{{.CreatedAt}}_{{.UpdatedAt}}
=== RUN   TestSecretContextFormatWrite/table_{{.Name}}
=== RUN   TestSecretContextFormatWrite/{{.ID}}-{{.Name}}
--- PASS: TestSecretContextFormatWrite (0.00s)
    --- PASS: TestSecretContextFormatWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestSecretContextFormatWrite/{{nil}} (0.00s)
    --- PASS: TestSecretContextFormatWrite/table_{{.ID}}_{{.Name}}_{{.Driver}}_{{.CreatedAt}}_{{.UpdatedAt}} (0.00s)
    --- PASS: TestSecretContextFormatWrite/table_{{.Name}} (0.00s)
    --- PASS: TestSecretContextFormatWrite/{{.ID}}-{{.Name}} (0.00s)
=== RUN   TestSecretInspectErrors
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect [OPTIONS] SECRET [SECRET...] [flags]

Display detailed information on one or more secrets
Error: Status: Status: error while inspecting the secret, Code: 1, Code: 1
Error: Status: Status: template parsing error: template: :1: function "invalid" not defined, Code: 64, Code: 1
Error: Status: Status: error while inspecting the secret, Code: 1, Code: 1
--- PASS: TestSecretInspectErrors (0.00s)
=== RUN   TestSecretInspectWithoutFormat
--- PASS: TestSecretInspectWithoutFormat (0.00s)
=== RUN   TestSecretInspectWithFormat
--- PASS: TestSecretInspectWithFormat (0.00s)
=== RUN   TestSecretInspectPretty
--- PASS: TestSecretInspectPretty (0.00s)
=== RUN   TestSecretListErrors
Error: "ls" accepts no arguments.
See 'ls --help'.

Usage:  ls [OPTIONS] [flags]

List secrets
Error: error listing secrets
--- PASS: TestSecretListErrors (0.00s)
=== RUN   TestSecretList
--- PASS: TestSecretList (0.00s)
=== RUN   TestSecretListWithQuietOption
--- PASS: TestSecretListWithQuietOption (0.00s)
=== RUN   TestSecretListWithConfigFormat
--- PASS: TestSecretListWithConfigFormat (0.00s)
=== RUN   TestSecretListWithFormat
--- PASS: TestSecretListWithFormat (0.00s)
=== RUN   TestSecretListWithFilter
--- PASS: TestSecretListWithFilter (0.00s)
=== RUN   TestSecretRemoveErrors
Error: "rm" requires at least 1 argument.
See 'rm --help'.

Usage:  rm SECRET [SECRET...] [flags]

Remove one or more secrets
Error: error removing secret
--- PASS: TestSecretRemoveErrors (0.00s)
=== RUN   TestSecretRemoveWithName
--- PASS: TestSecretRemoveWithName (0.00s)
=== RUN   TestSecretRemoveContinueAfterError
Error: error removing secret: foo
--- PASS: TestSecretRemoveContinueAfterError (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/secret	0.022s
?   	github.com/docker/cli/cli/command/stack/options	[no test files]
=== RUN   TestSetConfigsWithCredSpecAndConfigs
--- PASS: TestSetConfigsWithCredSpecAndConfigs (0.00s)
=== RUN   TestSetConfigsOnlyCredSpec
--- PASS: TestSetConfigsOnlyCredSpec (0.00s)
=== RUN   TestSetConfigsOnlyConfigs
--- PASS: TestSetConfigsOnlyConfigs (0.00s)
=== RUN   TestSetConfigsNoConfigs
--- PASS: TestSetConfigsNoConfigs (0.00s)
=== RUN   TestServiceContextWrite
=== RUN   TestServiceContextWrite/{{InvalidFunction}}
=== RUN   TestServiceContextWrite/{{nil}}
=== RUN   TestServiceContextWrite/table_{{.ID}}_{{.Name}}_{{.Mode}}_{{.Replicas}}_{{.Image}}_{{.Ports}}
=== RUN   TestServiceContextWrite/{{.ID}}
=== RUN   TestServiceContextWrite/table_{{.Name}}_{{.Mode}}
=== RUN   TestServiceContextWrite/table_{{.Name}}
=== RUN   TestServiceContextWrite/id:_{{.ID}}\nname:_{{.Name}}\nmode:_{{.Mode}}\nreplicas:_{{.Replicas}}\nimage:_{{.Image}}\nports:_{{.Ports}}\n
=== RUN   TestServiceContextWrite/id:_{{.ID}}
=== RUN   TestServiceContextWrite/{{.Name}}
--- PASS: TestServiceContextWrite (0.00s)
    --- PASS: TestServiceContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestServiceContextWrite/{{nil}} (0.00s)
    --- PASS: TestServiceContextWrite/table_{{.ID}}_{{.Name}}_{{.Mode}}_{{.Replicas}}_{{.Image}}_{{.Ports}} (0.00s)
    --- PASS: TestServiceContextWrite/{{.ID}} (0.00s)
    --- PASS: TestServiceContextWrite/table_{{.Name}}_{{.Mode}} (0.00s)
    --- PASS: TestServiceContextWrite/table_{{.Name}} (0.00s)
    --- PASS: TestServiceContextWrite/id:_{{.ID}}\nname:_{{.Name}}\nmode:_{{.Mode}}\nreplicas:_{{.Replicas}}\nimage:_{{.Image}}\nports:_{{.Ports}}\n (0.00s)
    --- PASS: TestServiceContextWrite/id:_{{.ID}} (0.00s)
    --- PASS: TestServiceContextWrite/{{.Name}} (0.00s)
=== RUN   TestServiceContextWriteJSON
--- PASS: TestServiceContextWriteJSON (0.00s)
=== RUN   TestServiceContextWriteJSONField
--- PASS: TestServiceContextWriteJSONField (0.00s)
=== RUN   TestServiceContext_Ports
--- PASS: TestServiceContext_Ports (0.00s)
=== RUN   TestValidateSingleGenericResource
--- PASS: TestValidateSingleGenericResource (0.00s)
=== RUN   TestPrettyPrint
--- PASS: TestPrettyPrint (0.00s)
=== RUN   TestPrettyPrintWithNoUpdateConfig
--- PASS: TestPrettyPrintWithNoUpdateConfig (0.00s)
=== RUN   TestJSONFormatWithNoUpdateConfig
--- PASS: TestJSONFormatWithNoUpdateConfig (0.00s)
=== RUN   TestPrettyPrintWithConfigsAndSecrets
--- PASS: TestPrettyPrintWithConfigsAndSecrets (0.00s)
=== RUN   TestServiceListOrder
--- PASS: TestServiceListOrder (0.00s)
=== RUN   TestServiceListServiceStatus
=== RUN   TestServiceListServiceStatus/empty_cluster
=== RUN   TestServiceListServiceStatus/API_v1.40_no_active_nodes
=== RUN   TestServiceListServiceStatus/API_v1.40_3_active_nodes,_1_task_running
=== RUN   TestServiceListServiceStatus/API_v1.40_3_active_nodes,_all_tasks_running
=== RUN   TestServiceListServiceStatus/API_v1.41_no_active_nodes
=== RUN   TestServiceListServiceStatus/API_v1.41_3_active_nodes,_1_task_running
=== RUN   TestServiceListServiceStatus/API_v1.41_3_active_nodes,_all_tasks_running
=== RUN   TestServiceListServiceStatus/empty_cluster_with_quiet
=== RUN   TestServiceListServiceStatus/API_v1.40_no_active_nodes_with_quiet
=== RUN   TestServiceListServiceStatus/API_v1.40_3_active_nodes,_1_task_running_with_quiet
=== RUN   TestServiceListServiceStatus/API_v1.40_3_active_nodes,_all_tasks_running_with_quiet
=== RUN   TestServiceListServiceStatus/API_v1.41_no_active_nodes_with_quiet
=== RUN   TestServiceListServiceStatus/API_v1.41_3_active_nodes,_1_task_running_with_quiet
=== RUN   TestServiceListServiceStatus/API_v1.41_3_active_nodes,_all_tasks_running_with_quiet
--- PASS: TestServiceListServiceStatus (0.00s)
    --- PASS: TestServiceListServiceStatus/empty_cluster (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.40_no_active_nodes (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.40_3_active_nodes,_1_task_running (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.40_3_active_nodes,_all_tasks_running (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.41_no_active_nodes (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.41_3_active_nodes,_1_task_running (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.41_3_active_nodes,_all_tasks_running (0.00s)
    --- PASS: TestServiceListServiceStatus/empty_cluster_with_quiet (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.40_no_active_nodes_with_quiet (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.40_3_active_nodes,_1_task_running_with_quiet (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.40_3_active_nodes,_all_tasks_running_with_quiet (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.41_no_active_nodes_with_quiet (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.41_3_active_nodes,_1_task_running_with_quiet (0.00s)
    --- PASS: TestServiceListServiceStatus/API_v1.41_3_active_nodes,_all_tasks_running_with_quiet (0.00s)
=== RUN   TestCredentialSpecOpt
=== RUN   TestCredentialSpecOpt/empty
=== RUN   TestCredentialSpecOpt/no-prefix
=== RUN   TestCredentialSpecOpt/config
=== RUN   TestCredentialSpecOpt/file
=== RUN   TestCredentialSpecOpt/registry
--- PASS: TestCredentialSpecOpt (0.00s)
    --- PASS: TestCredentialSpecOpt/empty (0.00s)
    --- PASS: TestCredentialSpecOpt/no-prefix (0.00s)
    --- PASS: TestCredentialSpecOpt/config (0.00s)
    --- PASS: TestCredentialSpecOpt/file (0.00s)
    --- PASS: TestCredentialSpecOpt/registry (0.00s)
=== RUN   TestMemBytesString
--- PASS: TestMemBytesString (0.00s)
=== RUN   TestMemBytesSetAndValue
--- PASS: TestMemBytesSetAndValue (0.00s)
=== RUN   TestNanoCPUsString
--- PASS: TestNanoCPUsString (0.00s)
=== RUN   TestNanoCPUsSetAndValue
--- PASS: TestNanoCPUsSetAndValue (0.00s)
=== RUN   TestUint64OptString
--- PASS: TestUint64OptString (0.00s)
=== RUN   TestUint64OptSetAndValue
--- PASS: TestUint64OptSetAndValue (0.00s)
=== RUN   TestHealthCheckOptionsToHealthConfig
--- PASS: TestHealthCheckOptionsToHealthConfig (0.00s)
=== RUN   TestHealthCheckOptionsToHealthConfigNoHealthcheck
--- PASS: TestHealthCheckOptionsToHealthConfigNoHealthcheck (0.00s)
=== RUN   TestHealthCheckOptionsToHealthConfigConflict
--- PASS: TestHealthCheckOptionsToHealthConfigConflict (0.00s)
=== RUN   TestResourceOptionsToResourceRequirements
--- PASS: TestResourceOptionsToResourceRequirements (0.00s)
=== RUN   TestToServiceNetwork
--- PASS: TestToServiceNetwork (0.00s)
=== RUN   TestToServicePidsLimit
--- PASS: TestToServicePidsLimit (0.00s)
=== RUN   TestToServiceUpdateRollback
--- PASS: TestToServiceUpdateRollback (0.00s)
=== RUN   TestToServiceUpdateRollbackOrder
--- PASS: TestToServiceUpdateRollbackOrder (0.00s)
=== RUN   TestToServiceMaxReplicasGlobalModeConflict
--- PASS: TestToServiceMaxReplicasGlobalModeConflict (0.00s)
=== RUN   TestToServiceSysCtls
--- PASS: TestToServiceSysCtls (0.00s)
=== RUN   TestCreateFilter
--- PASS: TestCreateFilter (0.00s)
=== RUN   TestCreateFilterWithAmbiguousIDPrefixError
--- PASS: TestCreateFilterWithAmbiguousIDPrefixError (0.00s)
=== RUN   TestCreateFilterNoneFound
--- PASS: TestCreateFilterNoneFound (0.00s)
=== RUN   TestRunPSWarnsOnNotFound
--- PASS: TestRunPSWarnsOnNotFound (0.00s)
=== RUN   TestRunPSQuiet
--- PASS: TestRunPSQuiet (0.00s)
=== RUN   TestUpdateNodeFilter
--- PASS: TestUpdateNodeFilter (0.00s)
=== RUN   TestRollback
--- PASS: TestRollback (0.00s)
=== RUN   TestRollbackWithErrors
Error: "rollback" requires exactly 1 argument.
See 'rollback --help'.

Usage:  rollback [OPTIONS] SERVICE [flags]

Revert changes to a service's configuration
Error: "rollback" requires exactly 1 argument.
See 'rollback --help'.

Usage:  rollback [OPTIONS] SERVICE [flags]

Revert changes to a service's configuration
Error: no such services: service-id
Error: no such services: service-id
--- PASS: TestRollbackWithErrors (0.00s)
=== RUN   TestUpdateServiceArgs
--- PASS: TestUpdateServiceArgs (0.00s)
=== RUN   TestUpdateLabels
--- PASS: TestUpdateLabels (0.00s)
=== RUN   TestUpdateContainerLabels
--- PASS: TestUpdateContainerLabels (0.00s)
=== RUN   TestUpdatePlacementConstraints
--- PASS: TestUpdatePlacementConstraints (0.00s)
=== RUN   TestUpdatePlacementPrefs
--- PASS: TestUpdatePlacementPrefs (0.00s)
=== RUN   TestUpdateEnvironment
--- PASS: TestUpdateEnvironment (0.00s)
=== RUN   TestUpdateEnvironmentWithDuplicateValues
--- PASS: TestUpdateEnvironmentWithDuplicateValues (0.00s)
=== RUN   TestUpdateEnvironmentWithDuplicateKeys
--- PASS: TestUpdateEnvironmentWithDuplicateKeys (0.00s)
=== RUN   TestUpdateGroups
--- PASS: TestUpdateGroups (0.00s)
=== RUN   TestUpdateDNSConfig
--- PASS: TestUpdateDNSConfig (0.00s)
=== RUN   TestUpdateMounts
--- PASS: TestUpdateMounts (0.00s)
=== RUN   TestUpdateMountsWithDuplicateMounts
--- PASS: TestUpdateMountsWithDuplicateMounts (0.00s)
=== RUN   TestUpdatePorts
--- PASS: TestUpdatePorts (0.00s)
=== RUN   TestUpdatePortsDuplicate
--- PASS: TestUpdatePortsDuplicate (0.00s)
=== RUN   TestUpdateHealthcheckTable
--- PASS: TestUpdateHealthcheckTable (0.00s)
=== RUN   TestUpdateHosts
--- PASS: TestUpdateHosts (0.00s)
=== RUN   TestUpdateHostsPreservesOrder
--- PASS: TestUpdateHostsPreservesOrder (0.00s)
=== RUN   TestUpdateHostsReplaceEntry
--- PASS: TestUpdateHostsReplaceEntry (0.00s)
=== RUN   TestUpdateHostsRemoveHost
--- PASS: TestUpdateHostsRemoveHost (0.00s)
=== RUN   TestUpdateHostsRemoveHostIP
--- PASS: TestUpdateHostsRemoveHostIP (0.00s)
=== RUN   TestUpdateHostsRemoveAll
--- PASS: TestUpdateHostsRemoveAll (0.00s)
=== RUN   TestUpdatePortsRmWithProtocol
--- PASS: TestUpdatePortsRmWithProtocol (0.00s)
=== RUN   TestUpdateSecretUpdateInPlace
--- PASS: TestUpdateSecretUpdateInPlace (0.00s)
=== RUN   TestUpdateReadOnly
--- PASS: TestUpdateReadOnly (0.00s)
=== RUN   TestUpdateInit
--- PASS: TestUpdateInit (0.00s)
=== RUN   TestUpdateStopSignal
--- PASS: TestUpdateStopSignal (0.00s)
=== RUN   TestUpdateIsolationValid
--- PASS: TestUpdateIsolationValid (0.00s)
=== RUN   TestUpdateLimitsReservations
=== RUN   TestUpdateLimitsReservations/update_limits_from_scratch
=== RUN   TestUpdateLimitsReservations/update_reservations_from_scratch
=== RUN   TestUpdateLimitsReservations/update_without_flags_set
=== RUN   TestUpdateLimitsReservations/update_cpu_limit_and_reservation
=== RUN   TestUpdateLimitsReservations/update_memory_limit_and_reservation
=== RUN   TestUpdateLimitsReservations/update_pids_limit
=== RUN   TestUpdateLimitsReservations/update_pids_limit_to_default
--- PASS: TestUpdateLimitsReservations (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_limits_from_scratch (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_reservations_from_scratch (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_without_flags_set (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_cpu_limit_and_reservation (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_memory_limit_and_reservation (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_pids_limit (0.00s)
    --- PASS: TestUpdateLimitsReservations/update_pids_limit_to_default (0.00s)
=== RUN   TestUpdateIsolationInvalid
--- PASS: TestUpdateIsolationInvalid (0.00s)
=== RUN   TestAddGenericResources
--- PASS: TestAddGenericResources (0.00s)
=== RUN   TestRemoveGenericResources
--- PASS: TestRemoveGenericResources (0.00s)
=== RUN   TestUpdateNetworks
--- PASS: TestUpdateNetworks (0.00s)
=== RUN   TestUpdateMaxReplicas
--- PASS: TestUpdateMaxReplicas (0.00s)
=== RUN   TestUpdateSysCtls
=== RUN   TestUpdateSysCtls/from_scratch
=== RUN   TestUpdateSysCtls/append_new
=== RUN   TestUpdateSysCtls/append_duplicate_is_a_no-op
=== RUN   TestUpdateSysCtls/remove_and_append_existing_is_a_no-op
=== RUN   TestUpdateSysCtls/remove_and_append_new_should_append
=== RUN   TestUpdateSysCtls/update_existing
=== RUN   TestUpdateSysCtls/update_existing_twice
=== RUN   TestUpdateSysCtls/remove_all
=== RUN   TestUpdateSysCtls/remove_by_key
=== RUN   TestUpdateSysCtls/remove_by_key_and_different_value
--- PASS: TestUpdateSysCtls (0.00s)
    --- PASS: TestUpdateSysCtls/from_scratch (0.00s)
    --- PASS: TestUpdateSysCtls/append_new (0.00s)
    --- PASS: TestUpdateSysCtls/append_duplicate_is_a_no-op (0.00s)
    --- PASS: TestUpdateSysCtls/remove_and_append_existing_is_a_no-op (0.00s)
    --- PASS: TestUpdateSysCtls/remove_and_append_new_should_append (0.00s)
    --- PASS: TestUpdateSysCtls/update_existing (0.00s)
    --- PASS: TestUpdateSysCtls/update_existing_twice (0.00s)
    --- PASS: TestUpdateSysCtls/remove_all (0.00s)
    --- PASS: TestUpdateSysCtls/remove_by_key (0.00s)
    --- PASS: TestUpdateSysCtls/remove_by_key_and_different_value (0.00s)
=== RUN   TestUpdateGetUpdatedConfigs
=== RUN   TestUpdateGetUpdatedConfigs/no_configs_added_or_removed
=== RUN   TestUpdateGetUpdatedConfigs/add_a_config
=== RUN   TestUpdateGetUpdatedConfigs/remove_a_config
=== RUN   TestUpdateGetUpdatedConfigs/include_an_old_credential_spec
=== RUN   TestUpdateGetUpdatedConfigs/add_a_credential_spec
=== RUN   TestUpdateGetUpdatedConfigs/change_a_credential_spec
=== RUN   TestUpdateGetUpdatedConfigs/credential_spec_no_longer_config
=== RUN   TestUpdateGetUpdatedConfigs/credential_spec_becomes_config
=== RUN   TestUpdateGetUpdatedConfigs/remove_credential_spec
=== RUN   TestUpdateGetUpdatedConfigs/just_frick_my_stuff_up
--- PASS: TestUpdateGetUpdatedConfigs (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/no_configs_added_or_removed (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/add_a_config (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/remove_a_config (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/include_an_old_credential_spec (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/add_a_credential_spec (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/change_a_credential_spec (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/credential_spec_no_longer_config (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/credential_spec_becomes_config (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/remove_credential_spec (0.00s)
    --- PASS: TestUpdateGetUpdatedConfigs/just_frick_my_stuff_up (0.00s)
=== RUN   TestUpdateCredSpec
=== RUN   TestUpdateCredSpec/add_file_credential_spec
=== RUN   TestUpdateCredSpec/remove_a_file_credential_spec
=== RUN   TestUpdateCredSpec/remove_when_no_CredentialSpec_exists
=== RUN   TestUpdateCredSpec/add_a_config_credential_spec
=== RUN   TestUpdateCredSpec/remove_a_config_credential_spec
=== RUN   TestUpdateCredSpec/update_a_config_credential_spec
--- PASS: TestUpdateCredSpec (0.00s)
    --- PASS: TestUpdateCredSpec/add_file_credential_spec (0.00s)
    --- PASS: TestUpdateCredSpec/remove_a_file_credential_spec (0.00s)
    --- PASS: TestUpdateCredSpec/remove_when_no_CredentialSpec_exists (0.00s)
    --- PASS: TestUpdateCredSpec/add_a_config_credential_spec (0.00s)
    --- PASS: TestUpdateCredSpec/remove_a_config_credential_spec (0.00s)
    --- PASS: TestUpdateCredSpec/update_a_config_credential_spec (0.00s)
=== RUN   TestUpdateCaps
=== RUN   TestUpdateCaps/Empty_spec,_no_updates
=== RUN   TestUpdateCaps/No_updates
=== RUN   TestUpdateCaps/Empty_updates
=== RUN   TestUpdateCaps/Normalize_cap-add_only
=== RUN   TestUpdateCaps/Normalize_cap-drop_only
=== RUN   TestUpdateCaps/Add_new_caps
=== RUN   TestUpdateCaps/Drop_new_caps
=== RUN   TestUpdateCaps/Add_a_previously_dropped_cap
=== RUN   TestUpdateCaps/Drop_a_previously_requested_cap,_and_add_a_new_one
=== RUN   TestUpdateCaps/Add_caps_to_service_that_has_ALL_caps_has_no_effect
=== RUN   TestUpdateCaps/Drop_ALL_caps,_then_add_new_caps_to_service_that_has_ALL_caps
=== RUN   TestUpdateCaps/Add_takes_precedence_on_empty_spec
=== RUN   TestUpdateCaps/Add_takes_precedence_on_existing_spec
=== RUN   TestUpdateCaps/Drop_all,_and_add_new_caps
=== RUN   TestUpdateCaps/Add_all_caps
=== RUN   TestUpdateCaps/Drop_all,_and_add_all
=== RUN   TestUpdateCaps/Caps_are_normalized_and_sorted
=== RUN   TestUpdateCaps/Reset_capabilities
=== RUN   TestUpdateCaps/Reset_capabilities,_and_update_after
=== RUN   TestUpdateCaps/Reset_capabilities,_and_add_ALL
=== RUN   TestUpdateCaps/Add_ALL_and_RESET
--- PASS: TestUpdateCaps (0.00s)
    --- PASS: TestUpdateCaps/Empty_spec,_no_updates (0.00s)
    --- PASS: TestUpdateCaps/No_updates (0.00s)
    --- PASS: TestUpdateCaps/Empty_updates (0.00s)
    --- PASS: TestUpdateCaps/Normalize_cap-add_only (0.00s)
    --- PASS: TestUpdateCaps/Normalize_cap-drop_only (0.00s)
    --- PASS: TestUpdateCaps/Add_new_caps (0.00s)
    --- PASS: TestUpdateCaps/Drop_new_caps (0.00s)
    --- PASS: TestUpdateCaps/Add_a_previously_dropped_cap (0.00s)
    --- PASS: TestUpdateCaps/Drop_a_previously_requested_cap,_and_add_a_new_one (0.00s)
    --- PASS: TestUpdateCaps/Add_caps_to_service_that_has_ALL_caps_has_no_effect (0.00s)
    --- PASS: TestUpdateCaps/Drop_ALL_caps,_then_add_new_caps_to_service_that_has_ALL_caps (0.00s)
    --- PASS: TestUpdateCaps/Add_takes_precedence_on_empty_spec (0.00s)
    --- PASS: TestUpdateCaps/Add_takes_precedence_on_existing_spec (0.00s)
    --- PASS: TestUpdateCaps/Drop_all,_and_add_new_caps (0.00s)
    --- PASS: TestUpdateCaps/Add_all_caps (0.00s)
    --- PASS: TestUpdateCaps/Drop_all,_and_add_all (0.00s)
    --- PASS: TestUpdateCaps/Caps_are_normalized_and_sorted (0.00s)
    --- PASS: TestUpdateCaps/Reset_capabilities (0.00s)
    --- PASS: TestUpdateCaps/Reset_capabilities,_and_update_after (0.00s)
    --- PASS: TestUpdateCaps/Reset_capabilities,_and_add_ALL (0.00s)
    --- PASS: TestUpdateCaps/Add_ALL_and_RESET (0.00s)
=== RUN   TestUpdateUlimits
=== RUN   TestUpdateUlimits/from_scratch
=== RUN   TestUpdateUlimits/append_new
=== RUN   TestUpdateUlimits/remove_and_append_new_should_append
=== RUN   TestUpdateUlimits/update_existing
=== RUN   TestUpdateUlimits/update_existing_twice
=== RUN   TestUpdateUlimits/remove_all
=== RUN   TestUpdateUlimits/remove_by_key
=== RUN   TestUpdateUlimits/remove_by_key_and_different_value
--- PASS: TestUpdateUlimits (0.00s)
    --- PASS: TestUpdateUlimits/from_scratch (0.00s)
    --- PASS: TestUpdateUlimits/append_new (0.00s)
    --- PASS: TestUpdateUlimits/remove_and_append_new_should_append (0.00s)
    --- PASS: TestUpdateUlimits/update_existing (0.00s)
    --- PASS: TestUpdateUlimits/update_existing_twice (0.00s)
    --- PASS: TestUpdateUlimits/remove_all (0.00s)
    --- PASS: TestUpdateUlimits/remove_by_key (0.00s)
    --- PASS: TestUpdateUlimits/remove_by_key_and_different_value (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/service	0.040s
=== RUN   TestReplicatedProgressUpdaterOneReplica
--- PASS: TestReplicatedProgressUpdaterOneReplica (0.00s)
=== RUN   TestReplicatedProgressUpdaterManyReplicas
--- PASS: TestReplicatedProgressUpdaterManyReplicas (0.00s)
=== RUN   TestGlobalProgressUpdaterOneNode
--- PASS: TestGlobalProgressUpdaterOneNode (0.00s)
=== RUN   TestGlobalProgressUpdaterManyNodes
--- PASS: TestGlobalProgressUpdaterManyNodes (0.00s)
=== RUN   TestReplicatedJobProgressUpdaterSmall
--- PASS: TestReplicatedJobProgressUpdaterSmall (0.00s)
=== RUN   TestReplicatedJobProgressUpdaterLarge
--- PASS: TestReplicatedJobProgressUpdaterLarge (0.00s)
=== RUN   TestGlobalJobProgressUpdaterSmall
--- PASS: TestGlobalJobProgressUpdaterSmall (0.00s)
=== RUN   TestGlobalJobProgressUpdaterLarge
--- PASS: TestGlobalJobProgressUpdaterLarge (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/service/progress	(cached)
=== RUN   TestConfigWithEmptyComposeFile
Error: Specify a Compose file (with --compose-file)
--- PASS: TestConfigWithEmptyComposeFile (0.00s)
=== RUN   TestConfigMergeInterpolation
=== RUN   TestConfigMergeInterpolation/With_Interpolation
=== RUN   TestConfigMergeInterpolation/Without_Interpolation
--- PASS: TestConfigMergeInterpolation (0.01s)
    --- PASS: TestConfigMergeInterpolation/With_Interpolation (0.00s)
    --- PASS: TestConfigMergeInterpolation/Without_Interpolation (0.00s)
=== RUN   TestDeployWithEmptyName
Error: invalid stack name: "'   '"
--- PASS: TestDeployWithEmptyName (0.00s)
=== RUN   TestListErrors
Error: "ls" accepts no arguments.
See 'ls --help'.

Usage:  ls [OPTIONS] [flags]

List stacks
Error: template parsing error: template: :1: function "invalid" not defined
Error: error getting services
Error: cannot get label com.docker.stack.namespace for service serviceID
--- PASS: TestListErrors (0.00s)
=== RUN   TestStackList
=== RUN   TestStackList/WithFormat
=== RUN   TestStackList/WithoutFormat
=== RUN   TestStackList/Sort
=== RUN   TestStackList/SortNatural
--- PASS: TestStackList (0.01s)
    --- PASS: TestStackList/WithFormat (0.00s)
    --- PASS: TestStackList/WithoutFormat (0.00s)
    --- PASS: TestStackList/Sort (0.00s)
    --- PASS: TestStackList/SortNatural (0.00s)
=== RUN   TestStackPsErrors
Error: "ps" requires exactly 1 argument.
See 'ps --help'.

Usage:  ps [OPTIONS] STACK [flags]

List the tasks in the stack
Error: "ps" requires exactly 1 argument.
See 'ps --help'.

Usage:  ps [OPTIONS] STACK [flags]

List the tasks in the stack
Error: error getting tasks
--- PASS: TestStackPsErrors (0.00s)
=== RUN   TestStackPs
=== RUN   TestStackPs/WithEmptyName
Error: invalid stack name: "'   '"
=== RUN   TestStackPs/WithEmptyStack
Error: nothing found in stack: foo
=== RUN   TestStackPs/WithQuietOption
=== RUN   TestStackPs/WithNoTruncOption
=== RUN   TestStackPs/WithNoResolveOption
=== RUN   TestStackPs/WithFormat
=== RUN   TestStackPs/WithConfigFormat
=== RUN   TestStackPs/WithoutFormat
--- PASS: TestStackPs (0.01s)
    --- PASS: TestStackPs/WithEmptyName (0.00s)
    --- PASS: TestStackPs/WithEmptyStack (0.00s)
    --- PASS: TestStackPs/WithQuietOption (0.01s)
    --- PASS: TestStackPs/WithNoTruncOption (0.00s)
    --- PASS: TestStackPs/WithNoResolveOption (0.00s)
    --- PASS: TestStackPs/WithFormat (0.00s)
    --- PASS: TestStackPs/WithConfigFormat (0.00s)
    --- PASS: TestStackPs/WithoutFormat (0.00s)
=== RUN   TestRemoveWithEmptyName
Error: invalid stack name: "'   '"
--- PASS: TestRemoveWithEmptyName (0.00s)
=== RUN   TestRemoveStackVersion124DoesNotRemoveConfigsOrSecrets
--- PASS: TestRemoveStackVersion124DoesNotRemoveConfigsOrSecrets (0.00s)
=== RUN   TestRemoveStackVersion125DoesNotRemoveConfigs
--- PASS: TestRemoveStackVersion125DoesNotRemoveConfigs (0.00s)
=== RUN   TestRemoveStackVersion130RemovesEverything
--- PASS: TestRemoveStackVersion130RemovesEverything (0.00s)
=== RUN   TestRemoveStackSkipEmpty
--- PASS: TestRemoveStackSkipEmpty (0.00s)
=== RUN   TestRemoveContinueAfterError
Error: Failed to remove some resources from stack: foo
--- PASS: TestRemoveContinueAfterError (0.00s)
=== RUN   TestStackServicesErrors
=== RUN   TestStackServicesErrors/error_getting_services
Error: error getting services
=== RUN   TestStackServicesErrors/error_getting_nodes
Error: error getting nodes
=== RUN   TestStackServicesErrors/error_getting_tasks
Error: error getting tasks
=== RUN   TestStackServicesErrors/template_parsing_error
Error: template parsing error: template: :1: function "invalid" not defined
--- PASS: TestStackServicesErrors (0.00s)
    --- PASS: TestStackServicesErrors/error_getting_services (0.00s)
    --- PASS: TestStackServicesErrors/error_getting_nodes (0.00s)
    --- PASS: TestStackServicesErrors/error_getting_tasks (0.00s)
    --- PASS: TestStackServicesErrors/template_parsing_error (0.00s)
=== RUN   TestRunServicesWithEmptyName
Error: invalid stack name: "'   '"
--- PASS: TestRunServicesWithEmptyName (0.00s)
=== RUN   TestStackServicesEmptyServiceList
--- PASS: TestStackServicesEmptyServiceList (0.00s)
=== RUN   TestStackServicesWithQuietOption
--- PASS: TestStackServicesWithQuietOption (0.00s)
=== RUN   TestStackServicesWithFormat
--- PASS: TestStackServicesWithFormat (0.00s)
=== RUN   TestStackServicesWithConfigFormat
--- PASS: TestStackServicesWithConfigFormat (0.00s)
=== RUN   TestStackServicesWithoutFormat
--- PASS: TestStackServicesWithoutFormat (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/stack	0.049s
=== RUN   TestStackContextWrite
=== RUN   TestStackContextWrite/{{InvalidFunction}}
=== RUN   TestStackContextWrite/{{nil}}
=== RUN   TestStackContextWrite/table_{{.Name}}_{{.Services}}
=== RUN   TestStackContextWrite/table_{{.Name}}
=== RUN   TestStackContextWrite/{{.Name}}
--- PASS: TestStackContextWrite (0.00s)
    --- PASS: TestStackContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestStackContextWrite/{{nil}} (0.00s)
    --- PASS: TestStackContextWrite/table_{{.Name}}_{{.Services}} (0.00s)
    --- PASS: TestStackContextWrite/table_{{.Name}} (0.00s)
    --- PASS: TestStackContextWrite/{{.Name}} (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/stack/formatter	(cached)
=== RUN   TestGetConfigDetails
--- PASS: TestGetConfigDetails (0.00s)
=== RUN   TestGetConfigDetailsStdin
--- PASS: TestGetConfigDetailsStdin (0.00s)
=== RUN   TestBuildEnvironment
--- PASS: TestBuildEnvironment (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/stack/loader	(cached)
=== RUN   TestValidateExternalNetworks
--- PASS: TestValidateExternalNetworks (0.00s)
=== RUN   TestPruneServices
--- PASS: TestPruneServices (0.00s)
=== RUN   TestServiceUpdateResolveImageChanged
=== RUN   TestServiceUpdateResolveImageChanged/foobar:1.2.3
=== RUN   TestServiceUpdateResolveImageChanged/foobar:1.2.4
--- PASS: TestServiceUpdateResolveImageChanged (0.00s)
    --- PASS: TestServiceUpdateResolveImageChanged/foobar:1.2.3 (0.00s)
    --- PASS: TestServiceUpdateResolveImageChanged/foobar:1.2.4 (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/stack/swarm	0.011s
?   	github.com/docker/cli/cli/command/swarm/progress	[no test files]
=== RUN   TestDisplayTrustRootNoRoot
--- PASS: TestDisplayTrustRootNoRoot (0.00s)
=== RUN   TestDisplayTrustRootInvalidFlags
Error: `--ca-cert` flag requires the `--rotate` flag to update the CA
Error: `--ca-key` flag requires the `--rotate` flag to update the CA
Error: `--ca-cert` flag requires the `--rotate` flag to update the CA
Error: `--cert-expiry` flag requires the `--rotate` flag to update the CA
Error: `--external-ca` flag requires the `--rotate` flag to update the CA
Error: `--ca-cert` flag requires the `--rotate` flag to update the CA
Error: rotating to an external CA requires the `--ca-cert` flag to specify the external CA's cert - to add an external CA with the current root CA certificate, use the `update` command instead
Error: the --ca-cert flag requires that a --ca-key flag and/or --external-ca flag be provided as well
--- PASS: TestDisplayTrustRootInvalidFlags (0.00s)
=== RUN   TestDisplayTrustRoot
--- PASS: TestDisplayTrustRoot (0.00s)
=== RUN   TestUpdateSwarmSpecDefaultRotate
--- PASS: TestUpdateSwarmSpecDefaultRotate (0.00s)
=== RUN   TestUpdateSwarmSpecCertAndKey
--- PASS: TestUpdateSwarmSpecCertAndKey (0.00s)
=== RUN   TestUpdateSwarmSpecCertAndExternalCA
--- PASS: TestUpdateSwarmSpecCertAndExternalCA (0.00s)
=== RUN   TestUpdateSwarmSpecCertAndKeyAndExternalCA
--- PASS: TestUpdateSwarmSpecCertAndKeyAndExternalCA (0.00s)
=== RUN   TestSwarmInitErrorOnAPIFailure
Error: error initializing the swarm
Error: could not choose an IP address to advertise - specify one with --advertise-addr
Error: error inspecting the swarm
Error: error inspecting the node
Error: could not fetch unlock key: error getting swarm unlock key
--- PASS: TestSwarmInitErrorOnAPIFailure (0.00s)
=== RUN   TestSwarmInit
--- PASS: TestSwarmInit (0.00s)
=== RUN   TestIPNets
--- PASS: TestIPNets (0.00s)
=== RUN   TestIPNetCalledTwice
--- PASS: TestIPNetCalledTwice (0.00s)
=== RUN   TestIPNetBadQuoting
--- PASS: TestIPNetBadQuoting (0.00s)
=== RUN   TestSwarmJoinErrors
Error: "join" requires exactly 1 argument.
See 'join --help'.

Usage:  join [OPTIONS] HOST:PORT [flags]

Join a swarm as a node and/or manager
Error: "join" requires exactly 1 argument.
See 'join --help'.

Usage:  join [OPTIONS] HOST:PORT [flags]

Join a swarm as a node and/or manager
Error: error joining the swarm
Error: error asking for node info
--- PASS: TestSwarmJoinErrors (0.00s)
=== RUN   TestSwarmJoin
--- PASS: TestSwarmJoin (0.00s)
=== RUN   TestSwarmJoinTokenErrors
Error: "join-token" requires exactly 1 argument.
See 'join-token --help'.

Usage:  join-token [OPTIONS] (worker|manager) [flags]

Manage join tokens
Error: "join-token" requires exactly 1 argument.
See 'join-token --help'.

Usage:  join-token [OPTIONS] (worker|manager) [flags]

Manage join tokens
Error: unknown role foo
Error: error inspecting the swarm
Error: error inspecting the swarm
Error: error updating the swarm
Error: error inspecting node
Error: error asking for node info
--- PASS: TestSwarmJoinTokenErrors (0.00s)
=== RUN   TestSwarmJoinToken
--- PASS: TestSwarmJoinToken (0.01s)
=== RUN   TestSwarmLeaveErrors
Error: "leave" accepts no arguments.
See 'leave --help'.

Usage:  leave [OPTIONS] [flags]

Leave the swarm
Error: error leaving the swarm
--- PASS: TestSwarmLeaveErrors (0.00s)
=== RUN   TestSwarmLeave
--- PASS: TestSwarmLeave (0.00s)
=== RUN   TestNodeAddrOptionSetHostAndPort
--- PASS: TestNodeAddrOptionSetHostAndPort (0.00s)
=== RUN   TestNodeAddrOptionSetHostOnly
--- PASS: TestNodeAddrOptionSetHostOnly (0.00s)
=== RUN   TestNodeAddrOptionSetHostOnlyIPv6
--- PASS: TestNodeAddrOptionSetHostOnlyIPv6 (0.00s)
=== RUN   TestNodeAddrOptionSetPortOnly
--- PASS: TestNodeAddrOptionSetPortOnly (0.00s)
=== RUN   TestNodeAddrOptionSetInvalidFormat
--- PASS: TestNodeAddrOptionSetInvalidFormat (0.00s)
=== RUN   TestExternalCAOptionErrors
--- PASS: TestExternalCAOptionErrors (0.00s)
=== RUN   TestExternalCAOption
--- PASS: TestExternalCAOption (0.00s)
=== RUN   TestExternalCAOptionMultiple
--- PASS: TestExternalCAOptionMultiple (0.00s)
=== RUN   TestSwarmUnlockKeyErrors
Error: "unlock-key" accepts no arguments.
See 'unlock-key --help'.

Usage:  unlock-key [OPTIONS] [flags]

Manage the unlock key
Error: error inspecting the swarm
Error: cannot rotate because autolock is not turned on
Error: error updating the swarm
Error: could not fetch unlock key: error getting unlock key
Error: no unlock key is set
--- PASS: TestSwarmUnlockKeyErrors (0.00s)
=== RUN   TestSwarmUnlockKey
--- PASS: TestSwarmUnlockKey (0.00s)
=== RUN   TestSwarmUnlockErrors
Error: "unlock" accepts no arguments.
See 'unlock --help'.

Usage:  unlock [flags]

Unlock swarm
Error: Error: This node is not part of a swarm
Error: Error: swarm is not locked
Error: error unlocking the swarm
--- PASS: TestSwarmUnlockErrors (0.00s)
=== RUN   TestSwarmUnlock
--- PASS: TestSwarmUnlock (0.00s)
=== RUN   TestSwarmUpdateErrors
Error: "update" accepts no arguments.
See 'update --help'.

Usage:  update [OPTIONS] [flags]

Update the swarm
Error: error inspecting the swarm
Error: error updating the swarm
Error: could not fetch unlock key: error getting unlock key
--- PASS: TestSwarmUpdateErrors (0.00s)
=== RUN   TestSwarmUpdate
--- PASS: TestSwarmUpdate (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/swarm	0.033s
=== RUN   TestEventsFormat
=== RUN   TestEventsFormat/default
=== RUN   TestEventsFormat/json
=== RUN   TestEventsFormat/json_template
=== RUN   TestEventsFormat/json_action
--- PASS: TestEventsFormat (0.00s)
    --- PASS: TestEventsFormat/default (0.00s)
    --- PASS: TestEventsFormat/json (0.00s)
    --- PASS: TestEventsFormat/json_template (0.00s)
    --- PASS: TestEventsFormat/json_action (0.00s)
=== RUN   TestPrettyPrintInfo
=== RUN   TestPrettyPrintInfo/info_without_swarm
=== RUN   TestPrettyPrintInfo/info_with_plugins
=== RUN   TestPrettyPrintInfo/info_with_nil_labels
=== RUN   TestPrettyPrintInfo/info_with_empty_labels
=== RUN   TestPrettyPrintInfo/info_with_swarm
=== RUN   TestPrettyPrintInfo/info_with_daemon_warnings
=== RUN   TestPrettyPrintInfo/errors_for_both
=== RUN   TestPrettyPrintInfo/bad_security_info
--- PASS: TestPrettyPrintInfo (0.02s)
    --- PASS: TestPrettyPrintInfo/info_without_swarm (0.00s)
    --- PASS: TestPrettyPrintInfo/info_with_plugins (0.00s)
    --- PASS: TestPrettyPrintInfo/info_with_nil_labels (0.00s)
    --- PASS: TestPrettyPrintInfo/info_with_empty_labels (0.00s)
    --- PASS: TestPrettyPrintInfo/info_with_swarm (0.00s)
    --- PASS: TestPrettyPrintInfo/info_with_daemon_warnings (0.00s)
    --- PASS: TestPrettyPrintInfo/errors_for_both (0.01s)
    --- PASS: TestPrettyPrintInfo/bad_security_info (0.00s)
=== RUN   TestFormatInfo
=== RUN   TestFormatInfo/basic
=== RUN   TestFormatInfo/syntax
=== RUN   TestFormatInfo/syntax#01
--- PASS: TestFormatInfo (0.00s)
    --- PASS: TestFormatInfo/basic (0.00s)
    --- PASS: TestFormatInfo/syntax (0.00s)
    --- PASS: TestFormatInfo/syntax#01 (0.00s)
=== RUN   TestNeedsServerInfo
=== RUN   TestNeedsServerInfo/no_template
=== RUN   TestNeedsServerInfo/JSON
=== RUN   TestNeedsServerInfo/JSON_(all_fields)
=== RUN   TestNeedsServerInfo/JSON_(Server_ID)
=== RUN   TestNeedsServerInfo/ClientInfo
=== RUN   TestNeedsServerInfo/JSON_ClientInfo
=== RUN   TestNeedsServerInfo/JSON_(Active_context)
--- PASS: TestNeedsServerInfo (0.00s)
    --- PASS: TestNeedsServerInfo/no_template (0.00s)
    --- PASS: TestNeedsServerInfo/JSON (0.00s)
    --- PASS: TestNeedsServerInfo/JSON_(all_fields) (0.00s)
    --- PASS: TestNeedsServerInfo/JSON_(Server_ID) (0.00s)
    --- PASS: TestNeedsServerInfo/ClientInfo (0.00s)
    --- PASS: TestNeedsServerInfo/JSON_ClientInfo (0.00s)
    --- PASS: TestNeedsServerInfo/JSON_(Active_context) (0.00s)
=== RUN   TestPrunePromptPre131DoesNotIncludeBuildCache
Error: system prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused images not just dangling ones
      --filter filter   Provide filter values (e.g. "label=<key>=<value>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune
      --volumes         Prune anonymous volumes

--- PASS: TestPrunePromptPre131DoesNotIncludeBuildCache (0.00s)
=== RUN   TestPrunePromptFilters
Error: system prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused images not just dangling ones
      --filter filter   Provide filter values (e.g. "label=<key>=<value>") (default )
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune
      --volumes         Prune anonymous volumes

--- PASS: TestPrunePromptFilters (0.00s)
=== RUN   TestSystemPrunePromptTermination
Error: prompt terminated
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused images not just dangling ones
      --filter filter   Provide filter values (e.g. "label=<key>=<value>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune
      --volumes         Prune anonymous volumes

--- PASS: TestSystemPrunePromptTermination (0.00s)
=== RUN   TestVersionWithoutServer
Error: no server
--- PASS: TestVersionWithoutServer (0.00s)
=== RUN   TestVersionFormat
=== RUN   TestVersionFormat/default
=== RUN   TestVersionFormat/json
=== RUN   TestVersionFormat/json_template
--- PASS: TestVersionFormat (0.00s)
    --- PASS: TestVersionFormat/default (0.00s)
    --- PASS: TestVersionFormat/json (0.00s)
    --- PASS: TestVersionFormat/json_template (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/system	0.038s
=== RUN   TestTaskContextWrite
=== RUN   TestTaskContextWrite/{{InvalidFunction}}
=== RUN   TestTaskContextWrite/{{nil}}
=== RUN   TestTaskContextWrite/{{.ID}}
=== RUN   TestTaskContextWrite/table_{{.Name}}_{{.Node}}_{{.Ports}}
=== RUN   TestTaskContextWrite/table_{{.Name}}
=== RUN   TestTaskContextWrite/id:_{{.ID}}
=== RUN   TestTaskContextWrite/{{.Name}}_{{.Node}}
--- PASS: TestTaskContextWrite (0.00s)
    --- PASS: TestTaskContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestTaskContextWrite/{{nil}} (0.00s)
    --- PASS: TestTaskContextWrite/{{.ID}} (0.00s)
    --- PASS: TestTaskContextWrite/table_{{.Name}}_{{.Node}}_{{.Ports}} (0.00s)
    --- PASS: TestTaskContextWrite/table_{{.Name}} (0.00s)
    --- PASS: TestTaskContextWrite/id:_{{.ID}} (0.00s)
    --- PASS: TestTaskContextWrite/{{.Name}}_{{.Node}} (0.00s)
=== RUN   TestTaskContextWriteJSONField
--- PASS: TestTaskContextWriteJSONField (0.00s)
=== RUN   TestTaskPrintSorted
--- PASS: TestTaskPrintSorted (0.00s)
=== RUN   TestTaskPrintWithQuietOption
--- PASS: TestTaskPrintWithQuietOption (0.00s)
=== RUN   TestTaskPrintWithNoTruncOption
--- PASS: TestTaskPrintWithNoTruncOption (0.00s)
=== RUN   TestTaskPrintWithGlobalService
--- PASS: TestTaskPrintWithGlobalService (0.00s)
=== RUN   TestTaskPrintWithReplicatedService
--- PASS: TestTaskPrintWithReplicatedService (0.00s)
=== RUN   TestTaskPrintWithIndentation
--- PASS: TestTaskPrintWithIndentation (0.00s)
=== RUN   TestTaskPrintWithResolution
--- PASS: TestTaskPrintWithResolution (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/task	0.015s
?   	github.com/docker/cli/cli/compose/schema/data	[no test files]
?   	github.com/docker/cli/cli/compose/types	[no test files]
?   	github.com/docker/cli/cli/config/types	[no test files]
?   	github.com/docker/cli/cli/context	[no test files]
?   	github.com/docker/cli/cli/context/docker	[no test files]
?   	github.com/docker/cli/cli/hints	[no test files]
?   	github.com/docker/cli/cli/manifest/types	[no test files]
?   	github.com/docker/cli/cli/registry/client	[no test files]
?   	github.com/docker/cli/cli/streams	[no test files]
?   	github.com/docker/cli/cli/version	[no test files]
?   	github.com/docker/cli/cli/winresources	[no test files]
=== RUN   TestMatchReleasedSignaturesSortOrder
--- PASS: TestMatchReleasedSignaturesSortOrder (0.00s)
=== RUN   TestTrustTag
--- PASS: TestTrustTag (0.00s)
=== RUN   TestTrustTagContextWrite
=== RUN   TestTrustTagContextWrite/{{InvalidFunction}}
=== RUN   TestTrustTagContextWrite/{{nil}}
=== RUN   TestTrustTagContextWrite/table_{{.SignedTag}}_{{.Digest}}_{{.Signers}}
--- PASS: TestTrustTagContextWrite (0.00s)
    --- PASS: TestTrustTagContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestTrustTagContextWrite/{{nil}} (0.00s)
    --- PASS: TestTrustTagContextWrite/table_{{.SignedTag}}_{{.Digest}}_{{.Signers}} (0.00s)
=== RUN   TestTrustTagContextEmptyWrite
--- PASS: TestTrustTagContextEmptyWrite (0.00s)
=== RUN   TestSignerInfoContextEmptyWrite
--- PASS: TestSignerInfoContextEmptyWrite (0.00s)
=== RUN   TestSignerInfoContextWrite
=== RUN   TestSignerInfoContextWrite/{{InvalidFunction}}
=== RUN   TestSignerInfoContextWrite/{{nil}}
=== RUN   TestSignerInfoContextWrite/table_{{.Signer}}_{{.Keys}}
=== RUN   TestSignerInfoContextWrite/table_{{.Signer}}_{{.Keys}}#01
--- PASS: TestSignerInfoContextWrite (0.00s)
    --- PASS: TestSignerInfoContextWrite/{{InvalidFunction}} (0.00s)
    --- PASS: TestSignerInfoContextWrite/{{nil}} (0.00s)
    --- PASS: TestSignerInfoContextWrite/table_{{.Signer}}_{{.Keys}} (0.00s)
    --- PASS: TestSignerInfoContextWrite/table_{{.Signer}}_{{.Keys}}#01 (0.00s)
=== RUN   TestGetOrGenerateNotaryKeyAndInitRepo
--- PASS: TestGetOrGenerateNotaryKeyAndInitRepo (0.00s)
=== RUN   TestTrustInspectPrettyCommandErrors
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect IMAGE[:TAG] [IMAGE[:TAG]...] [flags]

Return low-level information about keys and signatures
Error: invalid repository name (870d292919d01a0af7e7f056271dc78792c05f55f49b9b9012b6d89725bd9abd), cannot specify 64-byte hexadecimal strings
Error: invalid reference format: repository name (library/ALPINE) must be lowercase
--- PASS: TestTrustInspectPrettyCommandErrors (0.00s)
=== RUN   TestTrustInspectPrettyCommandOfflineErrors
Error: no signatures or cannot access nonexistent-reg-name.io/image
Error: no signatures or cannot access nonexistent-reg-name.io/image:tag
--- PASS: TestTrustInspectPrettyCommandOfflineErrors (0.01s)
=== RUN   TestTrustInspectPrettyCommandUninitializedErrors
Error: no signatures or cannot access reg/unsigned-img
Error: no signatures or cannot access reg/unsigned-img:tag
--- PASS: TestTrustInspectPrettyCommandUninitializedErrors (0.00s)
=== RUN   TestTrustInspectPrettyCommandEmptyNotaryRepoErrors
--- PASS: TestTrustInspectPrettyCommandEmptyNotaryRepoErrors (0.00s)
=== RUN   TestTrustInspectPrettyCommandFullRepoWithoutSigners
--- PASS: TestTrustInspectPrettyCommandFullRepoWithoutSigners (0.00s)
=== RUN   TestTrustInspectPrettyCommandOneTagWithoutSigners
--- PASS: TestTrustInspectPrettyCommandOneTagWithoutSigners (0.00s)
=== RUN   TestTrustInspectPrettyCommandFullRepoWithSigners
--- PASS: TestTrustInspectPrettyCommandFullRepoWithSigners (0.00s)
=== RUN   TestTrustInspectPrettyCommandUnsignedTagInSignedRepo
--- PASS: TestTrustInspectPrettyCommandUnsignedTagInSignedRepo (0.00s)
=== RUN   TestNotaryRoleToSigner
--- PASS: TestNotaryRoleToSigner (0.00s)
=== RUN   TestIsReleasedTarget
--- PASS: TestIsReleasedTarget (0.00s)
=== RUN   TestMatchEmptySignatures
--- PASS: TestMatchEmptySignatures (0.00s)
=== RUN   TestMatchUnreleasedSignatures
--- PASS: TestMatchUnreleasedSignatures (0.00s)
=== RUN   TestMatchOneReleasedSingleSignature
--- PASS: TestMatchOneReleasedSingleSignature (0.00s)
=== RUN   TestMatchOneReleasedMultiSignature
--- PASS: TestMatchOneReleasedMultiSignature (0.00s)
=== RUN   TestMatchMultiReleasedMultiSignature
--- PASS: TestMatchMultiReleasedMultiSignature (0.00s)
=== RUN   TestMatchReleasedSignatureFromTargets
--- PASS: TestMatchReleasedSignatureFromTargets (0.00s)
=== RUN   TestGetSignerRolesWithKeyIDs
--- PASS: TestGetSignerRolesWithKeyIDs (0.00s)
=== RUN   TestFormatAdminRole
--- PASS: TestFormatAdminRole (0.00s)
=== RUN   TestPrintSignerInfoSortOrder
--- PASS: TestPrintSignerInfoSortOrder (0.00s)
=== RUN   TestTrustInspectCommandErrors
Error: "inspect" requires at least 1 argument.
See 'inspect --help'.

Usage:  inspect IMAGE[:TAG] [IMAGE[:TAG]...] [flags]

Return low-level information about keys and signatures
Error: invalid repository name (870d292919d01a0af7e7f056271dc78792c05f55f49b9b9012b6d89725bd9abd), cannot specify 64-byte hexadecimal strings
Error: invalid reference format: repository name (library/ALPINE) must be lowercase
--- PASS: TestTrustInspectCommandErrors (0.00s)
=== RUN   TestTrustInspectCommandRepositoryErrors
=== RUN   TestTrustInspectCommandRepositoryErrors/OfflineErrors
Error: Status: no signatures or cannot access nonexistent-reg-name.io/image, Code: 1
=== RUN   TestTrustInspectCommandRepositoryErrors/OfflineErrorsWithImageTag
Error: Status: no signatures or cannot access nonexistent-reg-name.io/image:tag, Code: 1
=== RUN   TestTrustInspectCommandRepositoryErrors/UninitializedErrors
Error: Status: no signatures or cannot access reg/unsigned-img, Code: 1
=== RUN   TestTrustInspectCommandRepositoryErrors/UninitializedErrorsWithImageTag
Error: Status: no signatures or cannot access reg/unsigned-img:tag, Code: 1
--- PASS: TestTrustInspectCommandRepositoryErrors (0.01s)
    --- PASS: TestTrustInspectCommandRepositoryErrors/OfflineErrors (0.01s)
    --- PASS: TestTrustInspectCommandRepositoryErrors/OfflineErrorsWithImageTag (0.00s)
    --- PASS: TestTrustInspectCommandRepositoryErrors/UninitializedErrors (0.00s)
    --- PASS: TestTrustInspectCommandRepositoryErrors/UninitializedErrorsWithImageTag (0.00s)
=== RUN   TestTrustInspectCommand
=== RUN   TestTrustInspectCommand/EmptyNotaryRepo
=== RUN   TestTrustInspectCommand/FullRepoWithoutSigners
=== RUN   TestTrustInspectCommand/OneTagWithoutSigners
=== RUN   TestTrustInspectCommand/FullRepoWithSigners
=== RUN   TestTrustInspectCommand/MultipleFullReposWithSigners
=== RUN   TestTrustInspectCommand/UnsignedTagInSignedRepo
--- PASS: TestTrustInspectCommand (0.00s)
    --- PASS: TestTrustInspectCommand/EmptyNotaryRepo (0.00s)
    --- PASS: TestTrustInspectCommand/FullRepoWithoutSigners (0.00s)
    --- PASS: TestTrustInspectCommand/OneTagWithoutSigners (0.00s)
    --- PASS: TestTrustInspectCommand/FullRepoWithSigners (0.00s)
    --- PASS: TestTrustInspectCommand/MultipleFullReposWithSigners (0.00s)
    --- PASS: TestTrustInspectCommand/UnsignedTagInSignedRepo (0.00s)
=== RUN   TestTrustKeyGenerateErrors
Error: "generate" requires exactly 1 argument.
See 'generate --help'.

Usage:  generate NAME [flags]

Generate and load a signing key-pair
Error: "generate" requires exactly 1 argument.
See 'generate --help'.

Usage:  generate NAME [flags]

Generate and load a signing key-pair
--- PASS: TestTrustKeyGenerateErrors (0.00s)
=== RUN   TestGenerateKeySuccess
--- PASS: TestGenerateKeySuccess (0.00s)
=== RUN   TestValidateKeyArgs
--- PASS: TestValidateKeyArgs (0.00s)
=== RUN   TestTrustKeyLoadErrors
Error: "load" requires exactly 1 argument.
See 'load --help'.

Usage:  load [OPTIONS] KEYFILE [flags]

Load a private key file for signing
Error: "load" requires exactly 1 argument.
See 'load --help'.

Usage:  load [OPTIONS] KEYFILE [flags]

Load a private key file for signing
Error: refusing to load key from iamnotakey: stat iamnotakey: no such file or directory
Error: key name "KEYNAME" must start with lowercase alphanumeric characters and can include "-" or "_" after the first character
--- PASS: TestTrustKeyLoadErrors (0.00s)
=== RUN   TestLoadKeyFromPath
=== RUN   TestLoadKeyFromPath/load-key-id-ee69e8e07a14756ad5ff0aca2336b37f86b0ac1710d1f3e94440081e080aecd7-from-path
=== RUN   TestLoadKeyFromPath/load-key-id-46157cb0becf9c72c3219e11d4692424fef9bf4460812ccc8a71a3dfcafc7e60-from-path
--- PASS: TestLoadKeyFromPath (0.01s)
    --- PASS: TestLoadKeyFromPath/load-key-id-ee69e8e07a14756ad5ff0aca2336b37f86b0ac1710d1f3e94440081e080aecd7-from-path (0.01s)
    --- PASS: TestLoadKeyFromPath/load-key-id-46157cb0becf9c72c3219e11d4692424fef9bf4460812ccc8a71a3dfcafc7e60-from-path (0.01s)
=== RUN   TestLoadKeyTooPermissive
=== RUN   TestLoadKeyTooPermissive/load-key-id-46157cb0becf9c72c3219e11d4692424fef9bf4460812ccc8a71a3dfcafc7e60-too-permissive
=== RUN   TestLoadKeyTooPermissive/load-key-id-ee69e8e07a14756ad5ff0aca2336b37f86b0ac1710d1f3e94440081e080aecd7-too-permissive
--- PASS: TestLoadKeyTooPermissive (0.00s)
    --- PASS: TestLoadKeyTooPermissive/load-key-id-46157cb0becf9c72c3219e11d4692424fef9bf4460812ccc8a71a3dfcafc7e60-too-permissive (0.00s)
    --- PASS: TestLoadKeyTooPermissive/load-key-id-ee69e8e07a14756ad5ff0aca2336b37f86b0ac1710d1f3e94440081e080aecd7-too-permissive (0.00s)
=== RUN   TestLoadPubKeyFailure
--- PASS: TestLoadPubKeyFailure (0.00s)
=== RUN   TestTrustRevokeCommandErrors
Error: "revoke" requires exactly 1 argument.
See 'revoke --help'.

Usage:  revoke [OPTIONS] IMAGE[:TAG] [flags]

Remove trust for an image
Error: "revoke" requires exactly 1 argument.
See 'revoke --help'.

Usage:  revoke [OPTIONS] IMAGE[:TAG] [flags]

Remove trust for an image
Error: invalid repository name (870d292919d01a0af7e7f056271dc78792c05f55f49b9b9012b6d89725bd9abd), cannot specify 64-byte hexadecimal strings
Error: invalid reference format: repository name (library/ALPINE) must be lowercase
Error: cannot use a digest reference for IMAGE:TAG
--- PASS: TestTrustRevokeCommandErrors (0.00s)
=== RUN   TestTrustRevokeCommand
=== RUN   TestTrustRevokeCommand/OfflineErrors_Confirm
Error: trust revoke has been cancelled
=== RUN   TestTrustRevokeCommand/OfflineErrors_Offline
Error: could not remove signature for reg-name.io/image: client is offline
=== RUN   TestTrustRevokeCommand/OfflineErrors_WithTag_Offline
Error: could not remove signature for reg-name.io/image:tag: client is offline
=== RUN   TestTrustRevokeCommand/UninitializedErrors_Confirm
Error: trust revoke has been cancelled
=== RUN   TestTrustRevokeCommand/UninitializedErrors_NoTrustData
Error: could not remove signature for reg-name.io/image:  does not have trust data for 
=== RUN   TestTrustRevokeCommand/UninitializedErrors_WithTag_NoTrustData
Error: could not remove signature for reg-name.io/image:tag:  does not have trust data for 
=== RUN   TestTrustRevokeCommand/EmptyNotaryRepo_Confirm
Error: trust revoke has been cancelled
=== RUN   TestTrustRevokeCommand/EmptyNotaryRepo_NoSignedTags
Error: could not remove signature for reg-name.io/image: no signed tags to remove
=== RUN   TestTrustRevokeCommand/EmptyNotaryRepo_NoValidTrustData
Error: could not remove signature for reg-name.io/image:tag: No valid trust data for tag
=== RUN   TestTrustRevokeCommand/AllSigConfirmation
Error: trust revoke has been cancelled
--- PASS: TestTrustRevokeCommand (0.04s)
    --- PASS: TestTrustRevokeCommand/OfflineErrors_Confirm (0.00s)
    --- PASS: TestTrustRevokeCommand/OfflineErrors_Offline (0.00s)
    --- PASS: TestTrustRevokeCommand/OfflineErrors_WithTag_Offline (0.00s)
    --- PASS: TestTrustRevokeCommand/UninitializedErrors_Confirm (0.01s)
    --- PASS: TestTrustRevokeCommand/UninitializedErrors_NoTrustData (0.01s)
    --- PASS: TestTrustRevokeCommand/UninitializedErrors_WithTag_NoTrustData (0.00s)
    --- PASS: TestTrustRevokeCommand/EmptyNotaryRepo_Confirm (0.00s)
    --- PASS: TestTrustRevokeCommand/EmptyNotaryRepo_NoSignedTags (0.01s)
    --- PASS: TestTrustRevokeCommand/EmptyNotaryRepo_NoValidTrustData (0.00s)
    --- PASS: TestTrustRevokeCommand/AllSigConfirmation (0.00s)
=== RUN   TestGetSignableRolesForTargetAndRemoveError
--- PASS: TestGetSignableRolesForTargetAndRemoveError (0.00s)
=== RUN   TestRevokeTrustPromptTermination
Error: prompt terminated
Usage:
  revoke [OPTIONS] IMAGE[:TAG] [flags]

Flags:
  -h, --help   help for revoke
  -y, --yes    Do not prompt for confirmation

--- PASS: TestRevokeTrustPromptTermination (0.01s)
=== RUN   TestTrustSignCommandErrors
Error: "sign" requires exactly 1 argument.
See 'sign --help'.

Usage:  sign IMAGE:TAG [flags]

Sign an image
Error: "sign" requires exactly 1 argument.
See 'sign --help'.

Usage:  sign IMAGE:TAG [flags]

Sign an image
Error: invalid repository name (870d292919d01a0af7e7f056271dc78792c05f55f49b9b9012b6d89725bd9abd), cannot specify 64-byte hexadecimal strings
Error: invalid reference format: repository name (library/ALPINE) must be lowercase
Error: no tag specified for reg/img
Error: cannot use a digest reference for IMAGE:TAG
--- PASS: TestTrustSignCommandErrors (0.00s)
=== RUN   TestTrustSignCommandOfflineErrors
Error: client is offline
--- PASS: TestTrustSignCommandOfflineErrors (0.01s)
=== RUN   TestGetOrGenerateNotaryKey
--- PASS: TestGetOrGenerateNotaryKey (0.00s)
=== RUN   TestAddStageSigners
--- PASS: TestAddStageSigners (0.00s)
=== RUN   TestGetSignedManifestHashAndSize
--- PASS: TestGetSignedManifestHashAndSize (0.00s)
=== RUN   TestGetReleasedTargetHashAndSize
--- PASS: TestGetReleasedTargetHashAndSize (0.00s)
=== RUN   TestCreateTarget
--- PASS: TestCreateTarget (0.00s)
=== RUN   TestGetExistingSignatureInfoForReleasedTag
--- PASS: TestGetExistingSignatureInfoForReleasedTag (0.00s)
=== RUN   TestPrettyPrintExistingSignatureInfo
--- PASS: TestPrettyPrintExistingSignatureInfo (0.00s)
=== RUN   TestSignCommandChangeListIsCleanedOnError
Error: failed to sign docker.io/library/ubuntu:latest: no hashes specified for target ""
--- PASS: TestSignCommandChangeListIsCleanedOnError (2.57s)
=== RUN   TestSignCommandLocalFlag
Error: Error: error contacting notary server: dial tcp: lookup reg-name.io on 192.168.65.7:53: no such host
--- PASS: TestSignCommandLocalFlag (0.01s)
=== RUN   TestTrustSignerAddErrors
Error: "add" requires at least 2 arguments.
See 'add --help'.

Usage:  add OPTIONS NAME REPOSITORY [REPOSITORY...]  [flags]

Add a signer
Error: path to a public key must be provided using the `--key` flag
Error: releases is a reserved keyword, use a different signer name
Error: signer name "ali/ce" must start with lowercase alphanumeric characters and can include "-" or "_" after the first character
Error: signer name "Alice" must start with lowercase alphanumeric characters and can include "-" or "_" after the first character
Error: signer name "_alice" must start with lowercase alphanumeric characters and can include "-" or "_" after the first character
--- PASS: TestTrustSignerAddErrors (0.00s)
=== RUN   TestSignerAddCommandNoTargetsKey
Error: could not parse public key from file: /tmp/pemfile1933591250: no valid public key found
--- PASS: TestSignerAddCommandNoTargetsKey (0.00s)
=== RUN   TestSignerAddCommandBadKeyPath
Error: unable to read public key from file: open /path/to/key.pem: no such file or directory
--- PASS: TestSignerAddCommandBadKeyPath (0.00s)
=== RUN   TestSignerAddCommandInvalidRepoName
Error: failed to add signer to: 870d292919d01a0af7e7f056271dc78792c05f55f49b9b9012b6d89725bd9abd
--- PASS: TestSignerAddCommandInvalidRepoName (0.00s)
=== RUN   TestIngestPublicKeys
--- PASS: TestIngestPublicKeys (0.00s)
=== RUN   TestTrustSignerRemoveErrors
Error: "remove" requires at least 2 arguments.
See 'remove --help'.

Usage:  remove [OPTIONS] NAME REPOSITORY [REPOSITORY...] [flags]

Remove a signer
Error: "remove" requires at least 2 arguments.
See 'remove --help'.

Usage:  remove [OPTIONS] NAME REPOSITORY [REPOSITORY...] [flags]

Remove a signer
Error: error removing signer from: notanimage
Error: error removing signer from: 870d292919d01a0af7e7f056271dc78792c05f55f49b9b9012b6d89725bd9abd
Error: error removing signer from: ALPINE
--- PASS: TestTrustSignerRemoveErrors (0.00s)
=== RUN   TestRemoveSingleSigner
--- PASS: TestRemoveSingleSigner (0.00s)
=== RUN   TestRemoveMultipleSigners
--- PASS: TestRemoveMultipleSigners (0.00s)
=== RUN   TestRemoveLastSignerWarning
--- PASS: TestRemoveLastSignerWarning (0.00s)
=== RUN   TestIsLastSignerForReleases
--- PASS: TestIsLastSignerForReleases (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/trust	2.719s
=== RUN   TestVolumeCreateErrors
--- PASS: TestVolumeCreateErrors (0.00s)
=== RUN   TestVolumeCreateWithName
--- PASS: TestVolumeCreateWithName (0.00s)
=== RUN   TestVolumeCreateWithFlags
--- PASS: TestVolumeCreateWithFlags (0.00s)
=== RUN   TestVolumeCreateCluster
--- PASS: TestVolumeCreateCluster (0.00s)
=== RUN   TestVolumeCreateClusterOpts
--- PASS: TestVolumeCreateClusterOpts (0.00s)
=== RUN   TestVolumeInspectErrors
--- PASS: TestVolumeInspectErrors (0.00s)
=== RUN   TestVolumeInspectWithoutFormat
--- PASS: TestVolumeInspectWithoutFormat (0.00s)
=== RUN   TestVolumeInspectWithFormat
--- PASS: TestVolumeInspectWithFormat (0.00s)
=== RUN   TestVolumeInspectCluster
--- PASS: TestVolumeInspectCluster (0.00s)
=== RUN   TestVolumeListErrors
--- PASS: TestVolumeListErrors (0.00s)
=== RUN   TestVolumeListWithoutFormat
--- PASS: TestVolumeListWithoutFormat (0.00s)
=== RUN   TestVolumeListWithConfigFormat
--- PASS: TestVolumeListWithConfigFormat (0.00s)
=== RUN   TestVolumeListWithFormat
--- PASS: TestVolumeListWithFormat (0.00s)
=== RUN   TestVolumeListSortOrder
--- PASS: TestVolumeListSortOrder (0.00s)
=== RUN   TestClusterVolumeList
--- PASS: TestClusterVolumeList (0.00s)
=== RUN   TestVolumePruneErrors
=== RUN   TestVolumePruneErrors/accepts_no_arguments
=== RUN   TestVolumePruneErrors/forced_but_other_error
=== RUN   TestVolumePruneErrors/conflicting_options
--- PASS: TestVolumePruneErrors (0.00s)
    --- PASS: TestVolumePruneErrors/accepts_no_arguments (0.00s)
    --- PASS: TestVolumePruneErrors/forced_but_other_error (0.00s)
    --- PASS: TestVolumePruneErrors/conflicting_options (0.00s)
=== RUN   TestVolumePruneSuccess
=== RUN   TestVolumePruneSuccess/all
=== RUN   TestVolumePruneSuccess/all-forced
=== RUN   TestVolumePruneSuccess/label-filter
--- PASS: TestVolumePruneSuccess (0.00s)
    --- PASS: TestVolumePruneSuccess/all (0.00s)
    --- PASS: TestVolumePruneSuccess/all-forced (0.00s)
    --- PASS: TestVolumePruneSuccess/label-filter (0.00s)
=== RUN   TestVolumePruneForce
--- PASS: TestVolumePruneForce (0.00s)
=== RUN   TestVolumePrunePromptYes
--- PASS: TestVolumePrunePromptYes (0.00s)
=== RUN   TestVolumePrunePromptNo
Error: volume prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused volumes, not just anonymous ones
      --filter filter   Provide filter values (e.g. "label=<label>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

Error: volume prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused volumes, not just anonymous ones
      --filter filter   Provide filter values (e.g. "label=<label>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

Error: volume prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused volumes, not just anonymous ones
      --filter filter   Provide filter values (e.g. "label=<label>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

Error: volume prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused volumes, not just anonymous ones
      --filter filter   Provide filter values (e.g. "label=<label>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

Error: volume prune has been cancelled
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused volumes, not just anonymous ones
      --filter filter   Provide filter values (e.g. "label=<label>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

--- PASS: TestVolumePrunePromptNo (0.00s)
=== RUN   TestVolumePrunePromptTerminate
Error: prompt terminated
Usage:
  prune [OPTIONS] [flags]

Flags:
  -a, --all             Remove all unused volumes, not just anonymous ones
      --filter filter   Provide filter values (e.g. "label=<label>")
  -f, --force           Do not prompt for confirmation
  -h, --help            help for prune

--- PASS: TestVolumePrunePromptTerminate (0.01s)
=== RUN   TestVolumeRemoveErrors
--- PASS: TestVolumeRemoveErrors (0.00s)
=== RUN   TestNodeRemoveMultiple
--- PASS: TestNodeRemoveMultiple (0.00s)
PASS
ok  	github.com/docker/cli/cli/command/volume	0.038s
=== RUN   TestNamespaceScope
--- PASS: TestNamespaceScope (0.00s)
=== RUN   TestNamespaceDescope
--- PASS: TestNamespaceDescope (0.00s)
=== RUN   TestNamespaceName
--- PASS: TestNamespaceName (0.00s)
=== RUN   TestAddStackLabel
--- PASS: TestAddStackLabel (0.00s)
=== RUN   TestNetworks
--- PASS: TestNetworks (0.00s)
=== RUN   TestSecrets
--- PASS: TestSecrets (0.00s)
=== RUN   TestConfigs
--- PASS: TestConfigs (0.00s)
=== RUN   TestConvertRestartPolicyFromNone
--- PASS: TestConvertRestartPolicyFromNone (0.00s)
=== RUN   TestConvertRestartPolicyFromUnknown
--- PASS: TestConvertRestartPolicyFromUnknown (0.00s)
=== RUN   TestConvertRestartPolicyFromAlways
--- PASS: TestConvertRestartPolicyFromAlways (0.00s)
=== RUN   TestConvertRestartPolicyFromFailure
--- PASS: TestConvertRestartPolicyFromFailure (0.00s)
=== RUN   TestConvertEnvironment
--- PASS: TestConvertEnvironment (0.00s)
=== RUN   TestConvertEnvironmentWhenNilValueExists
--- PASS: TestConvertEnvironmentWhenNilValueExists (0.00s)
=== RUN   TestConvertExtraHosts
--- PASS: TestConvertExtraHosts (0.00s)
=== RUN   TestConvertResourcesFull
--- PASS: TestConvertResourcesFull (0.00s)
=== RUN   TestConvertResourcesOnlyMemory
--- PASS: TestConvertResourcesOnlyMemory (0.00s)
=== RUN   TestConvertHealthcheck
--- PASS: TestConvertHealthcheck (0.00s)
=== RUN   TestConvertHealthcheckDisable
--- PASS: TestConvertHealthcheckDisable (0.00s)
=== RUN   TestConvertHealthcheckDisableWithTest
--- PASS: TestConvertHealthcheckDisableWithTest (0.00s)
=== RUN   TestConvertEndpointSpec
--- PASS: TestConvertEndpointSpec (0.00s)
=== RUN   TestConvertServiceNetworksOnlyDefault
--- PASS: TestConvertServiceNetworksOnlyDefault (0.00s)
=== RUN   TestConvertServiceNetworks
--- PASS: TestConvertServiceNetworks (0.00s)
=== RUN   TestConvertServiceNetworksCustomDefault
--- PASS: TestConvertServiceNetworksCustomDefault (0.00s)
=== RUN   TestConvertDNSConfigEmpty
--- PASS: TestConvertDNSConfigEmpty (0.00s)
=== RUN   TestConvertDNSConfigAll
--- PASS: TestConvertDNSConfigAll (0.00s)
=== RUN   TestConvertDNSConfigNameservers
--- PASS: TestConvertDNSConfigNameservers (0.00s)
=== RUN   TestConvertDNSConfigSearch
--- PASS: TestConvertDNSConfigSearch (0.00s)
=== RUN   TestConvertCredentialSpec
=== RUN   TestConvertCredentialSpec/empty
=== RUN   TestConvertCredentialSpec/config-and-file
=== RUN   TestConvertCredentialSpec/config-and-registry
=== RUN   TestConvertCredentialSpec/file-and-registry
=== RUN   TestConvertCredentialSpec/config-and-file-and-registry
=== RUN   TestConvertCredentialSpec/missing-config-reference
=== RUN   TestConvertCredentialSpec/namespaced-config
=== RUN   TestConvertCredentialSpec/config
=== RUN   TestConvertCredentialSpec/file
=== RUN   TestConvertCredentialSpec/registry
--- PASS: TestConvertCredentialSpec (0.00s)
    --- PASS: TestConvertCredentialSpec/empty (0.00s)
    --- PASS: TestConvertCredentialSpec/config-and-file (0.00s)
    --- PASS: TestConvertCredentialSpec/config-and-registry (0.00s)
    --- PASS: TestConvertCredentialSpec/file-and-registry (0.00s)
    --- PASS: TestConvertCredentialSpec/config-and-file-and-registry (0.00s)
    --- PASS: TestConvertCredentialSpec/missing-config-reference (0.00s)
    --- PASS: TestConvertCredentialSpec/namespaced-config (0.00s)
    --- PASS: TestConvertCredentialSpec/config (0.00s)
    --- PASS: TestConvertCredentialSpec/file (0.00s)
    --- PASS: TestConvertCredentialSpec/registry (0.00s)
=== RUN   TestConvertUpdateConfigOrder
--- PASS: TestConvertUpdateConfigOrder (0.00s)
=== RUN   TestConvertFileObject
--- PASS: TestConvertFileObject (0.00s)
=== RUN   TestConvertFileObjectDefaults
--- PASS: TestConvertFileObjectDefaults (0.00s)
=== RUN   TestServiceConvertsIsolation
--- PASS: TestServiceConvertsIsolation (0.00s)
=== RUN   TestConvertServiceSecrets
--- PASS: TestConvertServiceSecrets (0.00s)
=== RUN   TestConvertServiceConfigs
--- PASS: TestConvertServiceConfigs (0.00s)
=== RUN   TestConvertUpdateConfigParallelism
--- PASS: TestConvertUpdateConfigParallelism (0.00s)
=== RUN   TestConvertServiceCapAddAndCapDrop
=== RUN   TestConvertServiceCapAddAndCapDrop/default_behavior
=== RUN   TestConvertServiceCapAddAndCapDrop/some_values
=== RUN   TestConvertServiceCapAddAndCapDrop/adding_ALL_capabilities
=== RUN   TestConvertServiceCapAddAndCapDrop/dropping_ALL_capabilities
--- PASS: TestConvertServiceCapAddAndCapDrop (0.00s)
    --- PASS: TestConvertServiceCapAddAndCapDrop/default_behavior (0.00s)
    --- PASS: TestConvertServiceCapAddAndCapDrop/some_values (0.00s)
    --- PASS: TestConvertServiceCapAddAndCapDrop/adding_ALL_capabilities (0.00s)
    --- PASS: TestConvertServiceCapAddAndCapDrop/dropping_ALL_capabilities (0.00s)
=== RUN   TestVolumesWithMultipleServiceVolumeConfigs
--- PASS: TestVolumesWithMultipleServiceVolumeConfigs (0.00s)
=== RUN   TestVolumesWithMultipleServiceVolumeConfigsWithUndefinedVolumeConfig
--- PASS: TestVolumesWithMultipleServiceVolumeConfigsWithUndefinedVolumeConfig (0.00s)
=== RUN   TestConvertVolumeToMountAnonymousVolume
--- PASS: TestConvertVolumeToMountAnonymousVolume (0.00s)
=== RUN   TestConvertVolumeToMountAnonymousBind
--- PASS: TestConvertVolumeToMountAnonymousBind (0.00s)
=== RUN   TestConvertVolumeToMountUnapprovedType
--- PASS: TestConvertVolumeToMountUnapprovedType (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsBindInVolume
--- PASS: TestConvertVolumeToMountConflictingOptionsBindInVolume (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsTmpfsInVolume
--- PASS: TestConvertVolumeToMountConflictingOptionsTmpfsInVolume (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsVolumeInBind
--- PASS: TestConvertVolumeToMountConflictingOptionsVolumeInBind (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsTmpfsInBind
--- PASS: TestConvertVolumeToMountConflictingOptionsTmpfsInBind (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsClusterInVolume
--- PASS: TestConvertVolumeToMountConflictingOptionsClusterInVolume (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsClusterInBind
--- PASS: TestConvertVolumeToMountConflictingOptionsClusterInBind (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsClusterInTmpfs
--- PASS: TestConvertVolumeToMountConflictingOptionsClusterInTmpfs (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsBindInTmpfs
--- PASS: TestConvertVolumeToMountConflictingOptionsBindInTmpfs (0.00s)
=== RUN   TestConvertVolumeToMountConflictingOptionsVolumeInTmpfs
--- PASS: TestConvertVolumeToMountConflictingOptionsVolumeInTmpfs (0.00s)
=== RUN   TestHandleNpipeToMountAnonymousNpipe
--- PASS: TestHandleNpipeToMountAnonymousNpipe (0.00s)
=== RUN   TestHandleNpipeToMountConflictingOptionsTmpfsInNpipe
--- PASS: TestHandleNpipeToMountConflictingOptionsTmpfsInNpipe (0.00s)
=== RUN   TestHandleNpipeToMountConflictingOptionsVolumeInNpipe
--- PASS: TestHandleNpipeToMountConflictingOptionsVolumeInNpipe (0.00s)
=== RUN   TestConvertVolumeToMountNamedVolume
--- PASS: TestConvertVolumeToMountNamedVolume (0.00s)
=== RUN   TestConvertVolumeToMountNamedVolumeWithNameCustomizd
--- PASS: TestConvertVolumeToMountNamedVolumeWithNameCustomizd (0.00s)
=== RUN   TestConvertVolumeToMountNamedVolumeExternal
--- PASS: TestConvertVolumeToMountNamedVolumeExternal (0.00s)
=== RUN   TestConvertVolumeToMountNamedVolumeExternalNoCopy
--- PASS: TestConvertVolumeToMountNamedVolumeExternalNoCopy (0.00s)
=== RUN   TestConvertVolumeToMountBind
--- PASS: TestConvertVolumeToMountBind (0.00s)
=== RUN   TestConvertVolumeToMountVolumeDoesNotExist
--- PASS: TestConvertVolumeToMountVolumeDoesNotExist (0.00s)
=== RUN   TestConvertTmpfsToMountVolume
--- PASS: TestConvertTmpfsToMountVolume (0.00s)
=== RUN   TestConvertTmpfsToMountVolumeWithSource
--- PASS: TestConvertTmpfsToMountVolumeWithSource (0.00s)
=== RUN   TestHandleNpipeToMountBind
--- PASS: TestHandleNpipeToMountBind (0.00s)
=== RUN   TestConvertVolumeToMountAnonymousNpipe
--- PASS: TestConvertVolumeToMountAnonymousNpipe (0.00s)
=== RUN   TestConvertVolumeMountClusterName
--- PASS: TestConvertVolumeMountClusterName (0.00s)
=== RUN   TestConvertVolumeMountClusterGroup
--- PASS: TestConvertVolumeMountClusterGroup (0.00s)
=== RUN   TestHandleClusterToMountAnonymousCluster
--- PASS: TestHandleClusterToMountAnonymousCluster (0.00s)
=== RUN   TestHandleClusterToMountConflictingOptionsTmpfsInCluster
--- PASS: TestHandleClusterToMountConflictingOptionsTmpfsInCluster (0.00s)
=== RUN   TestHandleClusterToMountConflictingOptionsVolumeInCluster
--- PASS: TestHandleClusterToMountConflictingOptionsVolumeInCluster (0.00s)
=== RUN   TestHandleClusterToMountWithUndefinedVolumeConfig
--- PASS: TestHandleClusterToMountWithUndefinedVolumeConfig (0.00s)
=== RUN   TestHandleClusterToMountWithVolumeConfigName
--- PASS: TestHandleClusterToMountWithVolumeConfigName (0.00s)
=== RUN   TestHandleClusterToMountBind
--- PASS: TestHandleClusterToMountBind (0.00s)
PASS
ok  	github.com/docker/cli/cli/compose/convert	(cached)
=== RUN   TestInterpolate
--- PASS: TestInterpolate (0.00s)
=== RUN   TestInvalidInterpolation
--- PASS: TestInvalidInterpolation (0.00s)
=== RUN   TestInterpolateWithDefaults
--- PASS: TestInterpolateWithDefaults (0.00s)
=== RUN   TestInterpolateWithCast
--- PASS: TestInterpolateWithCast (0.00s)
=== RUN   TestPathMatches
--- PASS: TestPathMatches (0.00s)
PASS
ok  	github.com/docker/cli/cli/compose/interpolation	(cached)
=== RUN   TestParseYAML
--- PASS: TestParseYAML (0.00s)
=== RUN   TestLoad
--- PASS: TestLoad (0.00s)
=== RUN   TestLoadExtras
--- PASS: TestLoadExtras (0.00s)
=== RUN   TestLoadV31
--- PASS: TestLoadV31 (0.00s)
=== RUN   TestLoadV33
--- PASS: TestLoadV33 (0.00s)
=== RUN   TestLoadV38
--- PASS: TestLoadV38 (0.00s)
=== RUN   TestParseAndLoad
--- PASS: TestParseAndLoad (0.00s)
=== RUN   TestInvalidTopLevelObjectType
--- PASS: TestInvalidTopLevelObjectType (0.00s)
=== RUN   TestNonStringKeys
--- PASS: TestNonStringKeys (0.00s)
=== RUN   TestSupportedVersion
--- PASS: TestSupportedVersion (0.00s)
=== RUN   TestUnsupportedVersion
--- PASS: TestUnsupportedVersion (0.00s)
=== RUN   TestInvalidVersion
--- PASS: TestInvalidVersion (0.00s)
=== RUN   TestV1Unsupported
--- PASS: TestV1Unsupported (0.00s)
=== RUN   TestNonMappingObject
--- PASS: TestNonMappingObject (0.01s)
=== RUN   TestNonStringImage
--- PASS: TestNonStringImage (0.00s)
=== RUN   TestIgnoreBuildProperties
--- PASS: TestIgnoreBuildProperties (0.00s)
=== RUN   TestLoadWithEnvironment
--- PASS: TestLoadWithEnvironment (0.00s)
=== RUN   TestInvalidEnvironmentValue
--- PASS: TestInvalidEnvironmentValue (0.00s)
=== RUN   TestInvalidEnvironmentObject
--- PASS: TestInvalidEnvironmentObject (0.00s)
=== RUN   TestLoadWithEnvironmentInterpolation
--- PASS: TestLoadWithEnvironmentInterpolation (0.00s)
=== RUN   TestLoadWithInterpolationCastFull
--- PASS: TestLoadWithInterpolationCastFull (0.00s)
=== RUN   TestUnsupportedProperties
--- PASS: TestUnsupportedProperties (0.00s)
=== RUN   TestDiscardEnvFileOption
--- PASS: TestDiscardEnvFileOption (0.01s)
=== RUN   TestBuildProperties
--- PASS: TestBuildProperties (0.00s)
=== RUN   TestDeprecatedProperties
--- PASS: TestDeprecatedProperties (0.00s)
=== RUN   TestForbiddenProperties
--- PASS: TestForbiddenProperties (0.00s)
=== RUN   TestInvalidResource
--- PASS: TestInvalidResource (0.00s)
=== RUN   TestInvalidExternalAndDriverCombination
--- PASS: TestInvalidExternalAndDriverCombination (0.00s)
=== RUN   TestInvalidExternalAndDirverOptsCombination
--- PASS: TestInvalidExternalAndDirverOptsCombination (0.00s)
=== RUN   TestInvalidExternalAndLabelsCombination
--- PASS: TestInvalidExternalAndLabelsCombination (0.00s)
=== RUN   TestLoadVolumeInvalidExternalNameAndNameCombination
--- PASS: TestLoadVolumeInvalidExternalNameAndNameCombination (0.00s)
=== RUN   TestFullExample
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:8001:8001/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5000:5000/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5001:5001/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5002:5002/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5003:5003/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5004:5004/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5005:5005/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5006:5006/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5007:5007/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5008:5008/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5009:5009/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="ignoring IP-address (127.0.0.1:5010:5010/tcp) service will listen on '0.0.0.0'"
time="2024-07-03T22:57:37Z" level=warning msg="network other-external-network: network.external.name is deprecated in favor of network.name"
time="2024-07-03T22:57:37Z" level=warning msg="volume other-external-volume: volume.external.name is deprecated in favor of volume.name"
time="2024-07-03T22:57:37Z" level=warning msg="secret secret2: secret.external.name is deprecated in favor of secret.name"
time="2024-07-03T22:57:37Z" level=warning msg="config config2: config.external.name is deprecated in favor of config.name"
--- PASS: TestFullExample (0.01s)
=== RUN   TestLoadTmpfsVolume
--- PASS: TestLoadTmpfsVolume (0.00s)
=== RUN   TestLoadTmpfsVolumeAdditionalPropertyNotAllowed
--- PASS: TestLoadTmpfsVolumeAdditionalPropertyNotAllowed (0.00s)
=== RUN   TestLoadBindMountSourceMustNotBeEmpty
--- PASS: TestLoadBindMountSourceMustNotBeEmpty (0.00s)
=== RUN   TestLoadBindMountSourceIsWindowsAbsolute
=== RUN   TestLoadBindMountSourceIsWindowsAbsolute/Z-drive_lowercase
=== RUN   TestLoadBindMountSourceIsWindowsAbsolute/Z-drive_uppercase
=== RUN   TestLoadBindMountSourceIsWindowsAbsolute/Z-drive_subdirectory
=== RUN   TestLoadBindMountSourceIsWindowsAbsolute/forward-slashes
--- PASS: TestLoadBindMountSourceIsWindowsAbsolute (0.00s)
    --- PASS: TestLoadBindMountSourceIsWindowsAbsolute/Z-drive_lowercase (0.00s)
    --- PASS: TestLoadBindMountSourceIsWindowsAbsolute/Z-drive_uppercase (0.00s)
    --- PASS: TestLoadBindMountSourceIsWindowsAbsolute/Z-drive_subdirectory (0.00s)
    --- PASS: TestLoadBindMountSourceIsWindowsAbsolute/forward-slashes (0.00s)
=== RUN   TestLoadBindMountWithSource
--- PASS: TestLoadBindMountWithSource (0.00s)
=== RUN   TestLoadTmpfsVolumeSizeCanBeZero
--- PASS: TestLoadTmpfsVolumeSizeCanBeZero (0.00s)
=== RUN   TestLoadTmpfsVolumeSizeMustBeGTEQZero
--- PASS: TestLoadTmpfsVolumeSizeMustBeGTEQZero (0.00s)
=== RUN   TestLoadTmpfsVolumeSizeMustBeInteger
--- PASS: TestLoadTmpfsVolumeSizeMustBeInteger (0.00s)
=== RUN   TestLoadAttachableNetwork
--- PASS: TestLoadAttachableNetwork (0.00s)
=== RUN   TestLoadExpandedPortFormat
--- PASS: TestLoadExpandedPortFormat (0.00s)
=== RUN   TestLoadExpandedMountFormat
--- PASS: TestLoadExpandedMountFormat (0.00s)
=== RUN   TestLoadExtraHostsMap
--- PASS: TestLoadExtraHostsMap (0.00s)
=== RUN   TestLoadExtraHostsList
--- PASS: TestLoadExtraHostsList (0.00s)
=== RUN   TestLoadVolumesWarnOnDeprecatedExternalNameVersion34
--- PASS: TestLoadVolumesWarnOnDeprecatedExternalNameVersion34 (0.00s)
=== RUN   TestLoadVolumesWarnOnDeprecatedExternalNameVersion33
--- PASS: TestLoadVolumesWarnOnDeprecatedExternalNameVersion33 (0.00s)
=== RUN   TestLoadV35
--- PASS: TestLoadV35 (0.00s)
=== RUN   TestLoadV35InvalidIsolation
--- PASS: TestLoadV35InvalidIsolation (0.00s)
=== RUN   TestLoadSecretInvalidExternalNameAndNameCombination
--- PASS: TestLoadSecretInvalidExternalNameAndNameCombination (0.00s)
=== RUN   TestLoadSecretsWarnOnDeprecatedExternalNameVersion35
--- PASS: TestLoadSecretsWarnOnDeprecatedExternalNameVersion35 (0.00s)
=== RUN   TestLoadNetworksWarnOnDeprecatedExternalNameVersion35
--- PASS: TestLoadNetworksWarnOnDeprecatedExternalNameVersion35 (0.00s)
=== RUN   TestLoadNetworksWarnOnDeprecatedExternalNameVersion34
--- PASS: TestLoadNetworksWarnOnDeprecatedExternalNameVersion34 (0.00s)
=== RUN   TestLoadNetworkInvalidExternalNameAndNameCombination
--- PASS: TestLoadNetworkInvalidExternalNameAndNameCombination (0.00s)
=== RUN   TestLoadNetworkWithName
--- PASS: TestLoadNetworkWithName (0.00s)
=== RUN   TestLoadInit
=== RUN   TestLoadInit/no_init_defined
=== RUN   TestLoadInit/has_true_init
=== RUN   TestLoadInit/has_false_init
--- PASS: TestLoadInit (0.00s)
    --- PASS: TestLoadInit/no_init_defined (0.00s)
    --- PASS: TestLoadInit/has_true_init (0.00s)
    --- PASS: TestLoadInit/has_false_init (0.00s)
=== RUN   TestLoadSysctls
--- PASS: TestLoadSysctls (0.00s)
=== RUN   TestTransform
--- PASS: TestTransform (0.00s)
=== RUN   TestLoadTemplateDriver
--- PASS: TestLoadTemplateDriver (0.00s)
=== RUN   TestLoadSecretDriver
--- PASS: TestLoadSecretDriver (0.00s)
=== RUN   TestLoadTwoDifferentVersion
--- PASS: TestLoadTwoDifferentVersion (0.00s)
=== RUN   TestLoadLogging
=== RUN   TestLoadLogging/no_override_driver
=== RUN   TestLoadLogging/override_driver
=== RUN   TestLoadLogging/no_base_driver
=== RUN   TestLoadLogging/no_driver
=== RUN   TestLoadLogging/no_override_options
=== RUN   TestLoadLogging/no_base
--- PASS: TestLoadLogging (0.01s)
    --- PASS: TestLoadLogging/no_override_driver (0.00s)
    --- PASS: TestLoadLogging/override_driver (0.00s)
    --- PASS: TestLoadLogging/no_base_driver (0.00s)
    --- PASS: TestLoadLogging/no_driver (0.00s)
    --- PASS: TestLoadLogging/no_override_options (0.00s)
    --- PASS: TestLoadLogging/no_base (0.00s)
=== RUN   TestLoadMultipleServicePorts
=== RUN   TestLoadMultipleServicePorts/no_override
=== RUN   TestLoadMultipleServicePorts/override_different_published
=== RUN   TestLoadMultipleServicePorts/override_same_published
--- PASS: TestLoadMultipleServicePorts (0.01s)
    --- PASS: TestLoadMultipleServicePorts/no_override (0.00s)
    --- PASS: TestLoadMultipleServicePorts/override_different_published (0.00s)
    --- PASS: TestLoadMultipleServicePorts/override_same_published (0.00s)
=== RUN   TestLoadMultipleSecretsConfig
=== RUN   TestLoadMultipleSecretsConfig/no_override
=== RUN   TestLoadMultipleSecretsConfig/override_simple
=== RUN   TestLoadMultipleSecretsConfig/override_same_source
--- PASS: TestLoadMultipleSecretsConfig (0.01s)
    --- PASS: TestLoadMultipleSecretsConfig/no_override (0.00s)
    --- PASS: TestLoadMultipleSecretsConfig/override_simple (0.00s)
    --- PASS: TestLoadMultipleSecretsConfig/override_same_source (0.00s)
=== RUN   TestLoadMultipleConfigobjsConfig
=== RUN   TestLoadMultipleConfigobjsConfig/no_override
=== RUN   TestLoadMultipleConfigobjsConfig/override_simple
=== RUN   TestLoadMultipleConfigobjsConfig/override_same_source
--- PASS: TestLoadMultipleConfigobjsConfig (0.00s)
    --- PASS: TestLoadMultipleConfigobjsConfig/no_override (0.00s)
    --- PASS: TestLoadMultipleConfigobjsConfig/override_simple (0.00s)
    --- PASS: TestLoadMultipleConfigobjsConfig/override_same_source (0.00s)
=== RUN   TestLoadMultipleUlimits
=== RUN   TestLoadMultipleUlimits/no_override
=== RUN   TestLoadMultipleUlimits/override_simple
=== RUN   TestLoadMultipleUlimits/override_different_notation
--- PASS: TestLoadMultipleUlimits (0.00s)
    --- PASS: TestLoadMultipleUlimits/no_override (0.00s)
    --- PASS: TestLoadMultipleUlimits/override_simple (0.00s)
    --- PASS: TestLoadMultipleUlimits/override_different_notation (0.00s)
=== RUN   TestLoadMultipleServiceNetworks
=== RUN   TestLoadMultipleServiceNetworks/no_override
=== RUN   TestLoadMultipleServiceNetworks/override_simple
=== RUN   TestLoadMultipleServiceNetworks/override_with_aliases
--- PASS: TestLoadMultipleServiceNetworks (0.00s)
    --- PASS: TestLoadMultipleServiceNetworks/no_override (0.00s)
    --- PASS: TestLoadMultipleServiceNetworks/override_simple (0.00s)
    --- PASS: TestLoadMultipleServiceNetworks/override_with_aliases (0.00s)
=== RUN   TestLoadMultipleConfigs
--- PASS: TestLoadMultipleConfigs (0.00s)
=== RUN   TestLoadMultipleNetworks
--- PASS: TestLoadMultipleNetworks (0.00s)
=== RUN   TestLoadMultipleServiceCommands
--- PASS: TestLoadMultipleServiceCommands (0.00s)
=== RUN   TestLoadMultipleServiceVolumes
--- PASS: TestLoadMultipleServiceVolumes (0.00s)
=== RUN   TestMergeUlimitsConfig
--- PASS: TestMergeUlimitsConfig (0.00s)
=== RUN   TestMergeServiceNetworkConfig
--- PASS: TestMergeServiceNetworkConfig (0.00s)
=== RUN   TestMergeServiceOverrideReplicasZero
--- PASS: TestMergeServiceOverrideReplicasZero (0.00s)
=== RUN   TestMergeServiceOverrideReplicasNotNil
--- PASS: TestMergeServiceOverrideReplicasNotNil (0.00s)
=== RUN   TestMarshallConfig
--- PASS: TestMarshallConfig (0.01s)
=== RUN   TestJSONMarshallConfig
--- PASS: TestJSONMarshallConfig (0.01s)
=== RUN   TestParseVolumeAnonymousVolume
--- PASS: TestParseVolumeAnonymousVolume (0.00s)
=== RUN   TestParseVolumeAnonymousVolumeWindows
--- PASS: TestParseVolumeAnonymousVolumeWindows (0.00s)
=== RUN   TestParseVolumeTooManyColons
--- PASS: TestParseVolumeTooManyColons (0.00s)
=== RUN   TestParseVolumeShortVolumes
--- PASS: TestParseVolumeShortVolumes (0.00s)
=== RUN   TestParseVolumeMissingSource
--- PASS: TestParseVolumeMissingSource (0.00s)
=== RUN   TestParseVolumeBindMount
--- PASS: TestParseVolumeBindMount (0.00s)
=== RUN   TestParseVolumeRelativeBindMountWindows
--- PASS: TestParseVolumeRelativeBindMountWindows (0.00s)
=== RUN   TestParseVolumeWithBindOptions
--- PASS: TestParseVolumeWithBindOptions (0.00s)
=== RUN   TestParseVolumeWithBindOptionsWindows
--- PASS: TestParseVolumeWithBindOptionsWindows (0.00s)
=== RUN   TestParseVolumeWithInvalidVolumeOptions
--- PASS: TestParseVolumeWithInvalidVolumeOptions (0.00s)
=== RUN   TestParseVolumeWithVolumeOptions
--- PASS: TestParseVolumeWithVolumeOptions (0.00s)
=== RUN   TestParseVolumeWithReadOnly
--- PASS: TestParseVolumeWithReadOnly (0.00s)
=== RUN   TestParseVolumeWithRW
--- PASS: TestParseVolumeWithRW (0.00s)
=== RUN   TestParseVolumeWindowsNamedPipe
--- PASS: TestParseVolumeWindowsNamedPipe (0.00s)
=== RUN   TestIsFilePath
--- PASS: TestIsFilePath (0.00s)
=== RUN   TestParseVolumeSplitCases
--- PASS: TestParseVolumeSplitCases (0.00s)
=== RUN   TestParseVolumeInvalidEmptySpec
--- PASS: TestParseVolumeInvalidEmptySpec (0.00s)
=== RUN   TestParseVolumeInvalidSections
--- PASS: TestParseVolumeInvalidSections (0.00s)
=== RUN   TestParseVolumeWithEmptySource
--- PASS: TestParseVolumeWithEmptySource (0.00s)
=== RUN   TestIsAbs
--- PASS: TestIsAbs (0.00s)
PASS
ok  	github.com/docker/cli/cli/compose/loader	0.145s
=== RUN   TestValidate
--- PASS: TestValidate (0.00s)
=== RUN   TestValidateUndefinedTopLevelOption
--- PASS: TestValidateUndefinedTopLevelOption (0.00s)
=== RUN   TestValidateAllowsXTopLevelFields
--- PASS: TestValidateAllowsXTopLevelFields (0.00s)
=== RUN   TestValidateAllowsXFields
--- PASS: TestValidateAllowsXFields (0.00s)
=== RUN   TestValidateCredentialSpecs
=== RUN   TestValidateCredentialSpecs/3.0
=== RUN   TestValidateCredentialSpecs/3.1
=== RUN   TestValidateCredentialSpecs/3.2
=== RUN   TestValidateCredentialSpecs/3.3
=== RUN   TestValidateCredentialSpecs/3.4
=== RUN   TestValidateCredentialSpecs/3.5
=== RUN   TestValidateCredentialSpecs/3.6
=== RUN   TestValidateCredentialSpecs/3.7
=== RUN   TestValidateCredentialSpecs/3.8
=== RUN   TestValidateCredentialSpecs/3.9
=== RUN   TestValidateCredentialSpecs/3.10
=== RUN   TestValidateCredentialSpecs/3.11
=== RUN   TestValidateCredentialSpecs/3.12
=== RUN   TestValidateCredentialSpecs/3.13
=== RUN   TestValidateCredentialSpecs/3
=== RUN   TestValidateCredentialSpecs/#00
--- PASS: TestValidateCredentialSpecs (0.01s)
    --- PASS: TestValidateCredentialSpecs/3.0 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.1 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.2 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.3 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.4 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.5 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.6 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.7 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.8 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.9 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.10 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.11 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.12 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3.13 (0.00s)
    --- PASS: TestValidateCredentialSpecs/3 (0.00s)
    --- PASS: TestValidateCredentialSpecs/#00 (0.00s)
=== RUN   TestValidateSecretConfigNames
--- PASS: TestValidateSecretConfigNames (0.00s)
=== RUN   TestValidateInvalidVersion
--- PASS: TestValidateInvalidVersion (0.00s)
=== RUN   TestValidatePlacement
--- PASS: TestValidatePlacement (0.00s)
=== RUN   TestValidateIsolation
--- PASS: TestValidateIsolation (0.00s)
=== RUN   TestValidateRollbackConfig
--- PASS: TestValidateRollbackConfig (0.00s)
=== RUN   TestValidateRollbackConfigWithOrder
--- PASS: TestValidateRollbackConfigWithOrder (0.00s)
=== RUN   TestValidateRollbackConfigWithUpdateConfig
--- PASS: TestValidateRollbackConfigWithUpdateConfig (0.00s)
=== RUN   TestValidateRollbackConfigWithUpdateConfigFull
--- PASS: TestValidateRollbackConfigWithUpdateConfigFull (0.00s)
PASS
ok  	github.com/docker/cli/cli/compose/schema	(cached)
=== RUN   TestEscaped
--- PASS: TestEscaped (0.00s)
=== RUN   TestSubstituteNoMatch
--- PASS: TestSubstituteNoMatch (0.00s)
=== RUN   TestInvalid
--- PASS: TestInvalid (0.00s)
=== RUN   TestNoValueNoDefault
--- PASS: TestNoValueNoDefault (0.00s)
=== RUN   TestValueNoDefault
--- PASS: TestValueNoDefault (0.00s)
=== RUN   TestNoValueWithDefault
--- PASS: TestNoValueWithDefault (0.00s)
=== RUN   TestEmptyValueWithSoftDefault
--- PASS: TestEmptyValueWithSoftDefault (0.00s)
=== RUN   TestValueWithSoftDefault
--- PASS: TestValueWithSoftDefault (0.00s)
=== RUN   TestEmptyValueWithHardDefault
--- PASS: TestEmptyValueWithHardDefault (0.00s)
=== RUN   TestNonAlphanumericDefault
--- PASS: TestNonAlphanumericDefault (0.00s)
=== RUN   TestMandatoryVariableErrors
--- PASS: TestMandatoryVariableErrors (0.00s)
=== RUN   TestDefaultsForMandatoryVariables
--- PASS: TestDefaultsForMandatoryVariables (0.00s)
=== RUN   TestSubstituteWithCustomFunc
--- PASS: TestSubstituteWithCustomFunc (0.00s)
=== RUN   TestExtractVariables
=== RUN   TestExtractVariables/empty
=== RUN   TestExtractVariables/no-variables
=== RUN   TestExtractVariables/variable-without-curly-braces
=== RUN   TestExtractVariables/variable
=== RUN   TestExtractVariables/required-variable
=== RUN   TestExtractVariables/required-variable2
=== RUN   TestExtractVariables/default-variable
=== RUN   TestExtractVariables/default-variable2
=== RUN   TestExtractVariables/multiple-values
--- PASS: TestExtractVariables (0.00s)
    --- PASS: TestExtractVariables/empty (0.00s)
    --- PASS: TestExtractVariables/no-variables (0.00s)
    --- PASS: TestExtractVariables/variable-without-curly-braces (0.00s)
    --- PASS: TestExtractVariables/variable (0.00s)
    --- PASS: TestExtractVariables/required-variable (0.00s)
    --- PASS: TestExtractVariables/required-variable2 (0.00s)
    --- PASS: TestExtractVariables/default-variable (0.00s)
    --- PASS: TestExtractVariables/default-variable2 (0.00s)
    --- PASS: TestExtractVariables/multiple-values (0.00s)
PASS
ok  	github.com/docker/cli/cli/compose/template	(cached)
=== RUN   TestEmptyConfigDir
--- PASS: TestEmptyConfigDir (0.00s)
=== RUN   TestMissingFile
--- PASS: TestMissingFile (0.00s)
=== RUN   TestLoadDanglingSymlink
--- PASS: TestLoadDanglingSymlink (0.00s)
=== RUN   TestLoadNoPermissions
    config_test.go:76: os.Getuid() == 0: cannot test permission denied when running as root
--- SKIP: TestLoadNoPermissions (0.00s)
=== RUN   TestSaveFileToDirs
--- PASS: TestSaveFileToDirs (0.00s)
=== RUN   TestEmptyFile
--- PASS: TestEmptyFile (0.00s)
=== RUN   TestEmptyJSON
--- PASS: TestEmptyJSON (0.00s)
=== RUN   TestNewJSON
--- PASS: TestNewJSON (0.00s)
=== RUN   TestNewJSONNoEmail
--- PASS: TestNewJSONNoEmail (0.00s)
=== RUN   TestJSONWithPsFormat
--- PASS: TestJSONWithPsFormat (0.00s)
=== RUN   TestJSONWithCredentialStore
--- PASS: TestJSONWithCredentialStore (0.00s)
=== RUN   TestJSONWithCredentialHelpers
--- PASS: TestJSONWithCredentialHelpers (0.00s)
=== RUN   TestConfigDir
--- PASS: TestConfigDir (0.00s)
=== RUN   TestJSONReaderNoFile
--- PASS: TestJSONReaderNoFile (0.00s)
=== RUN   TestJSONWithPsFormatNoFile
--- PASS: TestJSONWithPsFormatNoFile (0.00s)
=== RUN   TestJSONSaveWithNoFile
--- PASS: TestJSONSaveWithNoFile (0.00s)
=== RUN   TestLoadDefaultConfigFile
=== RUN   TestLoadDefaultConfigFile/success
=== RUN   TestLoadDefaultConfigFile/permission_error
    config_test.go:376: os.Getuid() == 0: cannot test permission denied when running as root
--- PASS: TestLoadDefaultConfigFile (0.00s)
    --- PASS: TestLoadDefaultConfigFile/success (0.00s)
    --- SKIP: TestLoadDefaultConfigFile/permission_error (0.00s)
=== RUN   TestConfigPath
=== RUN   TestConfigPath/valid_path
=== RUN   TestConfigPath/valid_path_absolute_dir
=== RUN   TestConfigPath/invalid_relative_path
=== RUN   TestConfigPath/invalid_absolute_path
--- PASS: TestConfigPath (0.00s)
    --- PASS: TestConfigPath/valid_path (0.00s)
    --- PASS: TestConfigPath/valid_path_absolute_dir (0.00s)
    --- PASS: TestConfigPath/invalid_relative_path (0.00s)
    --- PASS: TestConfigPath/invalid_absolute_path (0.00s)
=== RUN   TestSetDir
--- PASS: TestSetDir (0.00s)
PASS
ok  	github.com/docker/cli/cli/config	0.010s
=== RUN   TestEncodeAuth
--- PASS: TestEncodeAuth (0.00s)
=== RUN   TestProxyConfig
--- PASS: TestProxyConfig (0.00s)
=== RUN   TestProxyConfigOverride
--- PASS: TestProxyConfigOverride (0.00s)
=== RUN   TestProxyConfigPerHost
--- PASS: TestProxyConfigPerHost (0.00s)
=== RUN   TestConfigFile
--- PASS: TestConfigFile (0.00s)
=== RUN   TestGetAllCredentialsFileStoreOnly
--- PASS: TestGetAllCredentialsFileStoreOnly (0.00s)
=== RUN   TestGetAllCredentialsCredsStore
--- PASS: TestGetAllCredentialsCredsStore (0.00s)
=== RUN   TestGetAllCredentialsCredStoreErrorHandling
time="2024-07-03T22:57:37Z" level=warning msg="Failed to get credentials for registry: broken-helper.example.com" error="an error"
--- PASS: TestGetAllCredentialsCredStoreErrorHandling (0.00s)
=== RUN   TestGetAllCredentialsCredHelper
--- PASS: TestGetAllCredentialsCredHelper (0.00s)
=== RUN   TestGetAllCredentialsFileStoreAndCredHelper
--- PASS: TestGetAllCredentialsFileStoreAndCredHelper (0.00s)
=== RUN   TestGetAllCredentialsCredStoreAndCredHelper
--- PASS: TestGetAllCredentialsCredStoreAndCredHelper (0.00s)
=== RUN   TestGetAllCredentialsCredHelperOverridesDefaultStore
--- PASS: TestGetAllCredentialsCredHelperOverridesDefaultStore (0.00s)
=== RUN   TestLoadFromReaderWithUsernamePassword
--- PASS: TestLoadFromReaderWithUsernamePassword (0.00s)
=== RUN   TestSave
--- PASS: TestSave (0.00s)
=== RUN   TestSaveCustomHTTPHeaders
--- PASS: TestSaveCustomHTTPHeaders (0.01s)
=== RUN   TestSaveWithSymlink
--- PASS: TestSaveWithSymlink (0.00s)
=== RUN   TestPluginConfig
--- PASS: TestPluginConfig (0.01s)
PASS
ok  	github.com/docker/cli/cli/config/configfile	0.025s
=== RUN   TestFileStoreAddCredentials
--- PASS: TestFileStoreAddCredentials (0.00s)
=== RUN   TestFileStoreGet
--- PASS: TestFileStoreGet (0.00s)
=== RUN   TestFileStoreGetAll
--- PASS: TestFileStoreGetAll (0.00s)
=== RUN   TestFileStoreErase
--- PASS: TestFileStoreErase (0.00s)
=== RUN   TestConvertToHostname
=== RUN   TestConvertToHostname/127.0.0.1
=== RUN   TestConvertToHostname/::1
=== RUN   TestConvertToHostname/[::1]
=== RUN   TestConvertToHostname/example.com
=== RUN   TestConvertToHostname/http://example.com
=== RUN   TestConvertToHostname/https://example.com
=== RUN   TestConvertToHostname/https://example.com/
=== RUN   TestConvertToHostname/https://example.com/v2/
=== RUN   TestConvertToHostname/unix:///var/run/docker.sock
=== RUN   TestConvertToHostname/ftp://example.com
=== RUN   TestConvertToHostname/127.0.0.1:6556
=== RUN   TestConvertToHostname/::1:6556
=== RUN   TestConvertToHostname/[::1]:6556
=== RUN   TestConvertToHostname/example.com:6555
=== RUN   TestConvertToHostname/https://127.0.0.1:6555/v2/
=== RUN   TestConvertToHostname/https://::1:6555/v2/
=== RUN   TestConvertToHostname/https://[::1]:6555/v2/
=== RUN   TestConvertToHostname/http://example.com:6555
=== RUN   TestConvertToHostname/https://example.com:6555
=== RUN   TestConvertToHostname/https://example.com:6555/v2/
--- PASS: TestConvertToHostname (0.00s)
    --- PASS: TestConvertToHostname/127.0.0.1 (0.00s)
    --- PASS: TestConvertToHostname/::1 (0.00s)
    --- PASS: TestConvertToHostname/[::1] (0.00s)
    --- PASS: TestConvertToHostname/example.com (0.00s)
    --- PASS: TestConvertToHostname/http://example.com (0.00s)
    --- PASS: TestConvertToHostname/https://example.com (0.00s)
    --- PASS: TestConvertToHostname/https://example.com/ (0.00s)
    --- PASS: TestConvertToHostname/https://example.com/v2/ (0.00s)
    --- PASS: TestConvertToHostname/unix:///var/run/docker.sock (0.00s)
    --- PASS: TestConvertToHostname/ftp://example.com (0.00s)
    --- PASS: TestConvertToHostname/127.0.0.1:6556 (0.00s)
    --- PASS: TestConvertToHostname/::1:6556 (0.00s)
    --- PASS: TestConvertToHostname/[::1]:6556 (0.00s)
    --- PASS: TestConvertToHostname/example.com:6555 (0.00s)
    --- PASS: TestConvertToHostname/https://127.0.0.1:6555/v2/ (0.00s)
    --- PASS: TestConvertToHostname/https://::1:6555/v2/ (0.00s)
    --- PASS: TestConvertToHostname/https://[::1]:6555/v2/ (0.00s)
    --- PASS: TestConvertToHostname/http://example.com:6555 (0.00s)
    --- PASS: TestConvertToHostname/https://example.com:6555 (0.00s)
    --- PASS: TestConvertToHostname/https://example.com:6555/v2/ (0.00s)
=== RUN   TestNativeStoreAddCredentials
--- PASS: TestNativeStoreAddCredentials (0.00s)
=== RUN   TestNativeStoreAddInvalidCredentials
--- PASS: TestNativeStoreAddInvalidCredentials (0.00s)
=== RUN   TestNativeStoreGet
--- PASS: TestNativeStoreGet (0.00s)
=== RUN   TestNativeStoreGetIdentityToken
--- PASS: TestNativeStoreGetIdentityToken (0.00s)
=== RUN   TestNativeStoreGetAll
--- PASS: TestNativeStoreGetAll (0.00s)
=== RUN   TestNativeStoreGetMissingCredentials
--- PASS: TestNativeStoreGetMissingCredentials (0.00s)
=== RUN   TestNativeStoreGetInvalidAddress
--- PASS: TestNativeStoreGetInvalidAddress (0.00s)
=== RUN   TestNativeStoreErase
--- PASS: TestNativeStoreErase (0.00s)
=== RUN   TestNativeStoreEraseInvalidAddress
--- PASS: TestNativeStoreEraseInvalidAddress (0.00s)
PASS
ok  	github.com/docker/cli/cli/config/credentials	(cached)
=== RUN   TestSSHFlags
--- PASS: TestSSHFlags (0.00s)
PASS
ok  	github.com/docker/cli/cli/connhelper	(cached)
=== RUN   TestEOFWithError
--- PASS: TestEOFWithError (0.00s)
=== RUN   TestEOFWithoutError
--- PASS: TestEOFWithoutError (0.00s)
=== RUN   TestCloseRunningCommand
--- PASS: TestCloseRunningCommand (0.00s)
=== RUN   TestCloseTwice
--- PASS: TestCloseTwice (0.00s)
=== RUN   TestEOFTimeout
--- PASS: TestEOFTimeout (10.00s)
=== RUN   TestCloseWhileWriting
--- PASS: TestCloseWhileWriting (0.00s)
=== RUN   TestCloseWhileReading
--- PASS: TestCloseWhileReading (0.00s)
PASS
ok  	github.com/docker/cli/cli/connhelper/commandconn	10.011s
=== RUN   TestParseURL
=== RUN   TestParseURL/ssh://foo
=== RUN   TestParseURL/ssh://me@foo:10022
=== RUN   TestParseURL/ssh://me:passw0rd@foo
=== RUN   TestParseURL/ssh://foo/bar
=== RUN   TestParseURL/ssh://foo?bar
=== RUN   TestParseURL/ssh://foo#bar
=== RUN   TestParseURL/ssh://
=== RUN   TestParseURL/foo://bar
--- PASS: TestParseURL (0.00s)
    --- PASS: TestParseURL/ssh://foo (0.00s)
    --- PASS: TestParseURL/ssh://me@foo:10022 (0.00s)
    --- PASS: TestParseURL/ssh://me:passw0rd@foo (0.00s)
    --- PASS: TestParseURL/ssh://foo/bar (0.00s)
    --- PASS: TestParseURL/ssh://foo?bar (0.00s)
    --- PASS: TestParseURL/ssh://foo#bar (0.00s)
    --- PASS: TestParseURL/ssh:// (0.00s)
    --- PASS: TestParseURL/foo://bar (0.00s)
PASS
ok  	github.com/docker/cli/cli/connhelper/ssh	(cached)
=== RUN   TestLimitReaderReadAll
--- PASS: TestLimitReaderReadAll (0.00s)
=== RUN   TestMetadataGetNotExisting
--- PASS: TestMetadataGetNotExisting (0.00s)
=== RUN   TestMetadataCreateGetRemove
--- PASS: TestMetadataCreateGetRemove (0.01s)
=== RUN   TestMetadataRespectJsonAnnotation
--- PASS: TestMetadataRespectJsonAnnotation (0.00s)
=== RUN   TestMetadataList
--- PASS: TestMetadataList (0.00s)
=== RUN   TestEmptyConfig
--- PASS: TestEmptyConfig (0.00s)
=== RUN   TestWithEmbedding
--- PASS: TestWithEmbedding (0.00s)
=== RUN   TestExportImport
--- PASS: TestExportImport (0.01s)
=== RUN   TestRemove
--- PASS: TestRemove (0.00s)
=== RUN   TestListEmptyStore
--- PASS: TestListEmptyStore (0.00s)
=== RUN   TestErrHasCorrectContext
--- PASS: TestErrHasCorrectContext (0.00s)
=== RUN   TestDetectImportContentType
--- PASS: TestDetectImportContentType (0.00s)
=== RUN   TestImportTarInvalid
--- PASS: TestImportTarInvalid (0.00s)
=== RUN   TestImportZip
--- PASS: TestImportZip (0.00s)
=== RUN   TestImportZipInvalid
--- PASS: TestImportZipInvalid (0.00s)
=== RUN   TestCorruptMetadata
--- PASS: TestCorruptMetadata (0.00s)
=== RUN   TestConfigModification
--- PASS: TestConfigModification (0.00s)
=== RUN   TestValidFilePaths
--- PASS: TestValidFilePaths (0.00s)
=== RUN   TestValidateContextName
--- PASS: TestValidateContextName (0.00s)
=== RUN   TestTlsCreateUpdateGetRemove
--- PASS: TestTlsCreateUpdateGetRemove (0.00s)
=== RUN   TestTlsListAndBatchRemove
--- PASS: TestTlsListAndBatchRemove (0.01s)
PASS
ok  	github.com/docker/cli/cli/context/store	(cached)
=== RUN   TestEnable
--- PASS: TestEnable (0.00s)
=== RUN   TestDisable
--- PASS: TestDisable (0.00s)
=== RUN   TestEnabled
--- PASS: TestEnabled (0.00s)
PASS
ok  	github.com/docker/cli/cli/debug	(cached)
=== RUN   TestClientOptionsInstallFlags
--- PASS: TestClientOptionsInstallFlags (0.00s)
=== RUN   TestClientOptionsInstallFlagsWithDefaults
--- PASS: TestClientOptionsInstallFlagsWithDefaults (0.00s)
PASS
ok  	github.com/docker/cli/cli/flags	(cached)
=== RUN   TestStoreRemove
--- PASS: TestStoreRemove (0.00s)
=== RUN   TestStoreSaveAndGet
=== RUN   TestStoreSaveAndGet/exists
=== RUN   TestStoreSaveAndGet/exist:does-not
=== RUN   TestStoreSaveAndGet/manifest:does-not-exist
--- PASS: TestStoreSaveAndGet (0.00s)
    --- PASS: TestStoreSaveAndGet/exists (0.00s)
    --- PASS: TestStoreSaveAndGet/exist:does-not (0.00s)
    --- PASS: TestStoreSaveAndGet/manifest:does-not-exist (0.00s)
=== RUN   TestStoreGetList
--- PASS: TestStoreGetList (0.00s)
=== RUN   TestStoreGetListDoesNotExist
--- PASS: TestStoreGetListDoesNotExist (0.00s)
PASS
ok  	github.com/docker/cli/cli/manifest/store	(cached)
=== RUN   TestGetTag
--- PASS: TestGetTag (0.00s)
=== RUN   TestGetDigest
--- PASS: TestGetDigest (0.00s)
=== RUN   TestGetSignableRolesError
--- PASS: TestGetSignableRolesError (0.00s)
PASS
ok  	github.com/docker/cli/cli/trust	(cached)
