diff --git a/cli-plugins/plugin/plugin.go b/cli-plugins/plugin/plugin.go index 934baed884..dfcd466ebd 100644 --- a/cli-plugins/plugin/plugin.go +++ b/cli-plugins/plugin/plugin.go @@ -31,7 +31,11 @@ func runPlugin(dockerCli *command.DockerCli, plugin *cobra.Command, meta manager PersistentPreRunE = func(_ *cobra.Command, _ []string) error { var err error persistentPreRunOnce.Do(func() { - err = tcmd.Initialize(withPluginClientConn(plugin.Name())) + var opts []command.InitializeOpt + if os.Getenv("DOCKER_CLI_PLUGIN_USE_DIAL_STDIO") != "" { + opts = append(opts, withPluginClientConn(plugin.Name())) + } + err = tcmd.Initialize(opts...) }) return err } diff --git a/e2e/cli-plugins/dial_test.go b/e2e/cli-plugins/dial_test.go index 9953f3a7a8..4072cef0eb 100644 --- a/e2e/cli-plugins/dial_test.go +++ b/e2e/cli-plugins/dial_test.go @@ -11,7 +11,11 @@ import ( "gotest.tools/icmd" ) -func TestDialStdio(t *testing.T) { +func TestCLIPluginDialStdio(t *testing.T) { + if os.Getenv("DOCKER_CLI_PLUGIN_USE_DIAL_STDIO") == "" { + t.Skip("skipping plugin dial-stdio test since DOCKER_CLI_PLUGIN_USE_DIAL_STDIO is not set") + } + // Run the helloworld plugin forcing /bin/true as the `system // dial-stdio` target. It should be passed all arguments from // before the `helloworld` arg, but not the --who=foo which