diff --git a/components/engine/cmd/docker/daemon_none_test.go b/components/engine/cmd/docker/daemon_none_test.go index d75453bcc5..32032fe1b3 100644 --- a/components/engine/cmd/docker/daemon_none_test.go +++ b/components/engine/cmd/docker/daemon_none_test.go @@ -3,18 +3,15 @@ package main import ( - "strings" "testing" + + "github.com/docker/docker/pkg/testutil/assert" ) -func TestCmdDaemon(t *testing.T) { - proxy := NewDaemonProxy() - err := proxy.CmdDaemon("--help") - if err == nil { - t.Fatal("Expected CmdDaemon to fail on Windows.") - } +func TestDaemonCommand(t *testing.T) { + cmd := newDaemonCommand() + cmd.SetArgs([]string{"--help"}) + err := cmd.Execute() - if !strings.Contains(err.Error(), "Please run `dockerd`") { - t.Fatalf("Expected an error about running dockerd, got %s", err) - } + assert.Error(t, err, "Please run `dockerd`") } diff --git a/components/engine/cmd/docker/daemon_unit_test.go b/components/engine/cmd/docker/daemon_unit_test.go new file mode 100644 index 0000000000..26348a8843 --- /dev/null +++ b/components/engine/cmd/docker/daemon_unit_test.go @@ -0,0 +1,30 @@ +// +build daemon + +package main + +import ( + "testing" + + "github.com/docker/docker/pkg/testutil/assert" + "github.com/spf13/cobra" +) + +func stubRun(cmd *cobra.Command, args []string) error { + return nil +} + +func TestDaemonCommandHelp(t *testing.T) { + cmd := newDaemonCommand() + cmd.RunE = stubRun + cmd.SetArgs([]string{"--help"}) + err := cmd.Execute() + assert.NilError(t, err) +} + +func TestDaemonCommand(t *testing.T) { + cmd := newDaemonCommand() + cmd.RunE = stubRun + cmd.SetArgs([]string{"--containerd", "/foo"}) + err := cmd.Execute() + assert.NilError(t, err) +} diff --git a/components/engine/cmd/docker/daemon_unix.go b/components/engine/cmd/docker/daemon_unix.go index 30a40a8611..754bdeece3 100644 --- a/components/engine/cmd/docker/daemon_unix.go +++ b/components/engine/cmd/docker/daemon_unix.go @@ -17,8 +17,10 @@ const daemonBinary = "dockerd" func newDaemonCommand() *cobra.Command { cmd := &cobra.Command{ - Use: "daemon", - Hidden: true, + Use: "daemon", + Hidden: true, + Args: cobra.ArbitraryArgs, + DisableFlagParsing: true, RunE: func(cmd *cobra.Command, args []string) error { return runDaemon() },