浏览代码

Do not display exit status when classic cli exit in error

Guillaume Tardif 5 年之前
父节点
当前提交
54141a9bdd
共有 3 个文件被更改,包括 8 次插入1 次删除
  1. 0 1
      cli/dockerclassic/exec.go
  2. 6 0
      tests/e2e/e2e_test.go
  3. 2 0
      tests/e2e/testdata/unknown-foo-command.golden

+ 0 - 1
cli/dockerclassic/exec.go

@@ -27,7 +27,6 @@ func Exec(ctx context.Context) {
 		cmd.Stderr = os.Stderr
 		if err := cmd.Run(); err != nil {
 			if exiterr, ok := err.(*exec.ExitError); ok {
-				fmt.Fprintln(os.Stderr, exiterr.Error())
 				os.Exit(exiterr.ExitCode())
 			}
 			fmt.Fprintln(os.Stderr, err)

+ 6 - 0
tests/e2e/e2e_test.go

@@ -156,6 +156,12 @@ func (s *E2eSuite) TestLegacy() {
 	})
 }
 
+func (s *E2eSuite) TestLeaveLegacyErrorMessagesUnchanged() {
+	output, err := s.NewDockerCommand("foo").Exec()
+	golden.Assert(s.T(), output, "unknown-foo-command.golden")
+	Expect(err).NotTo(BeNil())
+}
+
 func (s *E2eSuite) TestMockBackend() {
 	It("creates a new test context to hardcoded example backend", func() {
 		s.NewDockerCommand("context", "create", "test-example", "example").ExecOrDie()

+ 2 - 0
tests/e2e/testdata/unknown-foo-command.golden

@@ -0,0 +1,2 @@
+docker: 'foo' is not a docker command.
+See 'docker --help'