From 9d59ce8a7f66443c9a512593b020a8248c2e4e1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arda=20G=C3=BC=C3=A7l=C3=BC?= Date: Fri, 8 Nov 2019 00:06:59 +0300 Subject: [PATCH] cmd/go-contrib-init: add unit test for the cmdErr function Change-Id: I5f03eb6ea220befb15e5318634124d1b5005e0b1 Reviewed-on: https://go-review.googlesource.com/c/tools/+/205799 Reviewed-by: Brad Fitzpatrick --- cmd/go-contrib-init/contrib_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/cmd/go-contrib-init/contrib_test.go b/cmd/go-contrib-init/contrib_test.go index c151f020dd..94764b0138 100644 --- a/cmd/go-contrib-init/contrib_test.go +++ b/cmd/go-contrib-init/contrib_test.go @@ -1,7 +1,13 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + package main import ( + "errors" "os" + "os/exec" "runtime" "testing" ) @@ -33,3 +39,21 @@ func TestExpandUser(t *testing.T) { } } } + +func TestCmdErr(t *testing.T) { + tests := []struct { + input error + want string + }{ + {input: errors.New("cmd error"), want: "cmd error"}, + {input: &exec.ExitError{ProcessState: nil, Stderr: nil}, want: ""}, + {input: &exec.ExitError{ProcessState: nil, Stderr: []byte("test")}, want: ": test"}, + } + + for i, tt := range tests { + got := cmdErr(tt.input) + if got != tt.want { + t.Fatalf("%d. got %q, want %q", i, got, tt.want) + } + } +}