本文整理汇总了Golang中github.com/bitrise-io/go-utils/cmdex.NewCommand函数的典型用法代码示例。如果您正苦于以下问题:Golang NewCommand函数的具体用法?Golang NewCommand怎么用?Golang NewCommand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewCommand函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Test_GlobalFlagPRRun
func Test_GlobalFlagPRRun(t *testing.T) {
configPth := "global_flag_test_bitrise.yml"
secretsPth := "global_flag_test_secrets.yml"
t.Log("Should run in pr mode")
{
cmd := cmdex.NewCommand(binPath(), "--pr", "run", "primary", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
t.Log("Should run in pr mode")
{
cmd := cmdex.NewCommand(binPath(), "--pr=true", "run", "primary", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
t.Log("Should run in non pr mode")
{
cmd := cmdex.NewCommand(binPath(), "--pr=false", "run", "primary", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
}
示例2: Test_RunExitCode
func Test_RunExitCode(t *testing.T) {
configPth := "exit_code_test_bitrise.yml"
t.Log("exit_code_test_fail")
{
cmd := cmdex.NewCommand(binPath(), "run", "exit_code_test_fail", "--config", configPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
t.Log("exit_code_test_ok")
{
cmd := cmdex.NewCommand(binPath(), "run", "exit_code_test_ok", "--config", configPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
t.Log("exit_code_test_sippable_fail")
{
cmd := cmdex.NewCommand(binPath(), "run", "exit_code_test_sippable_fail", "--config", configPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
t.Log("exit_code_test_sippable_ok")
{
cmd := cmdex.NewCommand(binPath(), "run", "exit_code_test_sippable_ok", "--config", configPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
}
示例3: Test_GlobalFlagPRTrigger
func Test_GlobalFlagPRTrigger(t *testing.T) {
configPth := "global_flag_test_bitrise.yml"
secretsPth := "global_flag_test_secrets.yml"
prModeEnv := os.Getenv(configs.PRModeEnvKey)
prIDEnv := os.Getenv(configs.PullRequestIDEnvKey)
// cleanup Envs after these tests
defer func() {
require.NoError(t, os.Setenv(configs.PRModeEnvKey, prModeEnv))
require.NoError(t, os.Setenv(configs.PullRequestIDEnvKey, prIDEnv))
}()
require.NoError(t, os.Setenv(configs.PRModeEnvKey, "false"))
require.NoError(t, os.Setenv(configs.PullRequestIDEnvKey, ""))
t.Log("global flag sets pr mode")
{
cmd := cmdex.NewCommand(binPath(), "--pr", "trigger", "deprecated_pr", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
t.Log("global flag sets pr mode")
{
cmd := cmdex.NewCommand(binPath(), "--pr=true", "trigger", "deprecated_pr", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
}
示例4: Test_StepTemplate
func Test_StepTemplate(t *testing.T) {
configPth := "bitrise.yml"
t.Log("step template test")
{
cmd := cmdex.NewCommand(binPath(), "run", "test", "--config", configPth)
cmd.SetDir("step_template")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
t.Log("bash toolkit step template test")
{
cmd := cmdex.NewCommand(binPath(), "run", "test", "--config", configPth)
cmd.SetDir("bash_toolkit_step_template")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
t.Log("go toolkit step template test")
{
cmd := cmdex.NewCommand(binPath(), "run", "test", "--config", configPth)
cmd.SetDir("go_toolkit_step_template")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
}
}
示例5: Test_GlobalFlagPRTriggerCheck
func Test_GlobalFlagPRTriggerCheck(t *testing.T) {
configPth := "global_flag_test_bitrise.yml"
secretsPth := "global_flag_test_secrets.yml"
prModeEnv := os.Getenv(configs.PRModeEnvKey)
prIDEnv := os.Getenv(configs.PullRequestIDEnvKey)
// cleanup Envs after these tests
defer func() {
require.NoError(t, os.Setenv(configs.PRModeEnvKey, prModeEnv))
require.NoError(t, os.Setenv(configs.PullRequestIDEnvKey, prIDEnv))
}()
t.Log("global flag sets pr mode")
{
require.NoError(t, os.Setenv(configs.PRModeEnvKey, "false"))
require.NoError(t, os.Setenv(configs.PullRequestIDEnvKey, ""))
cmd := cmdex.NewCommand(binPath(), "--pr", "trigger-check", "deprecated_pr", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
t.Log("global flag sets pr mode")
{
require.NoError(t, os.Setenv("PR", "false"))
require.NoError(t, os.Setenv("PULL_REQUEST_ID", ""))
cmd := cmdex.NewCommand(binPath(), "--pr=true", "trigger-check", "deprecated_pr", "--config", configPth, "--inventory", secretsPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
t.Log("global flag sets NOT pr mode")
{
require.NoError(t, os.Setenv("PR", "true"))
require.NoError(t, os.Setenv("PULL_REQUEST_ID", "ID"))
cmd := cmdex.NewCommand(binPath(), "--pr=true", "trigger-check", "master", "--config", configPth, "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
require.Equal(t, `{"pattern":"master","workflow":"deprecated_pr"}`, out)
}
t.Log("global flag sets NOT pr mode")
{
require.NoError(t, os.Setenv("PR", "true"))
require.NoError(t, os.Setenv("PULL_REQUEST_ID", "ID"))
cmd := cmdex.NewCommand(binPath(), "--pr=false", "trigger-check", "master", "--config", configPth, "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err, out)
require.Equal(t, `{"pattern":"master","workflow":"deprecated_code_push"}`, out)
}
}
示例6: checkGoConfiguration
func checkGoConfiguration(goConfig GoConfigurationModel) (bool, ToolkitCheckResult, error) {
cmdEnvs := os.Environ()
if len(goConfig.GOROOT) > 0 {
cmdEnvs = append(cmdEnvs, "GOROOT="+goConfig.GOROOT)
}
verOut, err := cmdex.NewCommand(goConfig.GoBinaryPath, "version").SetEnvs(cmdEnvs).RunAndReturnTrimmedOutput()
if err != nil {
return false, ToolkitCheckResult{}, fmt.Errorf("Failed to check go version, error: %s", err)
}
verStr, err := parseGoVersionFromGoVersionOutput(verOut)
if err != nil {
return false, ToolkitCheckResult{}, fmt.Errorf("Failed to parse go version, error: %s", err)
}
checkRes := ToolkitCheckResult{
Path: goConfig.GoBinaryPath,
Version: verStr,
}
// version check
isVersionOk, err := versions.IsVersionGreaterOrEqual(verStr, minGoVersionForToolkit)
if err != nil {
return false, checkRes, fmt.Errorf("Failed to validate installed go version, error: %s", err)
}
if !isVersionOk {
return true, checkRes, nil
}
return false, checkRes, nil
}
示例7: jwtConfigFromP12KeyFile
func jwtConfigFromP12KeyFile(pth, email string) (*jwt.Config, error) {
cmd := cmdex.NewCommand("openssl", "pkcs12", "-in", pth, "-passin", "pass:notasecret", "-nodes")
var outBuffer bytes.Buffer
outWriter := bufio.NewWriter(&outBuffer)
cmd.SetStdout(outWriter)
var errBuffer bytes.Buffer
errWriter := bufio.NewWriter(&errBuffer)
cmd.SetStderr(errWriter)
if err := cmd.Run(); err != nil {
if !errorutil.IsExitStatusError(err) {
return nil, err
}
return nil, errors.New(string(errBuffer.Bytes()))
}
return &jwt.Config{
Email: email,
PrivateKey: outBuffer.Bytes(),
TokenURL: google.JWTTokenURL,
Scopes: []string{androidpublisher.AndroidpublisherScope},
}, nil
}
示例8: runLogCommand
func runLogCommand(cmdSlice []string, dir string) (string, error) {
out, err := cmdex.NewCommand(cmdSlice[0], cmdSlice[1:]...).SetDir(dir).RunAndReturnTrimmedCombinedOutput()
if err != nil {
return "", err
}
return strings.Trim(out, `"`), nil
}
示例9: Test_ValidateTest
func Test_ValidateTest(t *testing.T) {
tmpDir, err := pathutil.NormalizedOSTempDirPath("__validate_test__")
require.NoError(t, err)
defer func() {
require.NoError(t, os.RemoveAll(tmpDir))
}()
t.Log("valid bitrise.yml")
{
cmd := cmdex.NewCommand(binPath(), "validate", "-c", "trigger_params_test_bitrise.yml")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err)
require.Equal(t, "Config is valid: \x1b[32;1mtrue\x1b[0m", out)
}
t.Log("valid - warning test - `-p` flag is deprecated")
{
cmd := cmdex.NewCommand(binPath(), "validate", "-p", "trigger_params_test_bitrise.yml")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err)
require.Equal(t, "Config is valid: \x1b[32;1mtrue\x1b[0m\nWarning(s):\n- 'path' key is deprecated, use 'config' instead!", out)
}
t.Log("valid - invalid workflow id")
{
configPth := filepath.Join(tmpDir, "bitrise.yml")
require.NoError(t, fileutil.WriteStringToFile(configPth, invalidWorkflowIDBitriseYML))
cmd := cmdex.NewCommand(binPath(), "validate", "-c", configPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err)
expected := "Config is valid: \x1b[32;1mtrue\x1b[0m\nWarning(s):\n- invalid workflow ID (invalid:id): doesn't conform to: [A-Za-z0-9-_.]"
require.Equal(t, expected, out)
}
t.Log("invalid - empty bitrise.yml")
{
configPth := filepath.Join(tmpDir, "bitrise.yml")
require.NoError(t, fileutil.WriteStringToFile(configPth, emptyBitriseYML))
cmd := cmdex.NewCommand(binPath(), "validate", "-c", configPth)
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
expected := fmt.Sprintf("Config is valid: \x1b[31;1mfalse\x1b[0m\nError: \x1b[31;1mConfig (path:%s) is not valid: empty config\x1b[0m", configPth)
require.Equal(t, expected, out)
}
}
示例10: Test_ValidateTestJSON
func Test_ValidateTestJSON(t *testing.T) {
tmpDir, err := pathutil.NormalizedOSTempDirPath("__validate_test__")
require.NoError(t, err)
defer func() {
require.NoError(t, os.RemoveAll(tmpDir))
}()
t.Log("valid bitrise.yml")
{
cmd := cmdex.NewCommand(binPath(), "validate", "-c", "trigger_params_test_bitrise.yml", "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err)
require.Equal(t, "{\"data\":{\"config\":{\"is_valid\":true}}}", out)
}
t.Log("valid - warning test - `-p` flag is deprecated")
{
cmd := cmdex.NewCommand(binPath(), "validate", "-p", "trigger_params_test_bitrise.yml", "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err)
require.Equal(t, "{\"data\":{\"config\":{\"is_valid\":true}},\"warnings\":[\"'path' key is deprecated, use 'config' instead!\"]}", out)
}
t.Log("valid - invalid workflow id")
{
configPth := filepath.Join(tmpDir, "bitrise.yml")
require.NoError(t, fileutil.WriteStringToFile(configPth, invalidWorkflowIDBitriseYML))
cmd := cmdex.NewCommand(binPath(), "validate", "-c", configPth, "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.NoError(t, err)
expected := "{\"data\":{\"config\":{\"is_valid\":true,\"warnings\":[\"invalid workflow ID (invalid:id): doesn't conform to: [A-Za-z0-9-_.]\"]}}}"
require.Equal(t, expected, out)
}
t.Log("invalid - empty bitrise.yml")
{
configPth := filepath.Join(tmpDir, "bitrise.yml")
require.NoError(t, fileutil.WriteStringToFile(configPth, emptyBitriseYML))
cmd := cmdex.NewCommand(binPath(), "validate", "-c", configPth, "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
expected := fmt.Sprintf("{\"data\":{\"config\":{\"is_valid\":false,\"error\":\"Config (path:%s) is not valid: empty config\"}}}", configPth)
require.Equal(t, expected, out)
}
}
示例11: swiftVersion
func swiftVersion() (string, error) {
cmd := cmdex.NewCommand("swift", "-version")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
if err != nil {
return "", err
}
return out, nil
}
示例12: XcodeBuildVersion
// XcodeBuildVersion ...
func XcodeBuildVersion() (XcodebuildVersionModel, error) {
cmd := cmdex.NewCommand("xcodebuild", "-version")
versionOut, err := cmd.RunAndReturnTrimmedCombinedOutput()
if err != nil {
return XcodebuildVersionModel{}, err
}
return createXcodeVersionFromOutput(versionOut)
}
示例13: GetOsVersionSimulatorInfosMap
// GetOsVersionSimulatorInfosMap ...
func GetOsVersionSimulatorInfosMap() (OsVersionSimulatorInfosMap, error) {
cmd := cmdex.NewCommand("xcrun", "simctl", "list")
simctlListOut, err := cmd.RunAndReturnTrimmedCombinedOutput()
if err != nil {
return OsVersionSimulatorInfosMap{}, err
}
return getOsVersionSimulatorInfosMapFromSimctlList(simctlListOut)
}
示例14: XcprettyVersion
// XcprettyVersion ...
func XcprettyVersion() (*version.Version, error) {
cmd := cmdex.NewCommand("xcpretty", "--version")
versionOut, err := cmd.RunAndReturnTrimmedCombinedOutput()
if err != nil {
return nil, err
}
return parseXcprettyVersionOut(versionOut)
}
示例15: Test_InvalidTriggerCheck
func Test_InvalidTriggerCheck(t *testing.T) {
configPth := "trigger_check_test_empty_bitrise.yml"
secretsPth := "trigger_check_test_secrets.yml"
t.Log("Empty trigger pattern - PR mode : from secrets - is_pull_request_allowed : true")
{
cmd := cmdex.NewCommand(binPath(), "trigger-check", "", "--config", configPth, "--inventory", secretsPth, "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
t.Log("Empty triggered workflow id - PR mode : from secrets - is_pull_request_allowed : true")
{
cmd := cmdex.NewCommand(binPath(), "trigger-check", "trigger_empty_workflow_id", "--config", configPth, "--inventory", secretsPth, "--format", "json")
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
require.Error(t, err, out)
}
}