Optimize model naming (#910)
* add unit test * fix #907 * format code * format code * format code Co-authored-by: anqiansong <anqiansong@xiaoheiban.cn>
This commit is contained in:
96
tools/goctl/util/env/env_test.go
vendored
Normal file
96
tools/goctl/util/env/env_test.go
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
package env
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/tal-tech/go-zero/tools/goctl/util"
|
||||
"github.com/tal-tech/go-zero/tools/goctl/vars"
|
||||
)
|
||||
|
||||
func TestLookUpGo(t *testing.T) {
|
||||
xGo, err := LookUpGo()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
assert.True(t, util.FileExists(xGo))
|
||||
output, errOutput, err := execCommand(xGo, "version")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if len(errOutput) > 0 {
|
||||
return
|
||||
}
|
||||
assert.Equal(t, wrapVersion(), output)
|
||||
}
|
||||
|
||||
func TestLookUpProtoc(t *testing.T) {
|
||||
xProtoc, err := LookUpProtoc()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
assert.True(t, util.FileExists(xProtoc))
|
||||
output, errOutput, err := execCommand(xProtoc, "--version")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if len(errOutput) > 0 {
|
||||
return
|
||||
}
|
||||
assert.True(t, len(output) > 0)
|
||||
}
|
||||
|
||||
func TestLookUpProtocGenGo(t *testing.T) {
|
||||
xProtocGenGo, err := LookUpProtocGenGo()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
assert.True(t, util.FileExists(xProtocGenGo))
|
||||
}
|
||||
|
||||
func TestLookPath(t *testing.T) {
|
||||
xGo, err := LookPath("go")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
assert.True(t, util.FileExists(xGo))
|
||||
}
|
||||
|
||||
func TestCanExec(t *testing.T) {
|
||||
canExec := runtime.GOOS != vars.OsJs && runtime.GOOS != vars.OsIOS
|
||||
assert.Equal(t, canExec, CanExec())
|
||||
}
|
||||
|
||||
func execCommand(cmd string, arg ...string) (stdout string, stderr string, err error) {
|
||||
output := bytes.NewBuffer(nil)
|
||||
errOutput := bytes.NewBuffer(nil)
|
||||
c := exec.Command(cmd, arg...)
|
||||
c.Stdout = output
|
||||
c.Stderr = errOutput
|
||||
err = c.Run()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if errOutput.Len() > 0 {
|
||||
stderr = errOutput.String()
|
||||
return
|
||||
}
|
||||
stdout = strings.TrimSpace(output.String())
|
||||
return
|
||||
}
|
||||
|
||||
func wrapVersion() string {
|
||||
version := runtime.Version()
|
||||
os := runtime.GOOS
|
||||
arch := runtime.GOARCH
|
||||
return fmt.Sprintf("go version %s %s/%s", version, os, arch)
|
||||
}
|
||||
Reference in New Issue
Block a user