Simplify running cmd.Main() for external tests (#3636)

An external test that runs cmd.Main() has a difficulty to set cmd arguments
and MINIO_{ACCESS,SECRET}_KEY values, this commit changes a little the current
behavior in a way that helps external tests.
This commit is contained in:
Anis Elleuch 2017-01-27 00:22:41 +01:00 committed by Harshavardhana
parent cccf77229d
commit 8e49a3d047
3 changed files with 16 additions and 8 deletions

View file

@ -110,11 +110,11 @@ var (
// Minio server user agent string.
globalServerUserAgent = "Minio/" + ReleaseTag + " (" + runtime.GOOS + "; " + runtime.GOARCH + ")"
// Access key passed from the environment
globalEnvAccessKey = os.Getenv("MINIO_ACCESS_KEY")
// Global server's access key
globalEnvAccessKey = ""
// Secret key passed from the environment
globalEnvSecretKey = os.Getenv("MINIO_SECRET_KEY")
// Global server's secret key
globalEnvSecretKey = ""
// url.URL endpoints of disks that belong to the object storage.
globalEndpoints = []*url.URL{}

View file

@ -190,6 +190,8 @@ func minioInit(ctx *cli.Context) {
enableLoggers()
// Fetch access keys from environment variables and update the config.
globalEnvAccessKey = os.Getenv("MINIO_ACCESS_KEY")
globalEnvSecretKey = os.Getenv("MINIO_SECRET_KEY")
if globalEnvAccessKey != "" && globalEnvSecretKey != "" {
// Set new credentials.
serverConfig.SetCredential(credential{
@ -210,7 +212,7 @@ func minioInit(ctx *cli.Context) {
}
// Main main for minio server.
func Main() {
func Main(args []string, exitFn func(int)) {
app := registerApp()
app.Before = func(c *cli.Context) error {
// Valid input arguments to main.
@ -224,5 +226,7 @@ func Main() {
}
// Run the app - exit on error.
app.RunAndExitOnError()
if err := app.Run(args); err != nil {
exitFn(1)
}
}

View file

@ -22,8 +22,12 @@
package main // import "github.com/minio/minio"
import minio "github.com/minio/minio/cmd"
import (
"os"
minio "github.com/minio/minio/cmd"
)
func main() {
minio.Main()
minio.Main(os.Args, os.Exit)
}